1 /*
2  * Copyright (c) 2014 Wind River Systems, Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * @file
9  * @brief Definitions for the exception vector table
10  *
11  *
12  * Definitions for the boot vector table.
13  *
14  * System exception handler names all have the same format:
15  *
16  *   __<exception name with underscores>
17  *
18  * Refer to the ARCv2 manual for an explanation of the exceptions.
19  */
20 
21 #ifndef ZEPHYR_ARCH_ARC_INCLUDE_VECTOR_TABLE_H_
22 #define ZEPHYR_ARCH_ARC_INCLUDE_VECTOR_TABLE_H_
23 
24 #define EXC_EV_TRAP	0x9
25 
26 #ifdef _ASMLANGUAGE
27 
28 #include <toolchain.h>
29 #include <linker/sections.h>
30 
31 GTEXT(__start)
32 GTEXT(_VectorTable)
33 
34 GTEXT(__reset)
35 GTEXT(__memory_error)
36 GTEXT(__instruction_error)
37 GTEXT(__ev_machine_check)
38 GTEXT(__ev_tlb_miss_i)
39 GTEXT(__ev_tlb_miss_d)
40 GTEXT(__ev_prot_v)
41 GTEXT(__ev_privilege_v)
42 GTEXT(__ev_swi)
43 GTEXT(__ev_trap)
44 GTEXT(__ev_extension)
45 GTEXT(__ev_div_zero)
46 GTEXT(__ev_dc_error)
47 GTEXT(__ev_maligned)
48 
49 GTEXT(_PrepC)
50 GTEXT(_isr_wrapper)
51 
52 #else
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
58 extern void __reset(void);
59 extern void __memory_error(void);
60 extern void __instruction_error(void);
61 extern void __ev_machine_check(void);
62 extern void __ev_tlb_miss_i(void);
63 extern void __ev_tlb_miss_d(void);
64 extern void __ev_prot_v(void);
65 extern void __ev_privilege_v(void);
66 extern void __ev_swi(void);
67 extern void __ev_trap(void);
68 extern void __ev_extension(void);
69 extern void __ev_div_zero(void);
70 extern void __ev_dc_error(void);
71 extern void __ev_maligned(void);
72 
73 #ifdef __cplusplus
74 }
75 #endif
76 
77 #endif /* _ASMLANGUAGE */
78 
79 #endif /* ZEPHYR_ARCH_ARC_INCLUDE_VECTOR_TABLE_H_ */
80