diff --git a/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S b/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S index 0950fd0c0c..9e2e49d62f 100644 --- a/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S +++ b/ArmPlatformPkg/PrePeiCore/AArch64/PrePeiCoreEntryPoint.S @@ -76,6 +76,9 @@ _PrepareArguments: // Ensure we're jumping to FV version of the code (not boot remapped alias) ldr x3, =ASM_PFX(CEntryPoint) + // Set the frame pointer to NULL so any backtraces terminate here + mov x29, xzr + // Jump to PrePeiCore C code // x0 = mp_id // x1 = pei_core_address diff --git a/ArmPlatformPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmPlatformPkg/PrePi/AArch64/ModuleEntryPoint.S index a81709d5d1..2069161b95 100644 --- a/ArmPlatformPkg/PrePi/AArch64/ModuleEntryPoint.S +++ b/ArmPlatformPkg/PrePi/AArch64/ModuleEntryPoint.S @@ -109,6 +109,9 @@ _PrepareArguments: // Ensure we're jumping to FV version of the code (not boot remapped alias) ldr x4, =ASM_PFX(CEntryPoint) + // Set the frame pointer to NULL so any backtraces terminate here + mov x29, xzr + // Jump to PrePiCore C code // x0 = MpId // x1 = UefiMemoryBase