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