Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/45761 )
Change subject: soc/intel/broadwell: Update GNVS using common save state accessors ......................................................................
soc/intel/broadwell: Update GNVS using common save state accessors
Change-Id: I66970b5d4d6408ed1810146d03a803e1cd54951d Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/intel/broadwell/smihandler.c 1 file changed, 7 insertions(+), 42 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/45761/1
diff --git a/src/soc/intel/broadwell/smihandler.c b/src/soc/intel/broadwell/smihandler.c index 8068a3c..ee0a817 100644 --- a/src/soc/intel/broadwell/smihandler.c +++ b/src/soc/intel/broadwell/smihandler.c @@ -9,7 +9,7 @@ #include <cpu/x86/cache.h> #include <device/pci_def.h> #include <cpu/x86/smm.h> -#include <cpu/intel/em64t101_save_state.h> +#include <cpu/x86/save_state.h> #include <spi-generic.h> #include <elog.h> #include <halt.h> @@ -235,46 +235,9 @@ } }
-/* - * Look for Synchronous IO SMI and use save state from that - * core in case we are not running on the same core that - * initiated the IO transaction. - */ -static em64t101_smm_state_save_area_t *smi_apmc_find_state_save(u8 cmd) -{ - em64t101_smm_state_save_area_t *state; - int node; - - /* Check all nodes looking for the one that issued the IO */ - for (node = 0; node < CONFIG_MAX_CPUS; node++) { - state = smm_get_save_state(node); - - /* Check for Synchronous IO (bit0==1) */ - if (!(state->io_misc_info & (1 << 0))) - continue; - - /* Make sure it was a write (bit4==0) */ - if (state->io_misc_info & (1 << 4)) - continue; - - /* Check for APMC IO port */ - if (((state->io_misc_info >> 16) & 0xff) != APM_CNT) - continue; - - /* Check AX against the requested command */ - if ((state->rax & 0xff) != cmd) - continue; - - return state; - } - - return NULL; -} - static void southbridge_smi_apmc(void) { u8 reg8; - em64t101_smm_state_save_area_t *state;
/* Emulate B2 register as the FADT / Linux expects it */
@@ -300,10 +263,12 @@ "SMI#: SMM structures already initialized!\n"); return; } - state = smi_apmc_find_state_save(reg8); - if (state) { - /* EBX in the state save contains the GNVS pointer */ - gnvs = (struct global_nvs *)((u32)state->rbx); + int node = get_apmc_node(reg8); + if (node >= 0) { + if (get_save_state_reg(RBX, node, &gnvs, sizeof(gnvs))) { + printk(BIOS_ERR, "SMI#: ERROR: unable to get GNVS pointer\n"); + return; + } if (smm_points_to_smram(gnvs, sizeof(*gnvs))) { printk(BIOS_ERR, "SMI#: ERROR: GNVS overlaps SMM\n"); return;
Hello build bot (Jenkins), Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/45761
to look at the new patch set (#10).
Change subject: soc/intel/broadwell: Update GNVS using common save state accessors ......................................................................
soc/intel/broadwell: Update GNVS using common save state accessors
Change-Id: I66970b5d4d6408ed1810146d03a803e1cd54951d Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/intel/broadwell/pch/smihandler.c 1 file changed, 7 insertions(+), 42 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/45761/10
Hello build bot (Jenkins), Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/45761
to look at the new patch set (#11).
Change subject: soc/intel/broadwell: Update GNVS using common save state accessors ......................................................................
soc/intel/broadwell: Update GNVS using common save state accessors
Change-Id: I66970b5d4d6408ed1810146d03a803e1cd54951d Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/intel/broadwell/pch/smihandler.c 1 file changed, 7 insertions(+), 42 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/45761/11
Hello build bot (Jenkins), Patrick Rudolph,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/45761
to look at the new patch set (#12).
Change subject: soc/intel/broadwell: Update GNVS using common save state accessors ......................................................................
soc/intel/broadwell: Update GNVS using common save state accessors
Change-Id: I66970b5d4d6408ed1810146d03a803e1cd54951d Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/soc/intel/broadwell/pch/smihandler.c 1 file changed, 7 insertions(+), 42 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/45761/12
Arthur Heymans has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/45761 )
Change subject: soc/intel/broadwell: Update GNVS using common save state accessors ......................................................................
Abandoned
gnvs is passed as reloc param.