xref: /netbsd/sys/arch/x68k/x68k/vectors.s (revision bf9ec67e)
1|	$NetBSD: vectors.s,v 1.10 2000/06/11 14:20:47 minoura Exp $
2
3| Copyright (c) 1988 University of Utah
4| Copyright (c) 1990, 1993
5|	The Regents of the University of California.  All rights reserved.
6|
7| Redistribution and use in source and binary forms, with or without
8| modification, are permitted provided that the following conditions
9| are met:
10| 1. Redistributions of source code must retain the above copyright
11|    notice, this list of conditions and the following disclaimer.
12| 2. Redistributions in binary form must reproduce the above copyright
13|    notice, this list of conditions and the following disclaimer in the
14|    documentation and/or other materials provided with the distribution.
15| 3. All advertising materials mentioning features or use of this software
16|    must display the following acknowledgement:
17|	This product includes software developed by the University of
18|	California, Berkeley and its contributors.
19| 4. Neither the name of the University nor the names of its contributors
20|    may be used to endorse or promote products derived from this software
21|    without specific prior written permission.
22|
23| THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26| ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29| OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30| HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32| OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33| SUCH DAMAGE.
34|
35|	@(#)vectors.s	8.2 (Berkeley) 1/21/94
36|
37
38	.data
39GLOBAL(vectab)
40	.long	0x4ef80000	/* 0: jmp 0x0000:w (unused reset SSP) */
41	VECTOR_UNUSED		/* 1: NOT USED (reset PC) */
42	VECTOR(buserr)		/* 2: bus error */
43	VECTOR(addrerr)		/* 3: address error */
44	VECTOR(illinst)		/* 4: illegal instruction */
45	VECTOR(zerodiv)		/* 5: zero divide */
46	VECTOR(chkinst)		/* 6: CHK instruction */
47	VECTOR(trapvinst)	/* 7: TRAPV instruction */
48	VECTOR(privinst)	/* 8: privilege violation */
49	VECTOR(trace)		/* 9: trace */
50	VECTOR(illinst)		/* 10: line 1010 emulator */
51	VECTOR(fpfline)		/* 11: line 1111 emulator */
52	VECTOR(badtrap)		/* 12: unassigned, reserved */
53	VECTOR(coperr)		/* 13: coprocessor protocol violation */
54	VECTOR(fmterr)		/* 14: format error */
55	VECTOR(badtrap)		/* 15: uninitialized interrupt vector */
56	VECTOR(intiotrap)	/* 16: unassigned, reserved */
57	VECTOR(intiotrap)	/* 17: unassigned, reserved */
58	VECTOR(intiotrap)	/* 18: unassigned, reserved */
59	VECTOR(intiotrap)	/* 19: unassigned, reserved */
60	VECTOR(intiotrap)	/* 20: unassigned, reserved */
61	VECTOR(intiotrap)	/* 21: unassigned, reserved */
62	VECTOR(intiotrap)	/* 22: unassigned, reserved */
63	VECTOR(intiotrap)	/* 23: unassigned, reserved */
64	VECTOR(spurintr)	/* 24: spurious interrupt */
65	VECTOR(lev1intr)	/* 25: level 1 interrupt autovector */
66	VECTOR(lev2intr)	/* 26: level 2 interrupt autovector */
67	VECTOR(lev3intr)	/* 27: level 3 interrupt autovector */
68	VECTOR(lev4intr)	/* 28: level 4 interrupt autovector */
69	VECTOR(lev5intr)	/* 29: level 5 interrupt autovector */
70	VECTOR(lev6intr)	/* 30: level 6 interrupt autovector */
71	VECTOR(lev7intr)	/* 31: level 7 interrupt autovector */
72	VECTOR(trap0)		/* 32: syscalls */
73#ifdef COMPAT_13
74	VECTOR(trap1)		/* 33: compat_13_sigreturn */
75#else
76	VECTOR(illinst)
77#endif
78	VECTOR(trap2)		/* 34: trace */
79	VECTOR(trap3)		/* 35: sigreturn special syscall */
80	VECTOR(illinst)		/* 36: TRAP instruction vector */
81	VECTOR(illinst)		/* 37: TRAP instruction vector */
82	VECTOR(illinst)		/* 38: TRAP instruction vector */
83	VECTOR(illinst)		/* 39: TRAP instruction vector */
84	VECTOR(illinst)		/* 40: TRAP instruction vector */
85	VECTOR(illinst)		/* 41: TRAP instruction vector */
86	VECTOR(illinst)		/* 42: TRAP instruction vector */
87	VECTOR(illinst)		/* 43: TRAP instruction vector */
88	VECTOR(trap12)		/* 44: TRAP instruction vector */
89	VECTOR(illinst)		/* 45: TRAP instruction vector */
90	VECTOR(illinst)		/* 46: TRAP instruction vector */
91	VECTOR(trap15)		/* 47: TRAP instruction vector */
92#ifdef FPSP
93	ASVECTOR(bsun)		/* 48: FPCP branch/set on unordered cond */
94	ASVECTOR(inex)		/* 49: FPCP inexact result */
95	ASVECTOR(dz)		/* 50: FPCP divide by zero */
96	ASVECTOR(unfl)		/* 51: FPCP underflow */
97	ASVECTOR(operr)		/* 52: FPCP operand error */
98	ASVECTOR(ovfl)		/* 53: FPCP overflow */
99	ASVECTOR(snan)		/* 54: FPCP signalling NAN */
100#else
101	VECTOR(fpfault)		/* 48: FPCP branch/set on unordered cond */
102	VECTOR(fpfault)		/* 49: FPCP inexact result */
103	VECTOR(fpfault)		/* 50: FPCP divide by zero */
104	VECTOR(fpfault)		/* 51: FPCP underflow */
105	VECTOR(fpfault)		/* 52: FPCP operand error */
106	VECTOR(fpfault)		/* 53: FPCP overflow */
107	VECTOR(fpfault)		/* 54: FPCP signalling NAN */
108#endif
109
110	VECTOR(fpunsupp)	/* 55: FPCP unimplemented data type */
111	VECTOR(badtrap)		/* 56: MMU configuration error */
112	VECTOR(intiotrap)	/* 57: unassigned, reserved */
113	VECTOR(intiotrap)	/* 58: unassigned, reserved */
114	VECTOR(intiotrap)	/* 59: unassigned, reserved */
115	VECTOR(intiotrap)	/* 60: unassigned, reserved */
116	VECTOR(intiotrap)	/* 61: unassigned, reserved */
117	VECTOR(intiotrap)	/* 62: unassigned, reserved */
118	VECTOR(intiotrap)	/* 63: unassigned, reserved */
119	VECTOR(intiotrap)	/* 64: MFP GPIP0 RTC alarm */
120	VECTOR(powtrap)		/* 65: MFP GPIP1 ext. power switch */
121	VECTOR(powtrap)		/* 66: MFP GPIP2 front power switch */
122	VECTOR(intiotrap)	/* 67: MFP GPIP3 FM sound generator */
123	VECTOR(intiotrap)	/* 68: MFP timer-D */
124	VECTOR(timertrap)	/* 69: MFP timer-C */
125	VECTOR(intiotrap)	/* 70: MFP GPIP4 VBL */
126	VECTOR(intiotrap)	/* 71: MFP GPIP5 unassigned */
127	VECTOR(kbdtimer)	/* 72: MFP timer-B */
128	VECTOR(intiotrap)	/* 73: MFP MPSC send error */
129	VECTOR(intiotrap)	/* 74: MFP MPSC transmit buffer empty */
130	VECTOR(intiotrap)	/* 75: MFP MPSC receive error */
131	VECTOR(intiotrap)	/* 76: MFP MPSC receive buffer full */
132	VECTOR(intiotrap)	/* 77: MFP timer-A */
133	VECTOR(intiotrap)	/* 78: MFP CRTC raster */
134	VECTOR(intiotrap)	/* 79: MFP H-SYNC */
135	VECTOR(intiotrap)	/* 80: unassigned, reserved */
136	VECTOR(intiotrap)	/* 81: unassigned, reserved */
137	VECTOR(intiotrap)	/* 82: unassigned, reserved */
138	VECTOR(intiotrap)	/* 83: unassigned, reserved */
139	VECTOR(intiotrap)	/* 84: unassigned, reserved */
140	VECTOR(intiotrap)	/* 85: unassigned, reserved */
141	VECTOR(intiotrap)	/* 86: unassigned, reserved */
142	VECTOR(intiotrap)	/* 87: unassigned, reserved */
143	VECTOR(intiotrap)	/* 88: unassigned, reserved */
144	VECTOR(intiotrap)	/* 89: unassigned, reserved */
145	VECTOR(intiotrap)	/* 90: unassigned, reserved */
146	VECTOR(intiotrap)	/* 91: unassigned, reserved */
147	VECTOR(intiotrap)	/* 92: unassigned, reserved */
148	VECTOR(intiotrap)	/* 93: unassigned, reserved */
149	VECTOR(intiotrap)	/* 94: unassigned, reserved */
150	VECTOR(intiotrap)	/* 95: unassigned, reserved */
151	VECTOR(intiotrap)	/* 96: FDC */
152	VECTOR(fdeject)		/* 97: floppy ejection */
153	VECTOR(intiotrap)	/* 98: unassigned, reserved */
154	VECTOR(intiotrap)	/* 99: parallel port */
155	VECTOR(intiotrap)	/* 100: FDC DMA */
156	VECTOR(intiotrap)	/* 101: FDC DMA (error) */
157	VECTOR(intiotrap)	/* 102: unassigned, reserved */
158	VECTOR(intiotrap)	/* 103: unassigned, reserved */
159	VECTOR(intiotrap)	/* 104: unassigned, reserved */
160	VECTOR(intiotrap)	/* 105: unassigned, reserved */
161	VECTOR(intiotrap)	/* 106: ADPCM DMA */
162	VECTOR(intiotrap)	/* 107: ADPCM DMA */
163	VECTOR(intiotrap)	/* 108: internal SPC */
164	VECTOR(intiotrap)	/* 109: unassigned, reserved */
165	VECTOR(intiotrap)	/* 110: unassigned, reserved */
166	VECTOR(intiotrap)	/* 111: unassigned, reserved */
167	VECTOR(intiotrap)	/* 112: Z8530 SCC (onboard) */
168	VECTOR(intiotrap)	/* 113: Z8530 SCC */
169	VECTOR(intiotrap)	/* 114: Z8530 SCC */;
170	VECTOR(intiotrap)	/* 115: unassigned, reserved */
171	VECTOR(intiotrap)	/* 116: unassigned, reserved */
172	VECTOR(intiotrap)	/* 117: unassigned, reserved */
173	VECTOR(intiotrap)	/* 118: unassigned, reserved */
174	VECTOR(intiotrap)	/* 119: unassigned, reserved */
175	VECTOR(intiotrap)	/* 129: unassigned, reserved */
176	VECTOR(intiotrap)	/* 121: unassigned, reserved */
177	VECTOR(intiotrap)	/* 122: unassigned, reserved */
178	VECTOR(intiotrap)	/* 123: unassigned, reserved */
179	VECTOR(intiotrap)	/* 124: unassigned, reserved */
180	VECTOR(intiotrap)	/* 125: unassigned, reserved */
181	VECTOR(intiotrap)	/* 126: unassigned, reserved */
182	VECTOR(intiotrap)	/* 127: unassigned, reserved */
183
184#define BADTRAP16	\
185	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
186	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
187	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
188	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
189	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
190	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
191	VECTOR(intiotrap) ; VECTOR(intiotrap) ; \
192	VECTOR(intiotrap) ; VECTOR(intiotrap) ;
193
194	BADTRAP16		/* 128-143: user interrupt vectors */
195	BADTRAP16		/* 144-159: user interrupt vectors */
196	BADTRAP16		/* 160-175: user interrupt vectors */
197	BADTRAP16		/* 176-191: user interrupt vectors */
198	BADTRAP16		/* 192-207: user interrupt vectors */
199	BADTRAP16		/* 208-223: user interrupt vectors */
200	BADTRAP16		/* 224-239: user interrupt vectors */
201	VECTOR(com0trap)	/* 240: unassigned, reserved */
202	VECTOR(com1trap)	/* 241: unassigned, reserved */
203	VECTOR(intiotrap)	/* 242: unassigned, reserved */
204	VECTOR(intiotrap)	/* 243: unassigned, reserved */
205	VECTOR(intiotrap)	/* 244: unassigned, reserved */
206	VECTOR(intiotrap)	/* 245: unassigned, reserved */
207	VECTOR(intiotrap)	/* 246: external SPC */
208	VECTOR(intiotrap)	/* 247: unassigned, reserved */
209	VECTOR(intiotrap)	/* 248: unassigned, reserved */
210	VECTOR(intiotrap)	/* 249: Neptune-X */
211	VECTOR(intiotrap)	/* 250: unassigned, reserved */
212	VECTOR(intiotrap)	/* 251: unassigned, reserved */
213	VECTOR(intiotrap)	/* 252: unassigned, reserved */
214	VECTOR(intiotrap)	/* 253: unassigned, reserved */
215	VECTOR(intiotrap)	/* 254: unassigned, reserved */
216	VECTOR(intiotrap)	/* 255: unassigned, reserved */
217