]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPlatformPkg/ArmPlatformLibNull: switch to ASM_FUNC() asm macro
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 10 Aug 2016 14:54:12 +0000 (16:54 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 11 Aug 2016 11:25:05 +0000 (13:25 +0200)
Annotate functions with ASM_FUNC() so that they are emitted into
separate sections.

While we're at it, replace some inefficient uses of LoadConstantToReg()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
ArmPlatformPkg/Library/ArmPlatformLibNull/AArch64/ArmPlatformHelper.S
ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S

index 8c099b469e0e3299c859a685be76b52493c4459e..2f4cf95cbf13487de05aa2de476d6e93ed6b386b 100644 (file)
 #include <AsmMacroIoLibV8.h>\r
 #include <Library/ArmLib.h>\r
 \r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
+ASM_FUNC(ArmPlatformPeiBootAction)\r
   ret\r
 \r
 //UINTN\r
@@ -33,7 +22,7 @@ ASM_PFX(ArmPlatformPeiBootAction):
 //  IN UINTN MpId\r
 //  );\r
 // With this function: CorePos = (ClusterId * 4) + CoreId\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
+ASM_FUNC(ArmPlatformGetCorePosition)\r
   and   x1, x0, #ARM_CORE_MASK\r
   and   x0, x0, #ARM_CLUSTER_MASK\r
   add   x0, x1, x0, LSR #6\r
@@ -43,21 +32,18 @@ ASM_PFX(ArmPlatformGetCorePosition):
 //ArmPlatformGetPrimaryCoreMpId (\r
 //  VOID\r
 //  );\r
-ASM_PFX(ArmPlatformGetPrimaryCoreMpId):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, x0)\r
-  ldrh  w0, [x0]\r
+ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)\r
+  MOV32  (w0, FixedPcdGet32 (PcdArmPrimaryCore))\r
   ret\r
 \r
 //UINTN\r
 //ArmPlatformIsPrimaryCore (\r
 //  IN UINTN MpId\r
 //  );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, x1)\r
-  ldrh  w1, [x1]\r
+ASM_FUNC(ArmPlatformIsPrimaryCore)\r
+  MOV32  (w1, FixedPcdGet32 (PcdArmPrimaryCoreMask))\r
   and   x0, x0, x1\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, x1)\r
-  ldrh  w1, [x1]\r
+  MOV32  (w1, FixedPcdGet32 (PcdArmPrimaryCore))\r
   cmp   w0, w1\r
   mov   x0, #1\r
   mov   x1, #0\r
index e52ea5afa2cba9e567d90085dbbfde666321b617..bd517e6e16c1b6eb2da712efc2d6bb891dbc4fdb 100644 (file)
 #include <AsmMacroIoLib.h>\r
 #include <Library/ArmLib.h>\r
 \r
-.text\r
-.align 2\r
-\r
-GCC_ASM_EXPORT(ArmPlatformPeiBootAction)\r
-GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
-GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
-GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
-\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
-GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
-\r
-ASM_PFX(ArmPlatformPeiBootAction):\r
+ASM_FUNC(ArmPlatformPeiBootAction)\r
   bx    lr\r
 \r
 //UINTN\r
 //ArmPlatformGetCorePosition (\r
 //  IN UINTN MpId\r
 //  );\r
-ASM_PFX(ArmPlatformGetCorePosition):\r
+ASM_FUNC(ArmPlatformGetCorePosition)\r
   and   r1, r0, #ARM_CORE_MASK\r
   and   r0, r0, #ARM_CLUSTER_MASK\r
   add   r0, r1, r0, LSR #7\r
@@ -42,21 +31,18 @@ ASM_PFX(ArmPlatformGetCorePosition):
 //ArmPlatformGetPrimaryCoreMpId (\r
 //  VOID\r
 //  );\r
-ASM_PFX(ArmPlatformGetPrimaryCoreMpId):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
-  ldr   r0, [r0]\r
+ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)\r
+  MOV32  (r0, FixedPcdGet32 (PcdArmPrimaryCore))\r
   bx    lr\r
 \r
 //UINTN\r
 //ArmPlatformIsPrimaryCore (\r
 //  IN UINTN MpId\r
 //  );\r
-ASM_PFX(ArmPlatformIsPrimaryCore):\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
-  ldr   r1, [r1]\r
+ASM_FUNC(ArmPlatformIsPrimaryCore)\r
+  MOV32  (r1, FixedPcdGet32 (PcdArmPrimaryCoreMask))\r
   and   r0, r0, r1\r
-  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
-  ldr   r1, [r1]\r
+  MOV32  (r1, FixedPcdGet32 (PcdArmPrimaryCore))\r
   cmp   r0, r1\r
   moveq r0, #1\r
   movne r0, #0\r