xref: /netbsd-src/sys/arch/amiga/amiga/vectors.s (revision 6929ad87a5c37179228b21785018bbb66fe06b56)
1/*	$NetBSD: vectors.s,v 1.8 1994/10/26 02:02:12 cgd Exp $	*/
2
3/*
4 * Copyright (c) 1988 University of Utah
5 * Copyright (c) 1990 Regents of the University of California.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 *    notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 *    notice, this list of conditions and the following disclaimer in the
15 *    documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 *    must display the following acknowledgement:
18 *	This product includes software developed by the University of
19 *	California, Berkeley and its contributors.
20 * 4. Neither the name of the University nor the names of its contributors
21 *    may be used to endorse or promote products derived from this software
22 *    without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 *	@(#)vectors.s	7.2 (Berkeley) 5/7/91
37 */
38	.text
39	.globl	_buserr,_addrerr
40	.globl	_illinst,_zerodiv,_chkinst,_trapvinst,_privinst,_trace
41	.globl	_badtrap
42	.globl	_spurintr,_lev1intr,_lev2intr,_lev3intr
43	.globl	_lev4intr,_lev5intr,_lev6intr,_lev7intr
44	.globl	_trap0,_trap1,_trap2,_trap15
45	.globl	_fpfline, _fpunsupp, _fpfault
46	.globl	_trap12
47
48Lvectab:
49	.long	0x4ef80400	/* 0: jmp 0x400:w (unused reset SSP) */
50	.long	0		/* 1: NOT USED (reset PC) */
51	.long	_buserr		/* 2: bus error */
52	.long	_addrerr	/* 3: address error */
53	.long	_illinst	/* 4: illegal instruction */
54	.long	_zerodiv	/* 5: zero divide */
55	.long	_chkinst	/* 6: CHK instruction */
56	.long	_trapvinst	/* 7: TRAPV instruction */
57	.long	_privinst	/* 8: privilege violation */
58	.long	_trace		/* 9: trace */
59	.long	_illinst	/* 10: line 1010 emulator */
60	.long	_fpfline	/* 11: line 1111 emulator */
61	.long	_badtrap	/* 12: unassigned, reserved */
62	.long	_coperr		/* 13: coprocessor protocol violation */
63	.long	_fmterr		/* 14: format error */
64	.long	_badtrap	/* 15: uninitialized interrupt vector */
65	.long	_badtrap	/* 16: unassigned, reserved */
66	.long	_badtrap	/* 17: unassigned, reserved */
67	.long	_badtrap	/* 18: unassigned, reserved */
68	.long	_badtrap	/* 19: unassigned, reserved */
69	.long	_badtrap	/* 20: unassigned, reserved */
70	.long	_badtrap	/* 21: unassigned, reserved */
71	.long	_badtrap	/* 22: unassigned, reserved */
72	.long	_badtrap	/* 23: unassigned, reserved */
73	.long	_spurintr	/* 24: spurious interrupt */
74	.long	_lev1intr	/* 25: level 1 interrupt autovector */
75	.long	_lev2intr	/* 26: level 2 interrupt autovector */
76	.long	_lev3intr	/* 27: level 3 interrupt autovector */
77	.long	_lev4intr	/* 28: level 4 interrupt autovector */
78	.long	_lev5intr	/* 29: level 5 interrupt autovector */
79	.long	_lev6intr	/* 30: level 6 interrupt autovector */
80	.long	_lev7intr	/* 31: level 7 interrupt autovector */
81	.long	_trap0		/* 32: syscalls */
82	.long	_trap1		/* 33: sigreturn syscall or breakpoint */
83	.long	_trap2		/* 34: breakpoint or sigreturn syscall */
84	.long	_illinst	/* 35: TRAP instruction vector */
85	.long	_illinst	/* 36: TRAP instruction vector */
86	.long	_illinst	/* 37: TRAP instruction vector */
87	.long	_illinst	/* 38: TRAP instruction vector */
88	.long	_illinst	/* 39: TRAP instruction vector */
89	.long	_illinst	/* 40: TRAP instruction vector */
90	.long	_illinst	/* 41: TRAP instruction vector */
91	.long	_illinst	/* 42: TRAP instruction vector */
92	.long	_illinst	/* 43: TRAP instruction vector */
93	.long	_trap12		/* 44: TRAP instruction vector */
94	.long	_illinst	/* 45: TRAP instruction vector */
95	.long	_illinst	/* 46: TRAP instruction vector */
96	.long	_trap15		/* 47: TRAP instruction vector */
97#ifdef FPSP
98	.globl	bsun, inex, dz, unfl, operr, ovfl, snan
99	.long	bsun		/* 48: FPCP branch/set on unordered cond */
100	.long	inex		/* 49: FPCP inexact result */
101	.long	dz		/* 50: FPCP divide by zero */
102	.long	unfl		/* 51: FPCP underflow */
103	.long	operr		/* 52: FPCP operand error */
104	.long	ovfl		/* 53: FPCP overflow */
105	.long	snan		/* 54: FPCP signalling NAN */
106#else
107	.globl	_fpfault
108	.long	_fpfault	/* 48: FPCP branch/set on unordered cond */
109	.long	_fpfault	/* 49: FPCP inexact result */
110	.long	_fpfault	/* 50: FPCP divide by zero */
111	.long	_fpfault	/* 51: FPCP underflow */
112	.long	_fpfault	/* 52: FPCP operand error */
113	.long	_fpfault	/* 53: FPCP overflow */
114	.long	_fpfault	/* 54: FPCP signalling NAN */
115#endif
116
117
118	.long	_fpunsupp	/* 55: FPCP unimplemented data type */
119	.long	_badtrap	/* 56: unassigned, reserved */
120	.long	_badtrap	/* 57: unassigned, reserved */
121	.long	_badtrap	/* 58: unassigned, reserved */
122	.long	_badtrap	/* 59: unassigned, reserved */
123	.long	_badtrap	/* 60: unassigned, reserved */
124	.long	_badtrap	/* 61: unassigned, reserved */
125	.long	_badtrap	/* 62: unassigned, reserved */
126	.long	_badtrap	/* 63: unassigned, reserved */
127#define BADTRAP16	.long	_badtrap,_badtrap,_badtrap,_badtrap,\
128				_badtrap,_badtrap,_badtrap,_badtrap,\
129				_badtrap,_badtrap,_badtrap,_badtrap,\
130				_badtrap,_badtrap,_badtrap,_badtrap
131	BADTRAP16		/* 64-255: user interrupt vectors */
132	BADTRAP16		/* 64-255: user interrupt vectors */
133	BADTRAP16		/* 64-255: user interrupt vectors */
134	BADTRAP16		/* 64-255: user interrupt vectors */
135	BADTRAP16		/* 64-255: user interrupt vectors */
136	BADTRAP16		/* 64-255: user interrupt vectors */
137	BADTRAP16		/* 64-255: user interrupt vectors */
138	BADTRAP16		/* 64-255: user interrupt vectors */
139	BADTRAP16		/* 64-255: user interrupt vectors */
140	BADTRAP16		/* 64-255: user interrupt vectors */
141	BADTRAP16		/* 64-255: user interrupt vectors */
142	BADTRAP16		/* 64-255: user interrupt vectors */
143