aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/fault_handlers/fault_handlers.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/various/fault_handlers/fault_handlers.h')
-rw-r--r--os/various/fault_handlers/fault_handlers.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/os/various/fault_handlers/fault_handlers.h b/os/various/fault_handlers/fault_handlers.h
new file mode 100644
index 0000000..1fb210b
--- /dev/null
+++ b/os/various/fault_handlers/fault_handlers.h
@@ -0,0 +1,22 @@
+#ifndef FAULT_HANDLERS_H_
+#define FAULT_HANDLERS_H_
+
+#include <ch.h>
+#include "port_fault_handlers.h"
+
+/*
+ * Notes:
+ *
+ * 1) #define FAULT_NO_PRINT to remove chprintf, etc
+ * 2) #define FAULT_INFO_HOOK(fault_info) to receive a struct fault_info when
+ * a fault is produced.
+ */
+
+struct fault_info {
+ struct decoded_fault_registers decoded_fault_registers;
+#ifndef FAULT_NO_PRINT
+ char decoded_info_string[300];
+#endif
+};
+
+#endif /* FAULT_HANDLERS_H_ */