diff options
Diffstat (limited to 'src/cpu/x86/smm')
-rw-r--r-- | src/cpu/x86/smm/smihandler.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cpu/x86/smm/smihandler.c b/src/cpu/x86/smm/smihandler.c index 0dc8926653..8d2e22a381 100644 --- a/src/cpu/x86/smm/smihandler.c +++ b/src/cpu/x86/smm/smihandler.c @@ -129,7 +129,18 @@ void console_tx_byte(unsigned char byte) void io_trap_handler(int smif) { - southbridge_io_trap_handler(smif); + /* If a handler function handled a given IO trap, it + * shall return a non-zero value + */ + printk_debug("SMI function trap 0x%x: ", smif); + + if (southbridge_io_trap_handler(smif)) + return; + + if (mainboard_io_trap_handler(smif)) + return; + + printk_debug("Unknown function\n"); } /** |