summaryrefslogtreecommitdiff
path: root/Core/UefiCpuPkg/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Core/UefiCpuPkg/Library')
-rw-r--r--Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm6
-rw-r--r--Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm15
2 files changed, 13 insertions, 8 deletions
diff --git a/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm b/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
index 94888d5aec..91dc1eb3d3 100644
--- a/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
+++ b/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
@@ -1,5 +1,5 @@
;------------------------------------------------------------------------------ ;
-; 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
@@ -201,7 +201,7 @@ CommonHandler:
call eax
add esp, 4
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @f
@@ -221,7 +221,7 @@ _StmSmiHandler:
; Check XD disable bit
;
xor esi, esi
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @StmXdDone
diff --git a/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm b/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
index 7c04ad91f2..d0ae14713c 100644
--- a/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
+++ b/Core/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
@@ -1,5 +1,5 @@
;------------------------------------------------------------------------------ ;
-; 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
@@ -26,11 +26,16 @@ EXTERNDEF gcStmPsd:BYTE
EXTERNDEF SmmStmExceptionHandler:PROC
EXTERNDEF SmmStmSetup:PROC
EXTERNDEF SmmStmTeardown:PROC
+EXTERNDEF gStmXdSupported:BYTE
CODE_SEL = 08h
DATA_SEL = 20h
TSS_SEL = 40h
+MSR_IA32_MISC_ENABLE EQU 1A0h
+MSR_EFER EQU 0c0000080h
+MSR_EFER_XD EQU 0800h
+
.data
gcStmPsd LABEL BYTE
@@ -88,7 +93,7 @@ _OnStmSetup PROC
; Check XD disable bit
;
xor esi, esi
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @StmXdDone1
@@ -109,7 +114,7 @@ _OnStmSetup PROC
call SmmStmSetup
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @f
@@ -130,7 +135,7 @@ _OnStmTeardown PROC
; Check XD disable bit
;
xor esi, esi
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @StmXdDone2
@@ -151,7 +156,7 @@ _OnStmTeardown PROC
call SmmStmTeardown
- mov eax, gStmXdSupported
+ mov eax, offset gStmXdSupported
mov al, [eax]
cmp al, 0
jz @f