Andrew:
  The patch is good to me.  Reviewed-by: Gao, Liming 
[email protected]<mailto:[email protected]>

Thanks
Liming
From: Andrew Fish [mailto:[email protected]]
Sent: Monday, April 07, 2014 2:53 AM
To: [email protected]
Subject: Re: [edk2] [EdkCompatibilityPkg maintainer]


On Apr 3, 2014, at 8:51 PM, Gao, Liming 
<[email protected]<mailto:[email protected]>> wrote:


Andrew:
  This patch also fixes GCC assembly issue. Here, [rcx] should store the 
absolute address. So, you use leaq instruction to get it. Right?


Yes. It is just the RIP relative form of the instruction. It avoids a 
relocation.

Thanks,

Andrew Fish


Thanks
Liming
From: Andrew Fish [mailto:[email protected]]
Sent: Wednesday, April 02, 2014 12:21 PM
To: [email protected]<mailto:[email protected]>
Subject: [edk2] [EdkCompatibilityPkg maintainer]

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
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to