SMM: add mainboard_apm_cnt() callback
motherboards can use this hook to get notified if someone writes to the APM_CNT port (0xb2). If the hook returns 1, the chipset specific hook is also skipped. Change-Id: I05f1a27cebf9d25db8064f2adfd2a0f5759e48b5 Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/3 Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
140a990a61
commit
c21b054acc
|
@ -263,4 +263,4 @@ void __attribute__((weak)) northbridge_smi_handler(unsigned int node, smm_state_
|
||||||
void __attribute__((weak)) southbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
|
void __attribute__((weak)) southbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
|
||||||
|
|
||||||
void __attribute__((weak)) mainboard_smi_gpi(u16 gpi_sts);
|
void __attribute__((weak)) mainboard_smi_gpi(u16 gpi_sts);
|
||||||
|
int __attribute__((weak)) mainboard_apm_cnt(u8 data);
|
||||||
|
|
|
@ -362,6 +362,9 @@ static void southbridge_smi_apmc(unsigned int node, smm_state_save_area_t *state
|
||||||
/* Emulate B2 register as the FADT / Linux expects it */
|
/* Emulate B2 register as the FADT / Linux expects it */
|
||||||
|
|
||||||
reg8 = inb(APM_CNT);
|
reg8 = inb(APM_CNT);
|
||||||
|
if (mainboard_apm_cnt && mainboard_apm_cnt(reg8))
|
||||||
|
return;
|
||||||
|
|
||||||
switch (reg8) {
|
switch (reg8) {
|
||||||
case CST_CONTROL:
|
case CST_CONTROL:
|
||||||
/* Calling this function seems to cause
|
/* Calling this function seems to cause
|
||||||
|
|
Loading…
Reference in New Issue