3 ; Copyright (C) Dean Camera, 2012.
5 ; dean [at] fourwalledcubicle [dot] com
9 ; Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 ; Permission to use, copy, modify, distribute, and sell this
12 ; software and its documentation for any purpose is hereby granted
13 ; without fee, provided that the above copyright notice appear in
14 ; all copies and that both that the copyright notice and this
15 ; permission notice and warranty disclaimer appear in supporting
16 ; documentation, and that the name of the author not be used in
17 ; advertising or publicity pertaining to distribution of the
18 ; software without specific, written prior permission.
20 ; The author disclaim all warranties with regard to this
21 ; software, including all implied warranties of merchantability
22 ; and fitness. In no event shall the author be liable for any
23 ; special, indirect or consequential damages or any damages
24 ; whatsoever resulting from loss of use, data or profits, whether
25 ; in an action of contract, negligence or other tortious action,
26 ; arising out of or in connection with the use or performance of
29 #if defined(__AVR32__)
32 .section .exception_handlers, "ax", @progbits
34 // ================= EXCEPTION TABLE ================
40 Exception_Unrecoverable_Exception:
43 Exception_TLB_Multiple_Hit:
46 Exception_Bus_Error_Data_Fetch:
49 Exception_Bus_Error_Instruction_Fetch:
55 Exception_Instruction_Address:
58 Exception_ITLB_Protection:
61 Exception_OCD_Breakpoint:
64 Exception_Illegal_Opcode:
67 Exception_Unimplemented_Instruction:
70 Exception_Privilege_Violation:
73 Exception_Floating_Point:
76 Exception_Coprocessor_Absent:
79 Exception_Data_Address_Read:
82 Exception_Data_Address_Write:
85 Exception_DTLB_Protection_Read:
88 Exception_DTLB_Protection_Write:
91 Exception_DTLB_Modified:
97 Exception_DTLB_Miss_Read:
100 Exception_DTLB_Miss_Write:
103 Exception_Supervisor_Call:
105 // ============== END OF EXCEPTION TABLE =============
107 // ============= GENERAL INTERRUPT HANDLER ===========
109 .irp Level, 0, 1, 2, 3
112 call INTC_GetInterruptHandler
115 // ========= END OF GENERAL INTERRUPT HANDLER ========
117 // ====== GENERAL INTERRUPT HANDLER OFFSET TABLE ======
119 .global Autovector_Table
121 .irp Level, 0, 1, 2, 3
122 .word ((AVR32_INTC_INT0 + \Level) << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (Exception_INT\Level - EVBA_Table)
124 // === END OF GENERAL INTERRUPT HANDLER OFFSET TABLE ===