]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/altera/dk1c20/vectors.S
Patch by Scott McNutt, 25 Apr 2004:
[karo-tx-uboot.git] / board / altera / dk1c20 / vectors.S
1 /*
2  * (C) Copyright 2003, Psyent Corporation <www.psyent.com>
3  * Scott McNutt <smcnutt@psyent.com>
4  *
5  * See file CREDITS for list of people who contributed to this
6  * project.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of
11  * the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21  * MA 02111-1307 USA
22  */
23
24
25 /*************************************************************************
26  * Exception Vector Table
27  *
28  * This could have gone in the cpu soure tree, but the whole point of
29  * Nios is customization -- and polluting the cpu source tree with
30  * board-specific ifdef's really defeats the purpose, no? With this in
31  * the board-specific tree, each board has the freedom to organize
32  * vectors/traps, etc anyway it wants. The init code copies this table
33  * to the proper location.
34  *
35  * Each board can do what it likes here. But there are four "standard"
36  * handlers availble:
37  *
38  *      _cwp_lolimit    -Handles register window underflows.
39  *      _cwp_hilimit    -Handles register window overflows.
40  *      _timebase_int   -Increments the timebase.
41  *      _brkpt_hw_int   -Hardware breakpoint handler.
42  *      _brkpt_sw_int   -Software breakpoint handler.
43  *      _def_xhandler   -Default exception handler.
44  *
45  * _timebase_int handles a Nios Timer interrupt and increments the
46  * timestamp used for the get_timer(), reset_timer(), etc. routines. It
47  * expects the timer to be configured like the standard-32 low priority
48  * timer.
49  *
50  * _def_xhandler dispatches exceptions/traps via the external_interrupt()
51  * routine. This lets you use the irq_install_handler() and handle your
52  * interrupts/traps with code written in C.
53  ************************************************************************/
54
55         .data
56         .global _vectors
57         .align  4
58 _vectors:
59
60         .long   _def_xhandler@h         /* Vector 0  - NMI */
61         .long   _cwp_lolimit@h          /* Vector 1  -  underflow */
62         .long   _cwp_hilimit@h          /* Vector 2  - overflow */
63         .long   _brkpt_hw_int@h         /* Vector 3 - Breakpoint */
64         .long   _brkpt_sw_int@h         /* Vector 4 - Single step*/
65         .long   _def_xhandler@h         /* Vector 5 - GNUPro debug */
66         .long   _def_xhandler@h         /* Vector 6 - future reserved */
67         .long   _def_xhandler@h         /* Vector 7 - future reserved */
68         .long   _def_xhandler@h         /* Vector 8 - future reserved */
69         .long   _def_xhandler@h         /* Vector 9 - future reserved */
70         .long   _def_xhandler@h         /* Vector 10 - future reserved */
71         .long   _def_xhandler@h         /* Vector 11 - future reserved */
72         .long   _def_xhandler@h         /* Vector 12 - future reserved */
73         .long   _def_xhandler@h         /* Vector 13 - future reserved */
74         .long   _def_xhandler@h         /* Vector 14 - future reserved */
75         .long   _def_xhandler@h         /* Vector 15 - future reserved */
76         .long   _def_xhandler@h         /* Vector 16 */
77         .long   _def_xhandler@h         /* Vector 17 */
78         .long   _def_xhandler@h         /* Vector 18 */
79         .long   _def_xhandler@h         /* Vector 19 */
80         .long   _def_xhandler@h         /* Vector 20 */
81         .long   _def_xhandler@h         /* Vector 21 */
82         .long   _def_xhandler@h         /* Vector 22 */
83         .long   _def_xhandler@h         /* Vector 23 */
84         .long   _def_xhandler@h         /* Vector 24 */
85         .long   _def_xhandler@h         /* Vector 25 */
86         .long   _def_xhandler@h         /* Vector 26 */
87         .long   _def_xhandler@h         /* Vector 27 */
88         .long   _def_xhandler@h         /* Vector 28 */
89         .long   _def_xhandler@h         /* Vector 29 */
90         .long   _def_xhandler@h         /* Vector 30 */
91         .long   _def_xhandler@h         /* Vector 31 */
92         .long   _def_xhandler@h         /* Vector 32 */
93         .long   _def_xhandler@h         /* Vector 33 */
94         .long   _def_xhandler@h         /* Vector 34 */
95         .long   _def_xhandler@h         /* Vector 35 */
96         .long   _def_xhandler@h         /* Vector 36 */
97         .long   _def_xhandler@h         /* Vector 37 */
98         .long   _def_xhandler@h         /* Vector 38 */
99         .long   _def_xhandler@h         /* Vector 39 */
100         .long   _def_xhandler@h         /* Vector 40 */
101         .long   _def_xhandler@h         /* Vector 41 */
102         .long   _def_xhandler@h         /* Vector 42 */
103         .long   _def_xhandler@h         /* Vector 43 */
104         .long   _def_xhandler@h         /* Vector 44 */
105         .long   _def_xhandler@h         /* Vector 45 */
106         .long   _def_xhandler@h         /* Vector 46 */
107         .long   _def_xhandler@h         /* Vector 47 */
108         .long   _def_xhandler@h         /* Vector 48 */
109         .long   _def_xhandler@h         /* Vector 49 */
110         .long   _timebase_int@h         /* Vector 50 - lopri timer*/
111         .long   _def_xhandler@h         /* Vector 51 */
112         .long   _def_xhandler@h         /* Vector 52 */
113         .long   _def_xhandler@h         /* Vector 53 */
114         .long   _def_xhandler@h         /* Vector 54 */
115         .long   _def_xhandler@h         /* Vector 55 */
116         .long   _def_xhandler@h         /* Vector 56 */
117         .long   _def_xhandler@h         /* Vector 57 */
118         .long   _def_xhandler@h         /* Vector 58 */
119         .long   _def_xhandler@h         /* Vector 59 */
120         .long   _def_xhandler@h         /* Vector 60 */
121         .long   _def_xhandler@h         /* Vector 61 */
122         .long   _def_xhandler@h         /* Vector 62 */
123         .long   _def_xhandler@h         /* Vector 63 */