soc/amd/common/smi_handler: Print warning when receiving an SCI SMI

We don't have any infrastructure setup to handle SCI SMIs. Instead of
just silently ignoring the SMI, print a warning saying that it is
being ignored.

BUG=none
TEST=Trigger an SCI SMI and see warning printed.

Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: I803e572250925b7d5ffdbb3e8958f9aff1f808df
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52674
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Raul E Rangel 2021-04-26 09:55:42 -06:00 committed by Felix Held
parent a35f1810a2
commit 3ad24c7137
1 changed files with 5 additions and 1 deletions

View File

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#include <amdblocks/acpimmio.h> #include <amdblocks/acpimmio.h>
#include <console/console.h>
#include <amdblocks/smi.h> #include <amdblocks/smi.h>
#include <amdblocks/smm.h> #include <amdblocks/smm.h>
#include <cpu/x86/smm.h> #include <cpu/x86/smm.h>
@ -34,9 +35,12 @@ void southbridge_smi_handler(void)
{ {
const uint16_t smi_src = smi_read16(SMI_REG_POINTER); const uint16_t smi_src = smi_read16(SMI_REG_POINTER);
if (smi_src & SMI_STATUS_SRC_SCI) if (smi_src & SMI_STATUS_SRC_SCI) {
printk(BIOS_WARNING, "Ignoring SCI SMI: %#x\n", smi_read32(SMI_SCI_STATUS));
/* Clear events to prevent re-entering SMI if event isn't handled */ /* Clear events to prevent re-entering SMI if event isn't handled */
clear_smi_sci_status(); clear_smi_sci_status();
}
if (smi_src & SMI_STATUS_SRC_0) if (smi_src & SMI_STATUS_SRC_0)
process_smi_sources(SMI_REG_SMISTS0); process_smi_sources(SMI_REG_SMISTS0);
if (smi_src & SMI_STATUS_SRC_1) if (smi_src & SMI_STATUS_SRC_1)