summaryrefslogtreecommitdiff
path: root/interrupt/default_handlers.cpp.j2
diff options
context:
space:
mode:
Diffstat (limited to 'interrupt/default_handlers.cpp.j2')
-rw-r--r--interrupt/default_handlers.cpp.j219
1 files changed, 19 insertions, 0 deletions
diff --git a/interrupt/default_handlers.cpp.j2 b/interrupt/default_handlers.cpp.j2
new file mode 100644
index 0000000..cc4c16d
--- /dev/null
+++ b/interrupt/default_handlers.cpp.j2
@@ -0,0 +1,19 @@
+#include "interrupt.h"
+
+extern "C" void default_blocking_handler() {
+ while(1);
+}
+
+{% for exc in exceptions.values() %}
+template<>
+[[gnu::weak, gnu::alias("default_blocking_handler")]]
+void interrupt<Exception::{{ exc }}>();
+
+{% endfor %}
+
+{% for irq in irqs.values() %}
+template<>
+[[gnu::weak, gnu::alias("default_blocking_handler")]]
+void interrupt<IRQ::{{ irq }}>();
+
+{% endfor %}