1 /*
2  * Copyright (c) 2016 Brian Swetland
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 
9 #include <lk/debug.h>
10 #include <lk/compiler.h>
11 #include <arch/arm/cm.h>
12 
ti_cc_dummy_irq(void)13 static void ti_cc_dummy_irq(void) {
14     arm_cm_irq_entry();
15     panic("unhandled irq");
16 }
17 
18 #define DEFAULT_HANDLER(x) \
19     void ti_cc_##x##_irq(void) __WEAK_ALIAS("ti_cc_dummy_irq")
20 
21 #define DEFIRQ(n) DEFAULT_HANDLER(n);
22 #include <platform/defirq.h>
23 #undef DEFIRQ
24 
25 #define VECTAB_ENTRY(x) ti_cc_##x##_irq
26 
27 const void *const __SECTION(".text.boot.vectab2") vectab2[] = {
28 #define DEFIRQ(n) VECTAB_ENTRY(n),
29 #include <platform/defirq.h>
30 #undef DEFIRQ
31 };
32