mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
UPSTREAM: 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 BRANCH=None TEST=None Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/16087 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Change-Id: I37981424f1414edad1456b31cad1b99020d57db6 Reviewed-on: https://chromium-review.googlesource.com/368281 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
81409d4602
commit
b404ff39cf
1 changed files with 1 additions and 1 deletions
|
@ -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, ®_ebx);
|
||||
save_state_ops->set_reg(io_smi, RAX, ret);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue