diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-16 01:25:21 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-16 01:25:21 +0100 |
commit | 172d694cf7ba582635ac38454bad0f0fdaa14773 (patch) | |
tree | efb0d145ed7fb3eeb44541714568680a6451ab3d /interrupt/default_handlers.cpp.j2 | |
parent | 9921c9db409ad5b00fe4a43a2459e2fd2de6b0cf (diff) |
interrupt: Generate interrupts from platform spec.
Diffstat (limited to 'interrupt/default_handlers.cpp.j2')
-rw-r--r-- | interrupt/default_handlers.cpp.j2 | 19 |
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 %} |