/** @file * * Copyright (c) 2014-2016, Linaro Limited. All rights reserved. * Copyright (c) 2014, Red Hat, Inc. * Copyright (c) 2011-2013, ARM Limited. All rights reserved. * * * SPDX-License-Identifier: BSD-2-Clause-Patent * **/ #include #include #include #include #include /** Return the current Boot Mode This function returns the boot reason on the platform @return Return the current Boot Mode of the platform **/ EFI_BOOT_MODE ArmPlatformGetBootMode ( VOID ) { return BOOT_WITH_FULL_CONFIGURATION; } /** This function is called by PrePeiCore, in the SEC phase. **/ RETURN_STATUS ArmPlatformInitialize ( IN UINTN MpId ) { return RETURN_SUCCESS; } VOID ArmPlatformInitializeSystemMemory ( VOID ) { } STATIC ARM_CORE_INFO mRpi3InfoTable[] = { { 0x0, 0x0, }, // Cluster 0, Core 0 { 0x0, 0x1, }, // Cluster 0, Core 1 { 0x0, 0x2, }, // Cluster 0, Core 2 { 0x0, 0x3, }, // Cluster 0, Core 3 }; STATIC EFI_STATUS PrePeiCoreGetMpCoreInfo ( OUT UINTN *CoreCount, OUT ARM_CORE_INFO **ArmCoreTable ) { // Only support one cluster *CoreCount = sizeof (mRpi3InfoTable) / sizeof (ARM_CORE_INFO); *ArmCoreTable = mRpi3InfoTable; return EFI_SUCCESS; } STATIC ARM_MP_CORE_INFO_PPI mMpCoreInfoPpi = { PrePeiCoreGetMpCoreInfo }; STATIC EFI_PEI_PPI_DESCRIPTOR mPlatformPpiTable[] = { { EFI_PEI_PPI_DESCRIPTOR_PPI, &gArmMpCoreInfoPpiGuid, &mMpCoreInfoPpi } }; VOID ArmPlatformGetPlatformPpiList ( OUT UINTN *PpiListSize, OUT EFI_PEI_PPI_DESCRIPTOR **PpiList ) { *PpiListSize = sizeof (mPlatformPpiTable); *PpiList = mPlatformPpiTable; }