lynxis lazus has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42225?usp=email )
Change subject: sysmoOCTSIM: define own IRQ handlers
......................................................................
sysmoOCTSIM: define own IRQ handlers
Previous: In case of an fault, nmi or an uncatched IRQ, the OCTSIM
would go into a while(1) loop and would require a power cycle.
Use a generic panic handler
Change-Id: If8476fd4a784312a0597ddd0b7eb54a7ebf94868
---
M sysmoOCTSIM/main.c
1 file changed, 36 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware
refs/changes/25/42225/1
diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c
index e641822..1c424b0 100644
--- a/sysmoOCTSIM/main.c
+++ b/sysmoOCTSIM/main.c
@@ -41,7 +41,11 @@
volatile bool break_on_panic = false;
-static void panic_handler(const char *fmt, va_list args)
+/* To have the panic handler as simple as possible to also call
+ * in cases of stack overflow, etc, have a _panic_handler() with
+ * no arguments.
+ */
+static inline void _panic_handler(void)
{
if (break_on_panic) {
__asm("BKPT #0"); /* wait for JTAG/SWD */
@@ -51,10 +55,40 @@
}
}
+static void panic_handler(const char *fmt, va_list args)
+{
+ _panic_handler();
+}
+
+/* Use functions to have the fault type available in the backtrace. */
+void NonMaskableInt_Handler(void)
+{
+ _panic_handler();
+}
+
+void HardFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void BusFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void UsageFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void Fallback_Handler(void)
+{
+ _panic_handler();
+}
+
extern struct ccid_slot_ops iso_fsm_slot_ops;
static struct ccid_instance g_ci;
-
static void ccid_app_init(void);
static void board_init(void)
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42225?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: If8476fd4a784312a0597ddd0b7eb54a7ebf94868
Gerrit-Change-Number: 42225
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>