diff options
author | Liming Gao <liming.gao@intel.com> | 2016-06-14 16:35:08 +0800 |
---|---|---|
committer | Liming Gao <liming.gao@intel.com> | 2016-06-28 09:52:16 +0800 |
commit | e1f0eed1b2a9954428708bd91243f981e3161301 (patch) | |
tree | a01354cdaaeb532c2b6969a3a6614b3d245737cb /DuetPkg/EfiLdr | |
parent | 78cf66eebbdbc4e6b068923185d6c61c549a7279 (diff) | |
download | edk2-platforms-e1f0eed1b2a9954428708bd91243f981e3161301.tar.xz |
UefiCpuPkg PiSmmCpuDxeSmm: Update X64/MpFuncs.nasm
Use 16bit and 32bit assembly code to replace hard code db.
In V2: add 0x67 prefixes to far jumps
Without the a32 modifier under FLAT32_JUMP, and the a16 modifier under
LONG_JUMP, nasm doesn't generate the 0x67 prefixes, and the far jumps
don't work. (For the former, KVM returns an emulation failure. For the
latter, KVM performs a triple fault (guest reboot).) By forcing the 0x67
prefixes we end up with the same machine code as the one open-coded in
"MpFuncs.asm".
This bug breaks S3 resume in the Ia32X64 + SMM_REQUIRE build of OVMF.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'DuetPkg/EfiLdr')
0 files changed, 0 insertions, 0 deletions