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