]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Include/AsmMacroIoLib.inc
OvmfPkg/PlatformPei: align EmuVariableNvStore at any page boundary
[mirror_edk2.git] / ArmPkg / Include / AsmMacroIoLib.inc
index c9cad5230c94112c47cdd28c2665bd04c94c618b..ce7a1488daea088c0b42b11790b589e5c7e21307 100644 (file)
 \r
 \r
   MACRO\r
-  LoadConstantMacro $Data\r
-  ldr  r0, =($Data)\r
+  adrll   $Reg, $Symbol\r
+  add     $Reg, pc, #-8\r
+  RELOC   R_ARM_ALU_PC_G0_NC, $Symbol\r
+  add     $Reg, $Reg, #-4\r
+  RELOC   R_ARM_ALU_PC_G1_NC, $Symbol\r
+  add     $Reg, $Reg, #0\r
+  RELOC   R_ARM_ALU_PC_G2, $Symbol\r
   MEND\r
 \r
   MACRO\r
-  LoadConstantToRegMacro $Data, $Reg\r
-  ldr  $Reg, =($Data)\r
+  ldrl    $Reg, $Symbol\r
+  add     $Reg, pc, #-8\r
+  RELOC   R_ARM_ALU_PC_G0_NC, $Symbol\r
+  add     $Reg, $Reg, #-4\r
+  RELOC   R_ARM_ALU_PC_G1_NC, $Symbol\r
+  ldr     $Reg, [$Reg, #0]\r
+  RELOC   R_ARM_LDR_PC_G2, $Symbol\r
   MEND\r
 \r
   END\r