]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Drivers/CpuDxe/ExceptionSupport.ARMv6.S
Fix build break on Apple Xcode, caused by fixing normal gcc build break.
[mirror_edk2.git] / ArmPkg / Drivers / CpuDxe / ExceptionSupport.ARMv6.S
index edf3d4723f2184113d56dee7f0f417bd1ec95449..9db6756c7ba1371fe99227427e4b145e8c80fcbe 100644 (file)
@@ -57,6 +57,9 @@ This is the stack constructed by the exception handler (low address to high addr
 .globl ASM_PFX(CommonCExceptionHandler)
 
 .text
+#if !defined(__APPLE__)
+.fpu neon    @ makes vpush/vpop assemble
+#endif
 .align 3
 
 
@@ -246,6 +249,9 @@ NoAdjustNeeded:
                                     @ R0 is ExceptionType 
   mov       R1,SP                   @ R1 is SystemContext 
 
+  vpush     {d0-d15}                @ save vstm registers in case they are used in optimizations
+
+
 /* 
 VOID
 EFIAPI
@@ -257,6 +263,8 @@ CommonCExceptionHandler (
 */  
   blx       ASM_PFX(CommonCExceptionHandler)  @ Call exception handler
 
+  vpop      {d0-d15}  
+
   ldr       R1, [SP, #0x4c]         @ Restore EFI_SYSTEM_CONTEXT_ARM.IFSR
   mcr       p15, 0, R1, c5, c0, 1   @ Write IFSR