[coreboot-gerrit] New patch to review for coreboot: soc/intel/common: fix gsmi handler

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Sat Aug 6 04:32:44 CEST 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16087

-gerrit

commit 90283ca2f9ae17fa8aba7282da5cf702987cd9b1
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Fri Aug 5 21:26:53 2016 -0500

    soc/intel/common: fix gsmi handler
    
    The gsmi_exec() expects the parameter to be a pointer
    to the 32-bit register storage of the SMI save state.
    The previous code was passing a pointer with the value
    obtained from the saved-state -- not a pointer to the
    storage of the register value. This bug causes gsmi
    to not log events because it's interrogating the
    parameter buffer itself as if it were a pointer.
    
    BUG=chrome-os-partner:55932
    
    Change-Id: I37981424f1414edad1456b31cad1b99020d57db6
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/soc/intel/common/smihandler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/soc/intel/common/smihandler.c b/src/soc/intel/common/smihandler.c
index f0c913f..e27752b 100644
--- a/src/soc/intel/common/smihandler.c
+++ b/src/soc/intel/common/smihandler.c
@@ -221,7 +221,7 @@ static void southbridge_smi_gsmi(const struct
 	reg_ebx = save_state_ops->get_reg(io_smi, RBX);
 
 	/* drivers/elog/gsmi.c */
-	ret = gsmi_exec(sub_command, (u32 *)(uintptr_t)reg_ebx);
+	ret = gsmi_exec(sub_command, &reg_ebx);
 	save_state_ops->set_reg(io_smi, RAX, ret);
 }
 



More information about the coreboot-gerrit mailing list