summaryrefslogtreecommitdiff
path: root/Core
diff options
context:
space:
mode:
authorMichael Kinney <michael.d.kinney@intel.com>2017-05-11 15:35:21 -0700
committerGuo Mang <mang.guo@intel.com>2017-07-12 11:24:47 +0800
commit7cd1028120e3e4db21ed7314cfe59f26e8b63262 (patch)
tree3b8cbce79b34ad98d6763ffc60cd33ca9abe8829 /Core
parent828d11638d93a3148b3c6505b6ff4d338f824792 (diff)
downloadedk2-platforms-7cd1028120e3e4db21ed7314cfe59f26e8b63262.tar.xz
UefiCpuPkg/PiSmmCpuDxeSmm: Add missing JMP instruction
https://bugzilla.tianocore.org/show_bug.cgi?id=555 Add JMP instruction in SmiEntry.S file that is missing. This updates SmiEntry.S to match the logic in SmiEntry.asm and SmiEntry.nasm. The default BUILDRULEORDER has .nasm higher priority than .asm or .S, so this issue was not seen with MSFT or GCC tool chain families. The XCODE5 tool chain overrides the BUILDRULEORDER with .S higher than .nasm, so this issue was only seen when using XCODE5 tool chain when IA32 SMM is enabled. Cc: Jeff Fan <jeff.fan@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit 0d0a19cb14ba6867813f56a52cfc89545ad07f3a)
Diffstat (limited to 'Core')
-rw-r--r--Core/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/Core/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S b/Core/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
index 62f1697efa..3243a91a12 100644
--- a/Core/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
+++ b/Core/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -159,6 +159,7 @@ L13:
rdmsr
orw $MSR_EFER_XD,%ax # enable NXE
wrmsr
+ jmp NxeDone
SkipNxe:
subl $4, %esp
NxeDone: