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>
14 ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable
[] = {
19 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
20 (EFI_PHYSICAL_ADDRESS
)0,
21 (EFI_PHYSICAL_ADDRESS
)0,
22 (EFI_PHYSICAL_ADDRESS
)0,
29 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
30 (EFI_PHYSICAL_ADDRESS
)0,
31 (EFI_PHYSICAL_ADDRESS
)0,
32 (EFI_PHYSICAL_ADDRESS
)0,
39 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
40 (EFI_PHYSICAL_ADDRESS
)0,
41 (EFI_PHYSICAL_ADDRESS
)0,
42 (EFI_PHYSICAL_ADDRESS
)0,
49 // MP Core MailBox Set/Get/Clear Addresses and Clear Value
50 (EFI_PHYSICAL_ADDRESS
)0,
51 (EFI_PHYSICAL_ADDRESS
)0,
52 (EFI_PHYSICAL_ADDRESS
)0,
57 // This function should be better located into TimerLib implementation
68 Return the current Boot Mode
70 This function returns the boot reason on the platform
74 ArmPlatformGetBootMode (
78 return BOOT_WITH_FULL_CONFIGURATION
;
82 Initialize controllers that must setup in the normal world
84 This function is called by the ArmPlatformPkg/PrePi or ArmPlatformPkg/PlatformPei
89 ArmPlatformInitialize (
93 if (!ArmPlatformIsPrimaryCore (MpId
)) {
94 return RETURN_SUCCESS
;
99 return RETURN_SUCCESS
;
103 PrePeiCoreGetMpCoreInfo (
104 OUT UINTN
*CoreCount
,
105 OUT ARM_CORE_INFO
**ArmCoreTable
108 if (ArmIsMpCore ()) {
109 *CoreCount
= sizeof (mArmPlatformNullMpCoreInfoTable
) / sizeof (ARM_CORE_INFO
);
110 *ArmCoreTable
= mArmPlatformNullMpCoreInfoTable
;
113 return EFI_UNSUPPORTED
;
117 ARM_MP_CORE_INFO_PPI mMpCoreInfoPpi
= { PrePeiCoreGetMpCoreInfo
};
119 EFI_PEI_PPI_DESCRIPTOR gPlatformPpiTable
[] = {
121 EFI_PEI_PPI_DESCRIPTOR_PPI
,
122 &gArmMpCoreInfoPpiGuid
,
128 ArmPlatformGetPlatformPpiList (
129 OUT UINTN
*PpiListSize
,
130 OUT EFI_PEI_PPI_DESCRIPTOR
**PpiList
133 if (ArmIsMpCore ()) {
134 *PpiListSize
= sizeof (gPlatformPpiTable
);
135 *PpiList
= gPlatformPpiTable
;