1*3bac6f2aSAaron LI /* $NetBSD: trap.h,v 1.3 2020/03/14 04:55:14 maxv Exp $ */ 2*3bac6f2aSAaron LI 3*3bac6f2aSAaron LI /*- 4*3bac6f2aSAaron LI * Copyright (c) 1990 The Regents of the University of California. 5*3bac6f2aSAaron LI * All rights reserved. 6*3bac6f2aSAaron LI * 7*3bac6f2aSAaron LI * This code is derived from software contributed to Berkeley by 8*3bac6f2aSAaron LI * William Jolitz. 9*3bac6f2aSAaron LI * 10*3bac6f2aSAaron LI * Redistribution and use in source and binary forms, with or without 11*3bac6f2aSAaron LI * modification, are permitted provided that the following conditions 12*3bac6f2aSAaron LI * are met: 13*3bac6f2aSAaron LI * 1. Redistributions of source code must retain the above copyright 14*3bac6f2aSAaron LI * notice, this list of conditions and the following disclaimer. 15*3bac6f2aSAaron LI * 2. Redistributions in binary form must reproduce the above copyright 16*3bac6f2aSAaron LI * notice, this list of conditions and the following disclaimer in the 17*3bac6f2aSAaron LI * documentation and/or other materials provided with the distribution. 18*3bac6f2aSAaron LI * 3. Neither the name of the University nor the names of its contributors 19*3bac6f2aSAaron LI * may be used to endorse or promote products derived from this software 20*3bac6f2aSAaron LI * without specific prior written permission. 21*3bac6f2aSAaron LI * 22*3bac6f2aSAaron LI * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23*3bac6f2aSAaron LI * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*3bac6f2aSAaron LI * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*3bac6f2aSAaron LI * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26*3bac6f2aSAaron LI * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*3bac6f2aSAaron LI * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*3bac6f2aSAaron LI * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*3bac6f2aSAaron LI * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*3bac6f2aSAaron LI * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*3bac6f2aSAaron LI * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*3bac6f2aSAaron LI * SUCH DAMAGE. 33*3bac6f2aSAaron LI * 34*3bac6f2aSAaron LI * @(#)trap.h 5.4 (Berkeley) 5/9/91 35*3bac6f2aSAaron LI */ 36*3bac6f2aSAaron LI 37*3bac6f2aSAaron LI #ifndef TRAP_H_ 38*3bac6f2aSAaron LI #define TRAP_H_ 39*3bac6f2aSAaron LI 40*3bac6f2aSAaron LI #define T_PRIVINFLT 0 /* privileged instruction */ 41*3bac6f2aSAaron LI #define T_BPTFLT 1 /* breakpoint trap */ 42*3bac6f2aSAaron LI #define T_ARITHTRAP 2 /* arithmetic trap */ 43*3bac6f2aSAaron LI #define T_ASTFLT 3 /* asynchronous system trap */ 44*3bac6f2aSAaron LI #define T_PROTFLT 4 /* protection fault */ 45*3bac6f2aSAaron LI #define T_TRCTRAP 5 /* trace trap */ 46*3bac6f2aSAaron LI #define T_PAGEFLT 6 /* page fault */ 47*3bac6f2aSAaron LI #define T_ALIGNFLT 7 /* alignment fault */ 48*3bac6f2aSAaron LI #define T_DIVIDE 8 /* integer divide fault */ 49*3bac6f2aSAaron LI #define T_NMI 9 /* non-maskable interrupt */ 50*3bac6f2aSAaron LI #define T_OFLOW 10 /* overflow trap */ 51*3bac6f2aSAaron LI #define T_BOUND 11 /* bounds check fault */ 52*3bac6f2aSAaron LI #define T_DNA 12 /* device not available fault */ 53*3bac6f2aSAaron LI #define T_DOUBLEFLT 13 /* double fault */ 54*3bac6f2aSAaron LI #define T_FPOPFLT 14 /* fp coprocessor operand fetch fault */ 55*3bac6f2aSAaron LI #define T_TSSFLT 15 /* invalid tss fault */ 56*3bac6f2aSAaron LI #define T_SEGNPFLT 16 /* segment not present fault */ 57*3bac6f2aSAaron LI #define T_STKFLT 17 /* stack fault */ 58*3bac6f2aSAaron LI #define T_MCA 18 /* machine check */ 59*3bac6f2aSAaron LI #define T_XMM 19 /* SSE FP exception */ 60*3bac6f2aSAaron LI #define T_RESERVED 20 /* reserved fault base */ 61*3bac6f2aSAaron LI 62*3bac6f2aSAaron LI /* 63*3bac6f2aSAaron LI * Size of the Interrupt Descriptor Table (IDT) 64*3bac6f2aSAaron LI * Extracted from: /sys/arch/amd64/include/param.h 65*3bac6f2aSAaron LI */ 66*3bac6f2aSAaron LI #ifndef NCPUIDT 67*3bac6f2aSAaron LI #define NCPUIDT 32 /* reserved entries for CPU exceptions */ 68*3bac6f2aSAaron LI #endif 69*3bac6f2aSAaron LI 70*3bac6f2aSAaron LI #endif /* TRAP_H_ */ 71