diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S index 9c040b17f2..cc8b47e690 100644 --- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S @@ -14,8 +14,6 @@ #include -ASM_GLOBAL ASM_PFX(mSystemMemoryEnd) - ASM_FUNC(_ModuleEntryPoint) // // We are built as a ET_DYN PIE executable, so we need to process all @@ -68,8 +66,6 @@ _SetupStackPosition: ldr x2, PcdGet64 (PcdSystemMemorySize) sub x2, x2, #1 add x1, x1, x2 // x1 = SystemMemoryTop = PcdSystemMemoryBase + PcdSystemMemorySize - adr x2, mSystemMemoryEnd - str x1, [x2] // Calculate Top of the Firmware Device ldr x2, PcdGet64 (PcdFdBaseAddress) @@ -151,5 +147,3 @@ _PrepareArguments: _NeverReturn: b _NeverReturn - -ASM_PFX(mSystemMemoryEnd): .8byte 0 diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S index e03aeefbb0..59028d0a55 100644 --- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S @@ -14,8 +14,6 @@ #include -ASM_GLOBAL ASM_PFX(mSystemMemoryEnd) - ASM_FUNC(_ModuleEntryPoint) // // We are built as a ET_DYN PIE executable, so we need to process all @@ -66,12 +64,10 @@ _SetupStackPosition: ADRL (r12, PcdGet64 (PcdSystemMemorySize)) ldrd r2, r3, [r12] - // calculate the top of memory, and record it in mSystemMemoryEnd + // calculate the top of memory adds r2, r2, r1 sub r2, r2, #1 addcs r3, r3, #1 - adr r12, mSystemMemoryEnd - strd r2, r3, [r12] // truncate the memory used by UEFI to 4 GB range teq r3, #0 @@ -159,5 +155,3 @@ _PrepareArguments: _NeverReturn: b _NeverReturn - -ASM_PFX(mSystemMemoryEnd): .quad 0 diff --git a/ArmVirtPkg/PrePi/PrePi.h b/ArmVirtPkg/PrePi/PrePi.h index 9b828377ad..d3189c0b8a 100644 --- a/ArmVirtPkg/PrePi/PrePi.h +++ b/ArmVirtPkg/PrePi/PrePi.h @@ -29,8 +29,6 @@ #define SerialPrint(txt) SerialPortWrite (txt, AsciiStrLen(txt)+1); -extern UINT64 mSystemMemoryEnd; - RETURN_STATUS EFIAPI TimerConstructor (