intel/smm: make TCO INTRUDER# SMI optional
Some platforms can have INTRUDER# asserted continuously. If it is routed to SMI, this can cause an SMI storm and prevent boot. Introduce SOC_INTEL_COMMON_BLOCK_SMM_TCO_INTRUDER_SMI_ENABLE to control whether INTRUDER# is routed to SMI, while keeping TCO SMIs available for other uses (e.g. SPI sync SMIs needed by BOOTMEDIA_SMM_BWP). TEST=build Change-Id: I33eb8ce3bee64c95a4d5a6f95a096577d55c742d Signed-off-by: Sean Rhodes <sean@starlabs.systems> Reviewed-on: https://review.coreboot.org/c/coreboot/+/91335 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
339ef9b5c9
commit
c996684f40
2 changed files with 14 additions and 6 deletions
|
|
@ -102,15 +102,15 @@ static void tco_timer_disable(void)
|
|||
tco_write_reg(TCO1_CNT, tcocnt);
|
||||
}
|
||||
|
||||
/* Enable and initialize TCO intruder SMI */
|
||||
static void tco_intruder_smi_enable(void)
|
||||
/* Configure TCO intruder routing */
|
||||
static void tco_intruder_smi_configure(void)
|
||||
{
|
||||
uint16_t tcocnt;
|
||||
|
||||
/* Make TCO issue an SMI on INTRD_DET assertion */
|
||||
tcocnt = tco_read_reg(TCO2_CNT);
|
||||
tcocnt &= ~TCO2_INTRD_SEL_MASK;
|
||||
tcocnt |= TCO2_INTRD_SEL_SMI;
|
||||
if (CONFIG(SOC_INTEL_COMMON_BLOCK_SMM_TCO_INTRUDER_SMI_ENABLE))
|
||||
tcocnt |= TCO2_INTRD_SEL_SMI;
|
||||
tco_write_reg(TCO2_CNT, tcocnt);
|
||||
}
|
||||
|
||||
|
|
@ -148,9 +148,8 @@ void tco_configure(void)
|
|||
|
||||
tco_timer_disable();
|
||||
|
||||
/* Enable intruder interrupt if TCO interrupts are enabled*/
|
||||
if (CONFIG(SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE))
|
||||
tco_intruder_smi_enable();
|
||||
tco_intruder_smi_configure();
|
||||
}
|
||||
|
||||
uint32_t tco_get_timer_period(void)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,15 @@ config SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE
|
|||
help
|
||||
Enable TCO SMI source to e.g. handle case instrusion.
|
||||
|
||||
config SOC_INTEL_COMMON_BLOCK_SMM_TCO_INTRUDER_SMI_ENABLE
|
||||
bool "Enable TCO INTRUDER# SMI"
|
||||
depends on SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE
|
||||
default y
|
||||
help
|
||||
When enabled, route the TCO INTRUDER# event to SMI.
|
||||
Some boards may see INTRUDER# asserted continuously. Routing it to
|
||||
SMI would then cause an SMI storm and prevent boot.
|
||||
|
||||
config SOC_INTEL_COMMON_BLOCK_SMM_S5_DELAY_MS
|
||||
int
|
||||
default 100 if CHROMEOS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue