Annotation of sys/arch/hp300/hp300/vectors.s, Revision 1.1
1.1 ! nbrk 1: | $OpenBSD: vectors.s,v 1.10 2005/01/14 22:39:28 miod Exp $
! 2: | $NetBSD: vectors.s,v 1.12 1997/07/14 19:18:32 thorpej Exp $
! 3:
! 4: | Copyright (c) 1997 Jason R. Thorpe. All rights reserved.
! 5: | Copyright (c) 1988 University of Utah
! 6: | Copyright (c) 1990, 1993
! 7: | The Regents of the University of California. All rights reserved.
! 8: |
! 9: | Redistribution and use in source and binary forms, with or without
! 10: | modification, are permitted provided that the following conditions
! 11: | are met:
! 12: | 1. Redistributions of source code must retain the above copyright
! 13: | notice, this list of conditions and the following disclaimer.
! 14: | 2. Redistributions in binary form must reproduce the above copyright
! 15: | notice, this list of conditions and the following disclaimer in the
! 16: | documentation and/or other materials provided with the distribution.
! 17: | 3. 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 8.2 (Berkeley) 1/21/94
! 34: |
! 35:
! 36: #define BADTRAP16 \
! 37: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 38: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 39: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 40: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 41: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 42: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 43: VECTOR(badtrap) ; VECTOR(badtrap) ; \
! 44: VECTOR(badtrap) ; VECTOR(badtrap)
! 45:
! 46: /*
! 47: * bus error and address error vectors are initialized
! 48: * in locore.s once we know our CPU type.
! 49: */
! 50:
! 51: .data
! 52: GLOBAL(vectab)
! 53: VECTOR_UNUSED /* 0: NOT USED (reset SSP) */
! 54: VECTOR_UNUSED /* 1: NOT USED (reset PC) */
! 55: VECTOR_UNUSED /* 2: bus error */
! 56: VECTOR_UNUSED /* 3: address error */
! 57: VECTOR(illinst) /* 4: illegal instruction */
! 58: VECTOR(zerodiv) /* 5: zero divide */
! 59: VECTOR(chkinst) /* 6: CHK instruction */
! 60: VECTOR(trapvinst) /* 7: TRAPV instruction */
! 61: VECTOR(privinst) /* 8: privilege violation */
! 62: VECTOR(trace) /* 9: trace */
! 63: VECTOR(illinst) /* 10: line 1010 emulator */
! 64: VECTOR(fpfline) /* 11: line 1111 emulator */
! 65: VECTOR(badtrap) /* 12: unassigned, reserved */
! 66: VECTOR(coperr) /* 13: coprocessor protocol violation */
! 67: VECTOR(fmterr) /* 14: format error */
! 68: VECTOR(badtrap) /* 15: uninitialized interrupt vector */
! 69: VECTOR(badtrap) /* 16: unassigned, reserved */
! 70: VECTOR(badtrap) /* 17: unassigned, reserved */
! 71: VECTOR(badtrap) /* 18: unassigned, reserved */
! 72: VECTOR(badtrap) /* 19: unassigned, reserved */
! 73: VECTOR(badtrap) /* 20: unassigned, reserved */
! 74: VECTOR(badtrap) /* 21: unassigned, reserved */
! 75: VECTOR(badtrap) /* 22: unassigned, reserved */
! 76: VECTOR(badtrap) /* 23: unassigned, reserved */
! 77: VECTOR(spurintr) /* 24: spurious interrupt */
! 78: VECTOR(intrhand) /* 25: level 1 interrupt autovector */
! 79: VECTOR(intrhand) /* 26: level 2 interrupt autovector */
! 80: VECTOR(intrhand) /* 27: level 3 interrupt autovector */
! 81: VECTOR(intrhand) /* 28: level 4 interrupt autovector */
! 82: VECTOR(intrhand) /* 29: level 5 interrupt autovector */
! 83: VECTOR(lev6intr) /* 30: level 6 interrupt autovector */
! 84: VECTOR(lev7intr) /* 31: level 7 interrupt autovector */
! 85: VECTOR(trap0) /* 32: syscalls */
! 86: VECTOR(trap1) /* 33: sigreturn syscall or breakpoint */
! 87: VECTOR(trap2) /* 34: breakpoint or sigreturn syscall */
! 88: VECTOR(illinst) /* 35: TRAP instruction vector */
! 89: VECTOR(illinst) /* 36: TRAP instruction vector */
! 90: VECTOR(illinst) /* 37: TRAP instruction vector */
! 91: VECTOR(illinst) /* 38: TRAP instruction vector */
! 92: VECTOR(illinst) /* 39: TRAP instruction vector */
! 93: VECTOR(illinst) /* 40: TRAP instruction vector */
! 94: VECTOR(illinst) /* 41: TRAP instruction vector */
! 95: VECTOR(illinst) /* 42: TRAP instruction vector */
! 96: VECTOR(illinst) /* 43: TRAP instruction vector */
! 97: VECTOR(trap12) /* 44: TRAP instruction vector */
! 98: VECTOR(illinst) /* 45: TRAP instruction vector */
! 99: VECTOR(illinst) /* 46: TRAP instruction vector */
! 100: VECTOR(trap15) /* 47: TRAP instruction vector */
! 101:
! 102: GLOBAL(fpvect_tab)
! 103: VECTOR(fpfault) /* 48: FPCP branch/set on unordered cond */
! 104: VECTOR(fpfault) /* 49: FPCP inexact result */
! 105: VECTOR(fpfault) /* 50: FPCP divide by zero */
! 106: VECTOR(fpfault) /* 51: FPCP underflow */
! 107: VECTOR(fpfault) /* 52: FPCP operand error */
! 108: VECTOR(fpfault) /* 53: FPCP overflow */
! 109: VECTOR(fpfault) /* 54: FPCP signalling NAN */
! 110: GLOBAL(fpvect_end)
! 111:
! 112: VECTOR(fpunsupp) /* 55: FPCP unimplemented data type */
! 113: VECTOR(badtrap) /* 56: unassigned, reserved */
! 114: VECTOR(badtrap) /* 57: unassigned, reserved */
! 115: VECTOR(badtrap) /* 58: unassigned, reserved */
! 116: VECTOR(badtrap) /* 59: unassigned, reserved */
! 117: VECTOR(badtrap) /* 60: unassigned, reserved */
! 118: VECTOR(badtrap) /* 61: unassigned, reserved */
! 119: VECTOR(badtrap) /* 62: unassigned, reserved */
! 120: VECTOR(badtrap) /* 63: unassigned, reserved */
! 121:
! 122: BADTRAP16 /* 64-255: user interrupt vectors */
! 123: BADTRAP16 /* 64-255: user interrupt vectors */
! 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:
! 135: #ifdef FPSP
! 136: /*
! 137: * 68040: this chunk of vectors is copied into the fpfault zone
! 138: */
! 139: GLOBAL(fpsp_tab)
! 140: ASVECTOR(fpsp_bsun) /* 48: FPCP branch/set on unordered cond */
! 141: ASVECTOR(inex) /* 49: FPCP inexact result */
! 142: ASVECTOR(dz) /* 50: FPCP divide by zero */
! 143: ASVECTOR(fpsp_unfl) /* 51: FPCP underflow */
! 144: ASVECTOR(fpsp_operr) /* 52: FPCP operand error */
! 145: ASVECTOR(fpsp_ovfl) /* 53: FPCP overflow */
! 146: ASVECTOR(fpsp_snan) /* 54: FPCP signalling NAN */
! 147: #endif /* FPSP */
CVSweb