Fix broken XMEGA USB support.
[pub/USBasp.git] / LUFA / Platform / UC3 / Exception.S
index 9509fd7..ffcf0cc 100644 (file)
-/*\r
-             LUFA Library\r
-     Copyright (C) Dean Camera, 2011.\r
-\r
-  dean [at] fourwalledcubicle [dot] com\r
-           www.lufa-lib.org\r
-*/\r
-\r
-/*\r
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-\r
-  Permission to use, copy, modify, distribute, and sell this\r
-  software and its documentation for any purpose is hereby granted\r
-  without fee, provided that the above copyright notice appear in\r
-  all copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
-  software without specific, written prior permission.\r
-\r
-  The author disclaim all warranties with regard to this\r
-  software, including all implied warranties of merchantability\r
-  and fitness.  In no event shall the author be liable for any\r
-  special, indirect or consequential damages or any damages\r
-  whatsoever resulting from loss of use, data or profits, whether\r
-  in an action of contract, negligence or other tortious action,\r
-  arising out of or in connection with the use or performance of\r
-  this software.\r
-*/\r
-\r
-#include <avr32/io.h>\r
-\r
-.section .exception_handlers, "ax", @progbits\r
-\r
-// ================= EXCEPTION TABLE ================\r
-.balign  0x200\r
-.global  EVBA_Table\r
-EVBA_Table:\r
-\r
-.org  0x000\r
-Exception_Unrecoverable_Exception:\r
-       rjmp $\r
-.org  0x004\r
-Exception_TLB_Multiple_Hit:\r
-       rjmp $\r
-.org  0x008\r
-Exception_Bus_Error_Data_Fetch:\r
-       rjmp $\r
-.org  0x00C\r
-Exception_Bus_Error_Instruction_Fetch:\r
-       rjmp $\r
-.org  0x010\r
-Exception_NMI:\r
-       rjmp $\r
-.org  0x014\r
-Exception_Instruction_Address:\r
-       rjmp $\r
-.org  0x018\r
-Exception_ITLB_Protection:\r
-       rjmp $\r
-.org  0x01C\r
-Exception_OCD_Breakpoint:\r
-       rjmp $\r
-.org  0x020\r
-Exception_Illegal_Opcode:\r
-       rjmp $\r
-.org  0x024\r
-Exception_Unimplemented_Instruction:\r
-       rjmp $\r
-.org  0x028\r
-Exception_Privilege_Violation:\r
-       rjmp $\r
-.org  0x02C\r
-Exception_Floating_Point:\r
-       rjmp $\r
-.org  0x030\r
-Exception_Coprocessor_Absent:\r
-       rjmp $\r
-.org  0x034\r
-Exception_Data_Address_Read:\r
-       rjmp $\r
-.org  0x038\r
-Exception_Data_Address_Write:\r
-       rjmp $\r
-.org  0x03C\r
-Exception_DTLB_Protection_Read:\r
-       rjmp $\r
-.org  0x040\r
-Exception_DTLB_Protection_Write:\r
-       rjmp $\r
-.org  0x044\r
-Exception_DTLB_Modified:\r
-       rjmp $\r
-.org  0x050\r
-Exception_ITLB_Miss:\r
-       rjmp $\r
-.org  0x060\r
-Exception_DTLB_Miss_Read:\r
-       rjmp $\r
-.org  0x070\r
-Exception_DTLB_Miss_Write:\r
-       rjmp $\r
-.org  0x100\r
-Exception_Supervisor_Call:\r
-    rjmp $\r
-// ============== END OF EXCEPTION TABLE =============\r
-\r
-// ============= GENERAL INTERRUPT HANDLER ===========\r
-.balign 4\r
-.irp    Level, 0, 1, 2, 3\r
-Exception_INT\Level:\r
-       mov     r12, \Level\r
-       call    INTC_GetInterruptHandler\r
-       mov     pc, r12\r
-.endr\r
-// ========= END OF GENERAL INTERRUPT HANDLER ========\r
-\r
-// ====== GENERAL INTERRUPT HANDLER OFFSET TABLE ======\r
-.balign 4\r
-.global Autovector_Table\r
-Autovector_Table:\r
-.irp    Level, 0, 1, 2, 3\r
-       .word ((AVR32_INTC_INT0 + \Level) << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (Exception_INT\Level - EVBA_Table)\r
-.endr\r
-// === END OF GENERAL INTERRUPT HANDLER OFFSET TABLE ===\r
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2011.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+  Permission to use, copy, modify, distribute, and sell this
+  software and its documentation for any purpose is hereby granted
+  without fee, provided that the above copyright notice appear in
+  all copies and that both that the copyright notice and this
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
+  software without specific, written prior permission.
+
+  The author disclaims all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+#if defined(__AVR32__)
+#include <avr32/io.h>
+
+.section .exception_handlers, "ax", @progbits
+
+// ================= EXCEPTION TABLE ================
+.balign  0x200
+.global  EVBA_Table
+EVBA_Table:
+
+.org  0x000
+Exception_Unrecoverable_Exception:
+       rjmp $
+.org  0x004
+Exception_TLB_Multiple_Hit:
+       rjmp $
+.org  0x008
+Exception_Bus_Error_Data_Fetch:
+       rjmp $
+.org  0x00C
+Exception_Bus_Error_Instruction_Fetch:
+       rjmp $
+.org  0x010
+Exception_NMI:
+       rjmp $
+.org  0x014
+Exception_Instruction_Address:
+       rjmp $
+.org  0x018
+Exception_ITLB_Protection:
+       rjmp $
+.org  0x01C
+Exception_OCD_Breakpoint:
+       rjmp $
+.org  0x020
+Exception_Illegal_Opcode:
+       rjmp $
+.org  0x024
+Exception_Unimplemented_Instruction:
+       rjmp $
+.org  0x028
+Exception_Privilege_Violation:
+       rjmp $
+.org  0x02C
+Exception_Floating_Point:
+       rjmp $
+.org  0x030
+Exception_Coprocessor_Absent:
+       rjmp $
+.org  0x034
+Exception_Data_Address_Read:
+       rjmp $
+.org  0x038
+Exception_Data_Address_Write:
+       rjmp $
+.org  0x03C
+Exception_DTLB_Protection_Read:
+       rjmp $
+.org  0x040
+Exception_DTLB_Protection_Write:
+       rjmp $
+.org  0x044
+Exception_DTLB_Modified:
+       rjmp $
+.org  0x050
+Exception_ITLB_Miss:
+       rjmp $
+.org  0x060
+Exception_DTLB_Miss_Read:
+       rjmp $
+.org  0x070
+Exception_DTLB_Miss_Write:
+       rjmp $
+.org  0x100
+Exception_Supervisor_Call:
+    rjmp $
+// ============== END OF EXCEPTION TABLE =============
+
+// ============= GENERAL INTERRUPT HANDLER ===========
+.balign 4
+.irp    Level, 0, 1, 2, 3
+Exception_INT\Level:
+       mov     r12, \Level
+       call    INTC_GetInterruptHandler
+       mov     pc, r12
+.endr
+// ========= END OF GENERAL INTERRUPT HANDLER ========
+
+// ====== GENERAL INTERRUPT HANDLER OFFSET TABLE ======
+.balign 4
+.global Autovector_Table
+Autovector_Table:
+.irp    Level, 0, 1, 2, 3
+       .word ((AVR32_INTC_INT0 + \Level) << AVR32_INTC_IPR_INTLEVEL_OFFSET) | (Exception_INT\Level - EVBA_Table)
+.endr
+// === END OF GENERAL INTERRUPT HANDLER OFFSET TABLE ===
+
+#endif