This patch fixes a clang assembler porting issue (the port was not completed). 
It should be compatible with GCC.

Please review and commit. 

Thanks,

Andrew Fish

Contributed-under: TianoCore Contribution Agreement 1.0


~/work/edk2>svn diff --diff-cmd diff 
EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/X64/MpFuncs.S
Index: 
EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/X64/MpFuncs.S
===================================================================
--- 
EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/X64/MpFuncs.S
        (revision 15426)
+++ 
EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/X64/MpFuncs.S
        (working copy)
@@ -196,15 +196,11 @@
 # comments here for definition of address map
 ASM_GLOBAL ASM_PFX(AsmGetAddressMap)
 ASM_PFX(AsmGetAddressMap):
-#ifdef __APPLE__
-        int          $3
-#else
-        movq         $RendezvousFunnelProcStart, %rax
+        leaq         RendezvousFunnelProcStart(%rip), %rax
         movq         %rax, (%rcx)
         movq         $(ProtectedModeStart - RendezvousFunnelProcStart), 
0x08(%rcx)
         movq         $(FLAT32_JUMP - RendezvousFunnelProcStart), 0x10(%rcx)
         movq         $(LongModeStart - RendezvousFunnelProcStart), 0x18(%rcx)
         movq         $(LONG_JUMP - RendezvousFunnelProcStart), 0x20(%rcx)
         movq         $(RendezvousFunnelProcEnd - RendezvousFunnelProcStart), 
0x28(%rcx)
-#endif
         ret

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to