]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
ArmPlatformPkg RVCT: drop dependency on GCC macro library
[mirror_edk2.git] / ArmPlatformPkg / PrePi / Arm / ModuleEntryPoint.asm
index a20e3fde0bda5febe4746f68cc8aa8e7670bc4a9..023339841f7529fedc6cdef465ad8261df03ec02 100644 (file)
 //\r
 //\r
 \r
-#include <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/PcdLib.h>\r
 #include <AutoGen.h>\r
-\r
 #include <Chipset/ArmV7.h>\r
 \r
   INCLUDE AsmMacroIoLib.inc\r
@@ -59,8 +55,8 @@ _SystemMemoryEndInit
   cmp   r1, #0\r
   bne   _SetupStackPosition\r
 \r
-  LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryBase), r1)\r
-  LoadConstantToReg (FixedPcdGet32(PcdSystemMemorySize), r2)\r
+  mov32 r1, FixedPcdGet32(PcdSystemMemoryBase)\r
+  mov32 r2, FixedPcdGet32(PcdSystemMemorySize)\r
   sub   r2, r2, #1\r
   add   r1, r1, r2\r
   // Update the global variable\r
@@ -71,13 +67,13 @@ _SetupStackPosition
   // r1 = SystemMemoryTop\r
 \r
   // Calculate Top of the Firmware Device\r
-  LoadConstantToReg (FixedPcdGet32(PcdFdBaseAddress), r2)\r
-  LoadConstantToReg (FixedPcdGet32(PcdFdSize), r3)\r
+  mov32 r2, FixedPcdGet32(PcdFdBaseAddress)\r
+  mov32 r3, FixedPcdGet32(PcdFdSize)\r
   sub   r3, r3, #1\r
   add   r3, r3, r2      // r3 = FdTop = PcdFdBaseAddress + PcdFdSize\r
 \r
   // UEFI Memory Size (stacks are allocated in this region)\r
-  LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryUefiRegionSize), r4)\r
+  mov32 r4, FixedPcdGet32(PcdSystemMemoryUefiRegionSize)\r
 \r
   //\r
   // Reserve the memory for the UEFI region (contain stacks on its top)\r
@@ -108,7 +104,7 @@ _SetupAlignedStack
 _SetupOverflowStack\r
   // Case memory at the top of the address space. Ensure the top of the stack is EFI_PAGE_SIZE\r
   // aligned (4KB)\r
-  LoadConstantToReg (EFI_PAGE_MASK, r9)\r
+  mov32 r9, EFI_PAGE_MASK\r
   and   r9, r9, r1\r
   sub   r1, r1, r9\r
 \r
@@ -119,22 +115,19 @@ _GetBaseUefiMemory
 _GetStackBase\r
   // r1 = The top of the Mpcore Stacks\r
   // Stack for the primary core = PrimaryCoreStack\r
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)\r
+  mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)\r
   sub   r10, r1, r2\r
 \r
   // Stack for the secondary core = Number of Cores - 1\r
-  LoadConstantToReg (FixedPcdGet32(PcdCoreCount), r0)\r
-  sub   r0, r0, #1\r
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoreSecondaryStackSize), r1)\r
-  mul   r1, r1, r0\r
+  mov32 r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize)\r
   sub   r10, r10, r1\r
 \r
   // r10 = The base of the MpCore Stacks (primary stack & secondary stacks)\r
   mov   r0, r10\r
   mov   r1, r8\r
   //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize)\r
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)\r
-  LoadConstantToReg (FixedPcdGet32(PcdCPUCoreSecondaryStackSize), r3)\r
+  mov32 r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize)\r
+  mov32 r3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize)\r
   bl    ArmPlatformStackSet\r
 \r
   // Is it the Primary Core ?\r