From 66edb631f8a284a9a0884eb6a41a603112dbff52 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Wed, 10 Aug 2016 15:50:25 +0200 Subject: ArmPlatformPkg RVCT: drop dependency on GCC macro library The RVCT .asm files include AsmMacroIoLib.h only for the definition of LoadConstantToReg (), which makes it tedious to make change to that file without the risk of making the RVCT assembler unhappy. So simply replace LoadConstantToReg() with mov32, which does the right thing in all cases. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm --- .../Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm | 7 +++---- .../Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm | 13 +++---------- .../Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm | 12 +++--------- .../Library/ArmVExpressSecLibCTA9x4/CTA9x4Boot.asm | 5 ++--- 4 files changed, 11 insertions(+), 26 deletions(-) (limited to 'ArmPlatformPkg/ArmVExpressPkg/Library') diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm index f377cf2e72..c035843da0 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm @@ -11,7 +11,6 @@ // // -#include #include #include @@ -48,7 +47,7 @@ ArmPlatformGetCorePosition FUNCTION ArmPlatformIsPrimaryCore FUNCTION // Extract cpu_id and cluster_id from ARM_SCC_CFGREG48 // with cpu_id[0:3] and cluster_id[4:7] - LoadConstantToReg (ARM_CTA15A7_SCC_CFGREG48, r1) + mov32 r1, ARM_CTA15A7_SCC_CFGREG48 ldr r1, [r1] lsr r1, #24 @@ -62,7 +61,7 @@ ArmPlatformIsPrimaryCore FUNCTION orr r1, r1, r2 // Keep the Cluster ID and Core ID from the MPID - LoadConstantToReg (ARM_CLUSTER_MASK :OR: ARM_CORE_MASK, r2) + mov32 r2, ARM_CLUSTER_MASK :OR: ARM_CORE_MASK and r0, r0, r2 // Compare mpid and boot cpu from ARM_SCC_CFGREG48 @@ -79,7 +78,7 @@ ArmPlatformIsPrimaryCore FUNCTION ArmPlatformGetPrimaryCoreMpId FUNCTION // Extract cpu_id and cluster_id from ARM_SCC_CFGREG48 // with cpu_id[0:3] and cluster_id[4:7] - LoadConstantToReg (ARM_CTA15A7_SCC_CFGREG48, r0) + mov32 r0, ARM_CTA15A7_SCC_CFGREG48 ldr r0, [r0] lsr r0, #24 diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm index aa48ed730e..877b4b4a1e 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm @@ -11,7 +11,6 @@ // // -#include #include #include @@ -23,9 +22,6 @@ EXPORT ArmPlatformGetPrimaryCoreMpId EXPORT ArmPlatformGetCorePosition - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask - AREA CTA9x4Helper, CODE, READONLY //UINTN @@ -33,8 +29,7 @@ // VOID // ); ArmPlatformGetPrimaryCoreMpId FUNCTION - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0) - ldr r0, [r0] + mov32 r0, FixedPcdGet32(PcdArmPrimaryCore) bx lr ENDFUNC @@ -43,11 +38,9 @@ ArmPlatformGetPrimaryCoreMpId FUNCTION // IN UINTN MpId // ); ArmPlatformIsPrimaryCore FUNCTION - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1) - ldr r1, [r1] + mov32 r1, FixedPcdGet32(PcdArmPrimaryCoreMask) and r0, r0, r1 - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1) - ldr r1, [r1] + mov32 r1, FixedPcdGet32(PcdArmPrimaryCore) cmp r0, r1 moveq r0, #1 movne r0, #0 diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm index f4ad51d36e..66068e6595 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm @@ -11,7 +11,6 @@ // // -#include #include #include #include @@ -28,9 +27,6 @@ EXPORT ArmPlatformGetPrimaryCoreMpId EXPORT ArmPlatformGetCorePosition - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore - IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask - AREA RTSMHelper, CODE, READONLY ArmPlatformPeiBootAction FUNCTION @@ -52,8 +48,7 @@ ArmGetScuBaseAddress FUNCTION // VOID // ); ArmPlatformGetPrimaryCoreMpId FUNCTION - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0) - ldr r0, [r0] + mov32 r0, FixedPcdGet32(PcdArmPrimaryCore) bx lr ENDFUNC @@ -99,10 +94,9 @@ _Return // IN UINTN MpId // ); ArmPlatformIsPrimaryCore FUNCTION - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1) - ldr r1, [r1] + mov32 r1, FixedPcdGet32(PcdArmPrimaryCoreMask) and r0, r0, r1 - LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1) + mov32 r1, FixedPcdGet32(PcdArmPrimaryCore) ldr r1, [r1] cmp r0, r1 moveq r0, #1 diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/CTA9x4Boot.asm b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/CTA9x4Boot.asm index 16fab1605b..06ce3776fc 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/CTA9x4Boot.asm +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/CTA9x4Boot.asm @@ -11,7 +11,6 @@ // // -#include #include #include #include @@ -90,7 +89,7 @@ ArmPlatformSecBootMemoryInit // // Initialize PL354 SMC // - LoadConstantToReg (ARM_VE_SMC_CTRL_BASE, r1) + mov32 r1, ARM_VE_SMC_CTRL_BASE ldr r2, =VersatileExpressSmcConfiguration ldr r3, =VersatileExpressSmcConfigurationEnd blx PL35xSmcInitialize @@ -98,7 +97,7 @@ ArmPlatformSecBootMemoryInit // // Page mode setup for VRAM // - LoadConstantToReg (VRAM_MOTHERBOARD_BASE, r2) + mov32 r2, VRAM_MOTHERBOARD_BASE // Read current state ldr r0, [r2, #0] -- cgit v1.2.3