3 Copyright (c) 2011-2012, ARM Limited. All rights reserved.
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #include <Library/ArmLib.h>
10 #include <Library/ArmPlatformLib.h>
12 #include <Ppi/ArmMpCoreInfo.h>
15 ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable
[] = {
20 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
21 (EFI_PHYSICAL_ADDRESS
)0,
22 (EFI_PHYSICAL_ADDRESS
)0,
23 (EFI_PHYSICAL_ADDRESS
)0,
30 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
31 (EFI_PHYSICAL_ADDRESS
)0,
32 (EFI_PHYSICAL_ADDRESS
)0,
33 (EFI_PHYSICAL_ADDRESS
)0,
40 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
41 (EFI_PHYSICAL_ADDRESS
)0,
42 (EFI_PHYSICAL_ADDRESS
)0,
43 (EFI_PHYSICAL_ADDRESS
)0,
50 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
51 (EFI_PHYSICAL_ADDRESS
)0,
52 (EFI_PHYSICAL_ADDRESS
)0,
53 (EFI_PHYSICAL_ADDRESS
)0,
58 // This function should be better located into TimerLib implementation
69 Return the current Boot Mode
71 This function returns the boot reason on the platform
75 ArmPlatformGetBootMode (
79 return BOOT_WITH_FULL_CONFIGURATION
;
83 Initialize controllers that must setup in the normal world
85 This function is called by the ArmPlatformPkg/PrePi or ArmPlatformPkg/PlatformPei
90 ArmPlatformInitialize (
94 if (!ArmPlatformIsPrimaryCore (MpId
)) {
95 return RETURN_SUCCESS
;
100 return RETURN_SUCCESS
;
104 PrePeiCoreGetMpCoreInfo (
105 OUT UINTN
*CoreCount
,
106 OUT ARM_CORE_INFO
**ArmCoreTable
110 *CoreCount
= sizeof(mArmPlatformNullMpCoreInfoTable
) / sizeof(ARM_CORE_INFO
);
111 *ArmCoreTable
= mArmPlatformNullMpCoreInfoTable
;
114 return EFI_UNSUPPORTED
;
118 ARM_MP_CORE_INFO_PPI mMpCoreInfoPpi
= { PrePeiCoreGetMpCoreInfo
};
120 EFI_PEI_PPI_DESCRIPTOR gPlatformPpiTable
[] = {
122 EFI_PEI_PPI_DESCRIPTOR_PPI
,
123 &gArmMpCoreInfoPpiGuid
,
129 ArmPlatformGetPlatformPpiList (
130 OUT UINTN
*PpiListSize
,
131 OUT EFI_PEI_PPI_DESCRIPTOR
**PpiList
135 *PpiListSize
= sizeof(gPlatformPpiTable
);
136 *PpiList
= gPlatformPpiTable
;