[coreboot] Patch set updated for coreboot: e0260d8 SMM: Fix save state searching for GSMI

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Nov 13 01:33:29 CET 2012


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1774

-gerrit

commit e0260d807f83d9e7e7b9c3b405b9388d580dfc3b
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Wed Oct 10 12:11:55 2012 -0700

    SMM: Fix save state searching for GSMI
    
    The search for save state was comparing the entire RAX
    value when it needs to just operate on the bottom byte
    so it can find the GSMI command in bits 7:0 but not the
    extended command code in bits 15:8.
    
    Change-Id: I526c60e6b3732fa3680a17a4bed2a2ef23ccf94f
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
---
 src/southbridge/intel/bd82x6x/smihandler.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c
index 4cad88b..804607c 100644
--- a/src/southbridge/intel/bd82x6x/smihandler.c
+++ b/src/southbridge/intel/bd82x6x/smihandler.c
@@ -429,7 +429,7 @@ static void southbridge_smi_sleep(unsigned int node, smm_state_save_area_t *stat
  * 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(u64 cmd)
+static em64t101_smm_state_save_area_t *smi_apmc_find_state_save(u8 cmd)
 {
 	em64t101_smm_state_save_area_t *state;
 	u32 base = smi_get_tseg_base() + 0x8000 + 0x7d00;
@@ -453,7 +453,7 @@ static em64t101_smm_state_save_area_t *smi_apmc_find_state_save(u64 cmd)
 			continue;
 
 		/* Check AX against the requested command */
-		if (state->rax != cmd)
+		if ((state->rax & 0xff) != cmd)
 			continue;
 
 		return state;




More information about the coreboot mailing list