diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm64/armv8/exception.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/arm64/armv8/exception.c b/src/arch/arm64/armv8/exception.c index 13f456da26..4d566aa415 100644 --- a/src/arch/arm64/armv8/exception.c +++ b/src/arch/arm64/armv8/exception.c @@ -34,6 +34,7 @@ #include <arch/exception.h> #include <arch/transition.h> #include <console/console.h> +#include <console/uart.h> #include <arch/lib_helpers.h> uint8_t exception_stack[2*KiB] __attribute__((aligned(16))); @@ -131,8 +132,13 @@ int exception_handler_unregister(uint64_t vid, struct exception_handler *h) static void print_exception_info(struct exc_state *state, uint64_t idx) { - if (idx < NUM_EXC_VIDS) - printk(BIOS_DEBUG, "exception %s\n", exception_names[idx]); + /* Poor man's sign of life in case printk() is shot. */ + __uart_tx_byte('\r'); + __uart_tx_byte('\n'); + __uart_tx_byte('!'); + + printk(BIOS_DEBUG, "\nexception %s\n", + idx < NUM_EXC_VIDS ? exception_names[idx] : "_unknown"); print_regs(state); /* Few words below SP in case we need state from a returned function. */ |