diff options
author | Michael Kinney <michael.d.kinney@intel.com> | 2016-11-28 14:13:24 -0800 |
---|---|---|
committer | Michael Kinney <michael.d.kinney@intel.com> | 2016-12-01 11:07:13 -0800 |
commit | f12367a0b1de7838f1cb8e0839e168ed7b862333 (patch) | |
tree | c014f342a7c0287aac89f488f6969e043b24c2e8 /UefiCpuPkg/PiSmmCpuDxeSmm/Ia32 | |
parent | 26ab5ac3621bdefe96987f8c1512ca79e1bb7ac0 (diff) | |
download | edk2-f12367a0b1de7838f1cb8e0839e168ed7b862333.tar.gz edk2-f12367a0b1de7838f1cb8e0839e168ed7b862333.tar.bz2 edk2-f12367a0b1de7838f1cb8e0839e168ed7b862333.zip |
UefiCpuPkg/PiSmmCpuDxeSmm: Remove PSD layout assumptions
https://bugzilla.tianocore.org/show_bug.cgi?id=277
Remove dependency on layout of PROCESSOR_SMM_DESCRIPTOR
everywhere possible. The only exception is the standard
SMI entry handler template that is included with the
PiSmmCpuDxeSmm module. This allows an instance of the
SmmCpuFeaturesLib to provide alternate
PROCESSOR_SMM_DESCRIPTOR structure layouts.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Diffstat (limited to 'UefiCpuPkg/PiSmmCpuDxeSmm/Ia32')
-rw-r--r-- | UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S | 3 | ||||
-rw-r--r-- | UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm | 3 | ||||
-rw-r--r-- | UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S index 0c075582c3..378e06520c 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S @@ -31,6 +31,9 @@ ASM_GLOBAL ASM_PFX(gSmiHandlerIdtr) .equ MSR_EFER, 0xc0000080
.equ MSR_EFER_XD, 0x800
+#
+# Constants relating to PROCESSOR_SMM_DESCRIPTOR
+#
.equ DSC_OFFSET, 0xfb00
.equ DSC_GDTPTR, 0x30
.equ DSC_GDTSIZ, 0x38
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm index eda1708e3f..a4f4dcbda6 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm @@ -26,6 +26,9 @@ MSR_IA32_MISC_ENABLE EQU 1A0h MSR_EFER EQU 0c0000080h
MSR_EFER_XD EQU 0800h
+;
+; Constants relating to PROCESSOR_SMM_DESCRIPTOR
+;
DSC_OFFSET EQU 0fb00h
DSC_GDTPTR EQU 30h
DSC_GDTSIZ EQU 38h
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm index d50a3170aa..4d2383ff97 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm @@ -22,6 +22,9 @@ %define MSR_EFER 0xc0000080
%define MSR_EFER_XD 0x800
+;
+; Constants relating to PROCESSOR_SMM_DESCRIPTOR
+;
%define DSC_OFFSET 0xfb00
%define DSC_GDTPTR 0x30
%define DSC_GDTSIZ 0x38
|