summaryrefslogtreecommitdiff
path: root/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
diff options
context:
space:
mode:
Diffstat (limited to 'ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S')
-rw-r--r--ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
index cfb5de8..3e94c49 100644
--- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
+++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
@@ -12,6 +12,12 @@ ASM_FUNC(_ModuleEntryPoint)
// Do early platform specific actions
bl ASM_PFX(ArmPlatformPeiBootAction)
+#if (FixedPcdGet32 (PcdVFPEnabled))
+ // Enable Floating Point. AArch64 uses hardfloat ABI so needs this done before
+ // calling any C code. Arm does not, but let's keep the ports aligned.
+ bl ArmEnableVFP
+#endif
+
// Get ID of this CPU in Multicore system
bl ASM_PFX(ArmReadMpidr)
// Keep a copy of the MpId register value