From a6dc2b0ad2bf5efd2c9f49754ff7057f5c24a929 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sun, 12 Jun 2011 21:45:45 +0200 Subject: Added interrupt<>() template. --- interrupt.cpp | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 interrupt.cpp (limited to 'interrupt.cpp') diff --git a/interrupt.cpp b/interrupt.cpp new file mode 100644 index 0000000..e9e7b24 --- /dev/null +++ b/interrupt.cpp @@ -0,0 +1,157 @@ +#include "interrupt.h" + +void entry(); + +extern "C" void unused_interrupt() { + while(1) {} +} + +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); +template<> void interrupt() __attribute__ ((weak, alias ("unused_interrupt"))); + +typedef void (*vector_t)(); + +vector_t vectors[] __attribute__((section(".vectors"))) = { + (vector_t)0x20004ffc, + entry, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + 0, + 0, + 0, + 0, + interrupt, + 0, + 0, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, + interrupt, +}; -- cgit v1.2.3