From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.302.1606945120999054446 for ; Wed, 02 Dec 2020 13:38:41 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: guo.dong@intel.com) IronPort-SDR: 6R0zCErtEh/GYUFsU0ESEkCuUVDr0QT7RAlH7hNRaorfIF/4weP4C+komKRQVvAUJuntZB0Tmq s4vo+kvpsvgg== X-IronPort-AV: E=McAfee;i="6000,8403,9823"; a="173252879" X-IronPort-AV: E=Sophos;i="5.78,387,1599548400"; d="scan'208";a="173252879" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2020 13:38:40 -0800 IronPort-SDR: UvFOCQhYg81ogtu5Qy61ysI/g2EbH5oKRLQfNT87tnGR+sHiD5FJUo8BdGQxDgibvUEjsRC54S iww1OtH9WwoQ== X-IronPort-AV: E=Sophos;i="5.78,387,1599548400"; d="scan'208";a="550222857" Received: from gdong1-mobl.amr.corp.intel.com ([10.209.110.193]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2020 13:38:39 -0800 From: "Guo Dong" To: devel@edk2.groups.io Cc: eric.dong@intel.com, ray.ni@intel.com, lersek@redhat.com, rahul1.kumar@intel.com Subject: [edk2-devel] [PATCH] UefiCpuPkg/CpuDxe: Fix boot error Date: Wed, 2 Dec 2020 14:38:33 -0700 Message-Id: <20201202213833.23316-1-guo.dong@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3084 When DXE drivers are dispatched above 4GB memory and the system is already in 64bit mode, the address setCodeSelectorLongJump in stack will be override by parameter. so change to use 64bit address and jump to qword address. Signed-off-by: Guo Dong --- UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm b/UefiCpuPkg/CpuDxe/X64/CpuAsm.nasm index c3489bcc3e..6ad32b49f4 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+4], cx - jmp dword far [rsp] + mov [rsp+8], cx + jmp qword far [rsp] setCodeSelectorLongJump: add rsp, 0x10 ret -- 2.16.2.windows.1