On Apr 3, 2014, at 8:51 PM, Gao, Liming <[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] > 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] > https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
_______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
