>
> Mike:
> Your issue is that X64 version doesn't work on machine with UG feature. You
> find it can work when "call dword .Base" is used instead of "o32 call
> dword .Base". So, your question is why o32 prefix used. Right?
>
Yes. But in case absent UG feature I got a warning also.
And I'm bit confused with a listing produced by objdump.
Another place that confuses me:
objdump -zD
Build/PkgX64/DEBUG_GCC47/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/Thunk16.obj
68: 2e 66 89 87 83 00 mov %eax,%cs:0x83(%bx)
6e: 66 b8 00 00 00 00 mov $0x0,%eax
74: 0f 22 e0 mov %eax,%cr4
0000000000000075 <_BackFromUserCode.SavedCr4End>:
75: 22 e0 and %al,%ah
77: 2e 66 0f 01 57 ed lgdtl %cs:-0x13(%bx)
7d: 66 b9 80 00 00 c0 mov $0xc0000080,%ecx
mov eax, strict dword 0
.SavedCr4End:
mov cr4, eax
o32 lgdt [cs:bx + (SavedGdt - .Base)]
mov ecx, 0c0000080h
And it looks good in other mentioned cases.
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel