[coreboot-gerrit] Change in coreboot[master]: cpu/x86/smm/smihandler: Cosmetic changes
Patrick Rudolph (Code Review)
gerrit at coreboot.org
Sat Jun 10 10:25:43 CEST 2017
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/20146
Change subject: cpu/x86/smm/smihandler: Cosmetic changes
......................................................................
cpu/x86/smm/smihandler: Cosmetic changes
Use define for SSA base address.
Move EM64T area to 0x7c00 and add reserved area of size 0x100,
as there's no indication that the address 0x7d00 exists on any
platform.
No functional change.
Change-Id: I38c405c8977f5dd571e0da3a44fcad4738b696b2
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M src/cpu/x86/smm/smihandler.c
M src/include/cpu/x86/smm.h
2 files changed, 22 insertions(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/46/20146/1
diff --git a/src/cpu/x86/smm/smihandler.c b/src/cpu/x86/smm/smihandler.c
index 19e53e6..16415ba 100644
--- a/src/cpu/x86/smm/smihandler.c
+++ b/src/cpu/x86/smm/smihandler.c
@@ -153,12 +153,14 @@
case 0x00030007:
state_save.type = LEGACY;
state_save.legacy_state_save =
- smm_save_state(smm_base, 0x7e00, node);
+ smm_save_state(smm_base,
+ SMM_LEGACY_ARCH_OFFSET, node);
break;
case 0x00030100:
state_save.type = EM64T;
state_save.em64t_state_save =
- smm_save_state(smm_base, 0x7d00, node);
+ smm_save_state(smm_base,
+ SMM_EM64T_ARCH_OFFSET, node);
break;
case 0x00030101: /* SandyBridge, IvyBridge, and Haswell */
state_save.type = EM64T101;
@@ -169,7 +171,8 @@
case 0x00030064:
state_save.type = AMD64;
state_save.amd64_state_save =
- smm_save_state(smm_base, 0x7e00, node);
+ smm_save_state(smm_base,
+ SMM_AMD64_ARCH_OFFSET, node);
break;
default:
printk(BIOS_DEBUG, "smm_revision: 0x%08x\n", smm_revision);
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h
index 1892119..a88537b 100644
--- a/src/include/cpu/x86/smm.h
+++ b/src/include/cpu/x86/smm.h
@@ -32,6 +32,11 @@
#define SMM_ENTRY_OFFSET 0x8000
#define SMM_SAVE_STATE_BEGIN(x) (SMM_ENTRY_OFFSET + (x))
+/* AMD64 x86 SMM State-Save Area
+ * starts @ 0x7e00
+ */
+#define SMM_AMD64_ARCH_OFFSET 0x7e00
+
typedef struct {
u16 es_selector;
u16 es_attributes;
@@ -128,16 +133,20 @@
/* Intel Core 2 (EM64T) SMM State-Save Area
- * starts @ 0x7d00
+ * starts @ 0x7c00
*/
+#define SMM_EM64T_ARCH_OFFSET 0x7c00
+#define SMM_EM64T_SAVE_STATE_OFFSET \
+ SMM_SAVE_STATE_BEGIN(SMM_EM64T_ARCH_OFFSET)
typedef struct {
- u8 reserved0[208];
+ u8 reserved0[256];
+ u8 reserved1[208];
u32 gdtr_upper_base;
u32 ldtr_upper_base;
u32 idtr_upper_base;
- u8 reserved1[4];
+ u8 reserved2[4];
u64 io_rdi;
u64 io_rip;
@@ -145,13 +154,13 @@
u64 io_rsi;
u64 cr4;
- u8 reserved2[68];
+ u8 reserved3[68];
u64 gdtr_base;
u64 idtr_base;
u64 ldtr_base;
- u8 reserved3[84];
+ u8 reserved4[84];
u32 smm_revision;
u32 smbase;
@@ -159,7 +168,7 @@
u16 io_restart;
u16 autohalt_restart;
- u8 reserved4[24];
+ u8 reserved5[24];
u64 r15;
u64 r14;
@@ -394,6 +403,7 @@
/* Legacy x86 SMM State-Save Area
* starts @ 0x7e00
*/
+#define SMM_LEGACY_ARCH_OFFSET 0x7e00
typedef struct {
u8 reserved0[248];
--
To view, visit https://review.coreboot.org/20146
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I38c405c8977f5dd571e0da3a44fcad4738b696b2
Gerrit-Change-Number: 20146
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>
More information about the coreboot-gerrit
mailing list