aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-01-18 17:27:22 +0100
committerHelge Deller <deller@gmx.de>2024-01-18 17:27:22 +0100
commit68a51aac78186ef9c86b5657cfde3336609d69ce (patch)
tree78325d2fb451d3a795d0be91edfb1e1bc11774f2
parent039efb6259d19c3902f803d355d2d838688386cb (diff)
downloadseabios-hppa-68a51aac78186ef9c86b5657cfde3336609d69ce.zip
seabios-hppa-68a51aac78186ef9c86b5657cfde3336609d69ce.tar.gz
seabios-hppa-68a51aac78186ef9c86b5657cfde3336609d69ce.tar.bz2
parisc: Add firmware_fault_handler()
Used to print faults/traps which may happen at Firmware start. Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--src/parisc/parisc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c
index ab10a7d..1922f8d 100644
--- a/src/parisc/parisc.c
+++ b/src/parisc/parisc.c
@@ -244,6 +244,14 @@ void __VISIBLE __noreturn reset(void)
while (1);
}
+void __VISIBLE __noreturn firmware_fault_handler(unsigned long fault)
+{
+ printf("\n***************************\n"
+ "SeaBIOS: Detected trap #%lu, at 0x%lx:0x%lx, IIR=0x%lx, IOR addr=0x%lx:0x%lx\n", fault,
+ mfctl(17), mfctl(18), mfctl(19), mfctl(20), mfctl(21));
+ while (1) { asm("or %r10,%r10,%r10"); };
+}
+
#undef BUG_ON
#define BUG_ON(cond) \
if (unlikely(cond)) { \