; ; Port on Texas Instruments TMS320C6x architecture ; ; Copyright (C) 2004, 2006, 2009, 2010, 2011 Texas Instruments Incorporated ; Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com) ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License version 2 as ; published by the Free Software Foundation. ; ; This section handles all the interrupt vector routines. ; At RESET the processor sets up the DRAM timing parameters and ; branches to the label _c_int00 which handles initialization for the C code. ; #define ALIGNMENT 5 .macro IRQVEC name, handler .align ALIGNMENT .hidden \name .global \name \name: #ifdef CONFIG_C6X_BIG_KERNEL STW .D2T1 A0,*B15--[2] || MVKL .S1 \handler,A0 MVKH .S1 \handler,A0 B .S2X A0 LDW .D2T1 *++B15[2],A0 NOP 4 NOP NOP .endm #else /* CONFIG_C6X_BIG_KERNEL */ B .S2 \handler NOP NOP NOP NOP NOP NOP NOP .endm #endif /* CONFIG_C6X_BIG_KERNEL */ .sect ".vectors","ax" .align ALIGNMENT .global RESET .hidden RESET RESET: #ifdef CONFIG_C6X_BIG_KERNEL MVKL .S1 _c_int00,A0 ; branch to _c_int00 MVKH .S1 _c_int00,A0 B .S2X A0 #else B .S2 _c_int00 NOP NOP #endif NOP NOP NOP NOP NOP IRQVEC NMI,_nmi_handler ; NMI interrupt IRQVEC AINT,_bad_interrupt ; reserved IRQVEC MSGINT,_bad_interrupt ; reserved IRQVEC INT4,_int4_handler IRQVEC INT5,_int5_handler IRQVEC INT6,_int6_handler IRQVEC INT7,_int7_handler IRQVEC INT8,_int8_handler IRQVEC INT9,_int9_handler IRQVEC INT10,_int10_handler IRQVEC INT11,_int11_handler IRQVEC INT12,_int12_handler IRQVEC INT13,_int13_handler IRQVEC INT14,_int14_handler IRQVEC INT15,_int15_handler