The patch is good Reviewed-by: Gao, Liming <liming....@intel.com>
Thanks Liming -----Original Message----- From: Jordan Justen [mailto:jordan.l.jus...@intel.com] Sent: Friday, August 29, 2014 3:22 PM To: edk2-devel@lists.sourceforge.net Subject: [edk2] [PATCH] MdePkg BaseLib NASM Thunk16: Initialize _16GdtrBase to 0 Previously we were setting it to the start of the GDT in the UEFI driver's copy of BaseLib. This address is irrelavent, since the C code will initialize it to the cooresponding address after the Thunk16 code has been placed in low memory. Additionally, initializing this was causing a link error for the XCLANG toolchain. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> Cc: Sergey Isakov <isakov...@bk.ru> --- Sergey, Does this work for you on XCLANG? (I tested GCC49.) I also updated my nasm branch with these changes and the other changes discussed. (ASM_PFX, _NullSeg, o32 call dword .Base) https://github.com/jljusten/edk2.git nasm -Jordan MdePkg/Library/BaseLib/Ia32/Thunk16.nasm | 2 +- MdePkg/Library/BaseLib/X64/Thunk16.nasm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MdePkg/Library/BaseLib/Ia32/Thunk16.nasm b/MdePkg/Library/BaseLib/Ia32/Thunk16.nasm index e992250..0d4be9d 100644 --- a/MdePkg/Library/BaseLib/Ia32/Thunk16.nasm +++ b/MdePkg/Library/BaseLib/Ia32/Thunk16.nasm @@ -139,7 +139,7 @@ _16Idtr: _16Gdtr: DW GdtEnd - _NullSegDesc - 1 _16GdtrBase: - DD _NullSegDesc + DD 0 ;------------------------------------------------------------------------------ ; _ToUserCode() takes control in real mode before passing control to user code. diff --git a/MdePkg/Library/BaseLib/X64/Thunk16.nasm b/MdePkg/Library/BaseLib/X64/Thunk16.nasm index d15984b..6084fac 100644 --- a/MdePkg/Library/BaseLib/X64/Thunk16.nasm +++ b/MdePkg/Library/BaseLib/X64/Thunk16.nasm @@ -145,7 +145,7 @@ _EntryPoint: _16Gdtr: DW GDT_SIZE - 1 _16GdtrBase: - DQ _NullSeg + DQ 0 _16Idtr: DW (1 << 10) - 1 DD 0 -- 2.1.0 ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel