2 // Copyright (c) 2012-2013, ARM Limited. All rights reserved.
4 // SPDX-License-Identifier: BSD-2-Clause-Patent
8 #include <Library/ArmLib.h>
10 INCLUDE AsmMacroIoLib.inc
12 EXPORT ArmPlatformPeiBootAction
13 EXPORT ArmPlatformGetCorePosition
14 EXPORT ArmPlatformGetPrimaryCoreMpId
15 EXPORT ArmPlatformIsPrimaryCore
17 IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore
18 IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask
21 AREA ArmPlatformNullHelper, CODE, READONLY
23 ArmPlatformPeiBootAction FUNCTION
28 //ArmPlatformGetCorePosition (
31 ArmPlatformGetCorePosition FUNCTION
32 and r1, r0, #ARM_CORE_MASK
33 and r0, r0, #ARM_CLUSTER_MASK
34 add r0, r1, r0, LSR #7
39 //ArmPlatformGetPrimaryCoreMpId (
42 ArmPlatformGetPrimaryCoreMpId FUNCTION
43 mov32 r0, FixedPcdGet32(PcdArmPrimaryCore)
48 //ArmPlatformIsPrimaryCore (
51 ArmPlatformIsPrimaryCore FUNCTION
52 mov32 r1, FixedPcdGet32(PcdArmPrimaryCoreMask)
54 mov32 r1, FixedPcdGet32(PcdArmPrimaryCore)