Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/42426 )
Change subject: sb/intel/i82801gx,ix,jx: Drop invalid GNVS update routine ......................................................................
sb/intel/i82801gx,ix,jx: Drop invalid GNVS update routine
The smm_setup_structures() calls placed GNVS address into register %ebx. Old code on i82801dx used these low memory addresses.
Change-Id: I407b9b9fd44db027a62356e2470f6c39ed3bff49 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/42426 Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: HAOUAS Elyes ehaouas@noos.fr Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/southbridge/intel/i82801gx/smihandler.c M src/southbridge/intel/i82801ix/smihandler.c M src/southbridge/intel/i82801jx/smihandler.c 3 files changed, 9 insertions(+), 25 deletions(-)
Approvals: build bot (Jenkins): Verified HAOUAS Elyes: Looks good to me, approved Angel Pons: Looks good to me, but someone else must approve
diff --git a/src/southbridge/intel/i82801gx/smihandler.c b/src/southbridge/intel/i82801gx/smihandler.c index 7aee63b..562dae3 100644 --- a/src/southbridge/intel/i82801gx/smihandler.c +++ b/src/southbridge/intel/i82801gx/smihandler.c @@ -21,11 +21,9 @@ u16 pmbase = DEFAULT_PMBASE; u8 smm_initialized = 0;
-void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) -{ - gnvs = *(struct global_nvs **)0x500; - *smm_done = 1; -} +/* This implementation was removed since it was invalid. There will be one shared + approach to set GNVS pointer into SMM without the 0xEA PM Trap mentioned above. */ +void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) { }
int southbridge_io_trap_handler(int smif) { diff --git a/src/southbridge/intel/i82801ix/smihandler.c b/src/southbridge/intel/i82801ix/smihandler.c index c352e5d..699f51f 100644 --- a/src/southbridge/intel/i82801ix/smihandler.c +++ b/src/southbridge/intel/i82801ix/smihandler.c @@ -14,8 +14,9 @@ struct global_nvs *gnvs; #endif
-void *tcg = (void *)0x0; -void *smi1 = (void *)0x0; +/* This implementation was removed since it was invalid. There will be one shared + approach to set GNVS pointer into SMM without the 0xEA PM Trap mentioned above. */ +void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) { }
int southbridge_io_trap_handler(int smif) { @@ -34,14 +35,6 @@ return 0; }
-void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) -{ - gnvs = *(struct global_nvs **)0x500; - tcg = *(void **)0x504; - smi1 = *(void **)0x508; - *smm_done = 1; -} - void southbridge_smi_monitor(void) { #define IOTRAP(x) (trap_sts & (1 << x)) diff --git a/src/southbridge/intel/i82801jx/smihandler.c b/src/southbridge/intel/i82801jx/smihandler.c index b6161e9..16ec025 100644 --- a/src/southbridge/intel/i82801jx/smihandler.c +++ b/src/southbridge/intel/i82801jx/smihandler.c @@ -15,8 +15,9 @@ u16 pmbase = DEFAULT_PMBASE; u8 smm_initialized = 0;
-void *tcg = (void *)0x0; -void *smi1 = (void *)0x0; +/* This implementation was removed since it was invalid. There will be one shared + approach to set GNVS pointer into SMM without the 0xEA PM Trap mentioned above. */ +void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) { }
int southbridge_io_trap_handler(int smif) { @@ -35,14 +36,6 @@ return 0; }
-void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) -{ - gnvs = *(struct global_nvs **)0x500; - tcg = *(void **)0x504; - smi1 = *(void **)0x508; - *smm_done = 1; -} - void southbridge_smi_monitor(void) { #define IOTRAP(x) (trap_sts & (1 << x))