summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-12-17 09:50:55 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-12-18 11:20:55 +0000
commit089285b42c69b3e105070a3deb349eaf1c50d35b (patch)
treee1660162ab03831e550a3c7bc51b1983fd535762
parent96201ae7bf97c3a2c0ef386110bb93d25e9af1ba (diff)
downloadedk2-089285b42c69b3e105070a3deb349eaf1c50d35b.tar.gz
edk2-089285b42c69b3e105070a3deb349eaf1c50d35b.tar.bz2
edk2-089285b42c69b3e105070a3deb349eaf1c50d35b.zip
Revert "UefiCpuPkg/CpuDxe: Fix boot error"
This reverts commit cee5b0441af39dd6f76cc4e0447a1c7f788cbb00. Commit cee5b0441af3 ("UefiCpuPkg/CpuDxe: Fix boot error", 2020-12-08) breaks CpuDxe (and with it, OVMF boot) on AMD processors. AMD processors cannot do far jumps to 64-bit targets, as documented in the AMD64 Architecture Programmer's Manual. Revert the patch until a RETFQ-based substitute is posted. Cc: Eric Dong <eric.dong@intel.com> Cc: Guo Dong <guo.dong@intel.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Thomas Lendacky <thomas.lendacky@amd.com> Ref: https://edk2.groups.io/g/devel/message/68597 Ref: https://www.redhat.com/archives/edk2-devel-archive/2020-December/msg00493.html Reported-by: Thomas Lendacky <thomas.lendacky@amd.com> Ref: https://edk2.groups.io/g/devel/message/68832 Ref: https://www.redhat.com/archives/edk2-devel-archive/2020-December/msg00737.html Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20201217085055.15131-1-lersek@redhat.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3121 [lersek@redhat.com: add BZ link]
-rw-r--r--UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm4
1 files changed, 2 insertions, 2 deletions
diff --git a/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm b/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm
index 6ad32b49f4..c3489bcc3e 100644
--- a/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm
+++ b/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm
@@ -23,8 +23,8 @@ ASM_PFX(SetCodeSelector):
sub rsp, 0x10
lea rax, [setCodeSelectorLongJump]
mov [rsp], rax
- mov [rsp+8], cx
- jmp qword far [rsp]
+ mov [rsp+4], cx
+ jmp dword far [rsp]
setCodeSelectorLongJump:
add rsp, 0x10
ret