1; 2; Port on Texas Instruments TMS320C6x architecture 3; 4; Copyright (C) 2004, 2006, 2009, 2010, 2011 Texas Instruments Incorporated 5; Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com) 6; 7; This program is free software; you can redistribute it and/or modify 8; it under the terms of the GNU General Public License version 2 as 9; published by the Free Software Foundation. 10; 11; This section handles all the interrupt vector routines. 12; At RESET the processor sets up the DRAM timing parameters and 13; branches to the label _c_int00 which handles initialization for the C code. 14; 15 16#define ALIGNMENT 5 17 18 .macro IRQVEC name, handler 19 .align ALIGNMENT 20 .hidden \name 21 .global \name 22\name: 23#ifdef CONFIG_C6X_BIG_KERNEL 24 STW .D2T1 A0,*B15--[2] 25 || MVKL .S1 \handler,A0 26 MVKH .S1 \handler,A0 27 B .S2X A0 28 LDW .D2T1 *++B15[2],A0 29 NOP 4 30 NOP 31 NOP 32 .endm 33#else /* CONFIG_C6X_BIG_KERNEL */ 34 B .S2 \handler 35 NOP 36 NOP 37 NOP 38 NOP 39 NOP 40 NOP 41 NOP 42 .endm 43#endif /* CONFIG_C6X_BIG_KERNEL */ 44 45 .sect ".vectors","ax" 46 .align ALIGNMENT 47 .global RESET 48 .hidden RESET 49RESET: 50#ifdef CONFIG_C6X_BIG_KERNEL 51 MVKL .S1 _c_int00,A0 ; branch to _c_int00 52 MVKH .S1 _c_int00,A0 53 B .S2X A0 54#else 55 B .S2 _c_int00 56 NOP 57 NOP 58#endif 59 NOP 60 NOP 61 NOP 62 NOP 63 NOP 64 65 66 IRQVEC NMI,_nmi_handler ; NMI interrupt 67 IRQVEC AINT,_bad_interrupt ; reserved 68 IRQVEC MSGINT,_bad_interrupt ; reserved 69 70 IRQVEC INT4,_int4_handler 71 IRQVEC INT5,_int5_handler 72 IRQVEC INT6,_int6_handler 73 IRQVEC INT7,_int7_handler 74 IRQVEC INT8,_int8_handler 75 IRQVEC INT9,_int9_handler 76 IRQVEC INT10,_int10_handler 77 IRQVEC INT11,_int11_handler 78 IRQVEC INT12,_int12_handler 79 IRQVEC INT13,_int13_handler 80 IRQVEC INT14,_int14_handler 81 IRQVEC INT15,_int15_handler 82