Minor makefile fixes - add phony targets, remove silence switch from the root makefil...
[pub/USBasp.git] / LUFA / Platform / UC3 / Exception.S
1 ;
2 ; LUFA Library
3 ; Copyright (C) Dean Camera, 2012.
4 ;
5 ; dean [at] fourwalledcubicle [dot] com
6 ; www.lufa-lib.org
7 ;
8
9 ; Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
10 ;
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.
19 ;
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
27 ; this software.
28
29 #if defined(__AVR32__)
30 #include <avr32/io.h>
31
32 .section .exception_handlers, "ax", @progbits
33
34 // ================= EXCEPTION TABLE ================
35 .balign 0x200
36 .global EVBA_Table
37 EVBA_Table:
38
39 .org 0x000
40 Exception_Unrecoverable_Exception:
41 rjmp $
42 .org 0x004
43 Exception_TLB_Multiple_Hit:
44 rjmp $
45 .org 0x008
46 Exception_Bus_Error_Data_Fetch:
47 rjmp $
48 .org 0x00C
49 Exception_Bus_Error_Instruction_Fetch:
50 rjmp $
51 .org 0x010
52 Exception_NMI:
53 rjmp $
54 .org 0x014
55 Exception_Instruction_Address:
56 rjmp $
57 .org 0x018
58 Exception_ITLB_Protection:
59 rjmp $
60 .org 0x01C
61 Exception_OCD_Breakpoint:
62 rjmp $
63 .org 0x020
64 Exception_Illegal_Opcode:
65 rjmp $
66 .org 0x024
67 Exception_Unimplemented_Instruction:
68 rjmp $
69 .org 0x028
70 Exception_Privilege_Violation:
71 rjmp $
72 .org 0x02C
73 Exception_Floating_Point:
74 rjmp $
75 .org 0x030
76 Exception_Coprocessor_Absent:
77 rjmp $
78 .org 0x034
79 Exception_Data_Address_Read:
80 rjmp $
81 .org 0x038
82 Exception_Data_Address_Write:
83 rjmp $
84 .org 0x03C
85 Exception_DTLB_Protection_Read:
86 rjmp $
87 .org 0x040
88 Exception_DTLB_Protection_Write:
89 rjmp $
90 .org 0x044
91 Exception_DTLB_Modified:
92 rjmp $
93 .org 0x050
94 Exception_ITLB_Miss:
95 rjmp $
96 .org 0x060
97 Exception_DTLB_Miss_Read:
98 rjmp $
99 .org 0x070
100 Exception_DTLB_Miss_Write:
101 rjmp $
102 .org 0x100
103 Exception_Supervisor_Call:
104 rjmp $
105 // ============== END OF EXCEPTION TABLE =============
106
107 // ============= GENERAL INTERRUPT HANDLER ===========
108 .balign 4
109 .irp Level, 0, 1, 2, 3
110 Exception_INT\Level:
111 mov r12, \Level
112 call INTC_GetInterruptHandler
113 mov pc, r12
114 .endr
115 // ========= END OF GENERAL INTERRUPT HANDLER ========
116
117 // ====== GENERAL INTERRUPT HANDLER OFFSET TABLE ======
118 .balign 4
119 .global Autovector_Table
120 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)
123 .endr
124 // === END OF GENERAL INTERRUPT HANDLER OFFSET TABLE ===
125
126 #endif