Annotation of sys/arch/mvme68k/mvme68k/vectors.s, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: vectors.s,v 1.10 2004/03/02 22:55:55 miod Exp $ */
2:
3: | Copyright (c) 1995 Theo de Raadt
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: |
14: | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
15: | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16: | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17: | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
18: | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19: | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20: | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21: | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22: | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23: | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24: | SUCH DAMAGE.
25: |
26: | Copyright (c) 1988 University of Utah
27: | Copyright (c) 1990, 1993
28: | The Regents of the University of California. All rights reserved.
29: |
30: | Redistribution and use in source and binary forms, with or without
31: | modification, are permitted provided that the following conditions
32: | are met:
33: | 1. Redistributions of source code must retain the above copyright
34: | notice, this list of conditions and the following disclaimer.
35: | 2. Redistributions in binary form must reproduce the above copyright
36: | notice, this list of conditions and the following disclaimer in the
37: | documentation and/or other materials provided with the distribution.
38: | 3. All advertising materials mentioning features or use of this software
39: | must display the following acknowledgement:
40: | This product includes software developed by the University of
41: | California, Berkeley and its contributors.
42: | 4. Neither the name of the University nor the names of its contributors
43: | may be used to endorse or promote products derived from this software
44: | without specific prior written permission.
45: |
46: | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
47: | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48: | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
49: | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
50: | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51: | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
52: | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
53: | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
54: | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
55: | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56: | SUCH DAMAGE.
57: |
58: | @(#)vectors.s 8.2 (Berkeley) 1/21/94
59: |
60:
61: #define BADTRAP16 \
62: VECTOR(badtrap) ; VECTOR(badtrap) ; \
63: VECTOR(badtrap) ; VECTOR(badtrap) ; \
64: VECTOR(badtrap) ; VECTOR(badtrap) ; \
65: VECTOR(badtrap) ; VECTOR(badtrap) ; \
66: VECTOR(badtrap) ; VECTOR(badtrap) ; \
67: VECTOR(badtrap) ; VECTOR(badtrap) ; \
68: VECTOR(badtrap) ; VECTOR(badtrap) ; \
69: VECTOR(badtrap) ; VECTOR(badtrap)
70:
71: .data
72: GLOBAL(vectab)
73: .long 0x12345678 /* 0: jmp 0x7400:w (unused reset SSP) */
74: VECTOR_UNUSED /* 1: NOT USED (reset PC) */
75: VECTOR(busaddrerr2030) /* 2: bus error */
76: VECTOR(busaddrerr2030) /* 3: address error */
77: VECTOR(illinst) /* 4: illegal instruction */
78: VECTOR(zerodiv) /* 5: zero divide */
79: VECTOR(chkinst) /* 6: CHK instruction */
80: VECTOR(trapvinst) /* 7: TRAPV instruction */
81: VECTOR(privinst) /* 8: privilege violation */
82: VECTOR(trace) /* 9: trace */
83: VECTOR(illinst) /* 10: line 1010 emulator */
84: VECTOR(fpfline) /* 11: line 1111 emulator */
85: VECTOR(badtrap) /* 12: unassigned, reserved */
86: VECTOR(coperr) /* 13: coprocessor protocol violation */
87: VECTOR(fmterr) /* 14: format error */
88: VECTOR(badtrap) /* 15: uninitialized interrupt vector */
89: VECTOR(badtrap) /* 16: unassigned, reserved */
90: VECTOR(badtrap) /* 17: unassigned, reserved */
91: VECTOR(badtrap) /* 18: unassigned, reserved */
92: VECTOR(badtrap) /* 19: unassigned, reserved */
93: VECTOR(badtrap) /* 20: unassigned, reserved */
94: VECTOR(badtrap) /* 21: unassigned, reserved */
95: VECTOR(badtrap) /* 22: unassigned, reserved */
96: VECTOR(badtrap) /* 23: unassigned, reserved */
97: VECTOR(spurintr) /* 24: spurious interrupt */
98: VECTOR(badtrap) /* 25: level 1 interrupt autovector */
99: VECTOR(badtrap) /* 26: level 2 interrupt autovector */
100: VECTOR(badtrap) /* 27: level 3 interrupt autovector */
101: VECTOR(badtrap) /* 28: level 4 interrupt autovector */
102: VECTOR(badtrap) /* 29: level 5 interrupt autovector */
103: VECTOR(badtrap) /* 30: level 6 interrupt autovector */
104: VECTOR(badtrap) /* 31: level 7 interrupt autovector */
105: VECTOR(trap0) /* 32: syscalls */
106: VECTOR(trap1) /* 33: sigreturn syscall or breakpoint */
107: VECTOR(trap2) /* 34: breakpoint or sigreturn syscall */
108: VECTOR(illinst) /* 35: TRAP instruction vector */
109: VECTOR(illinst) /* 36: TRAP instruction vector */
110: VECTOR(illinst) /* 37: TRAP instruction vector */
111: VECTOR(illinst) /* 38: TRAP instruction vector */
112: VECTOR(illinst) /* 39: TRAP instruction vector */
113: VECTOR(illinst) /* 40: TRAP instruction vector */
114: VECTOR(illinst) /* 41: TRAP instruction vector */
115: VECTOR(illinst) /* 42: TRAP instruction vector */
116: VECTOR(illinst) /* 43: TRAP instruction vector */
117: VECTOR(trap12) /* 44: TRAP instruction vector */
118: VECTOR(illinst) /* 45: TRAP instruction vector */
119: VECTOR(illinst) /* 46: TRAP instruction vector */
120: VECTOR(trap15) /* 47: TRAP instruction vector */
121:
122: /*
123: * 68881/68882: fpfault zone
124: */
125: GLOBAL(fpvect_tab)
126: VECTOR(fpfault) /* 48: FPCP branch/set on unordered cond */
127: VECTOR(fpfault) /* 49: FPCP inexact result */
128: VECTOR(fpfault) /* 50: FPCP divide by zero */
129: VECTOR(fpfault) /* 51: FPCP underflow */
130: VECTOR(fpfault) /* 52: FPCP operand error */
131: VECTOR(fpfault) /* 53: FPCP overflow */
132: VECTOR(fpfault) /* 54: FPCP signalling NAN */
133: GLOBAL(fpvect_end)
134:
135: VECTOR(fpunsupp) /* 55: FPCP unimplemented data type */
136: VECTOR(badtrap) /* 56: unassigned, reserved */
137: VECTOR(badtrap) /* 57: unassigned, reserved */
138: VECTOR(badtrap) /* 58: unassigned, reserved */
139: VECTOR(badtrap) /* 59: unassigned, reserved */
140: VECTOR(badtrap) /* 60: unassigned, reserved */
141: VECTOR(badtrap) /* 61: unassigned, reserved */
142: VECTOR(badtrap) /* 62: unassigned, reserved */
143: VECTOR(badtrap) /* 63: unassigned, reserved */
144:
145: BADTRAP16 /* 64-79: user interrupt vectors */
146: BADTRAP16 /* 80-95: user interrupt vectors */
147: BADTRAP16 /* 96-111: user interrupt vectors */
148: BADTRAP16 /* 112-127: user interrupt vectors */
149: BADTRAP16 /* 128-143: user interrupt vectors */
150: BADTRAP16 /* 144-159: user interrupt vectors */
151: BADTRAP16 /* 160-175: user interrupt vectors */
152: BADTRAP16 /* 176-191: user interrupt vectors */
153: BADTRAP16 /* 192-207: user interrupt vectors */
154: BADTRAP16 /* 208-223: user interrupt vectors */
155: BADTRAP16 /* 224-239: user interrupt vectors */
156: BADTRAP16 /* 240-255: user interrupt vectors */
157:
158:
159: #ifdef FPSP
160: /*
161: * 68040: this chunk of vectors is copied into the fpfault zone
162: */
163: GLOBAL(fpsp_tab)
164: ASVECTOR(fpsp_bsun) /* 48: FPCP branch/set on unordered cond */
165: ASVECTOR(inex) /* 49: FPCP inexact result */
166: ASVECTOR(dz) /* 50: FPCP divide by zero */
167: ASVECTOR(fpsp_unfl) /* 51: FPCP underflow */
168: ASVECTOR(fpsp_operr) /* 52: FPCP operand error */
169: ASVECTOR(fpsp_ovfl) /* 53: FPCP overflow */
170: ASVECTOR(fpsp_snan) /* 54: FPCP signalling NAN */
171: #endif /* FPSP */
CVSweb