diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-22 01:13:44 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2021-01-22 01:13:44 +0100 |
commit | 1a38973eb8fd0f889f7c272e9ef183687034d550 (patch) | |
tree | a673e3eda50ee3ec1edbaf7534fafdd7073d1b47 /interrupt/interrupt_enums.h.j2 | |
parent | 36efee9187390a52a99919b900b8faaea49be928 (diff) |
interrupt: Refactor to be more flexible.
Diffstat (limited to 'interrupt/interrupt_enums.h.j2')
-rw-r--r-- | interrupt/interrupt_enums.h.j2 | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/interrupt/interrupt_enums.h.j2 b/interrupt/interrupt_enums.h.j2 index cc05100..4d58077 100644 --- a/interrupt/interrupt_enums.h.j2 +++ b/interrupt/interrupt_enums.h.j2 @@ -1,13 +1,17 @@ #pragma once -enum class Exception { - {% for num, name in exceptions.items() %} - {{ name }} = {{ num }}, - {% endfor %} -}; +namespace interrupt { + {% for type, entries in interrupts.items() %} + enum class {{ type }} { + {% for num, name in entries.items() %} + {{ name }} = {{ num }}, + {% endfor %} + }; + + template<{{ type }}> + void handler(); -enum class IRQ { - {% for num, name in irqs.items() %} - {{ name }} = {{ num }}, {% endfor %} + + typedef void (*vector_t)(); }; |