diff options
author | dg <dg@FreeBSD.org> | 1996-08-11 17:41:25 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1996-08-11 17:41:25 +0000 |
commit | 90489078d43eed0c1919d3bc06df618de9c65b52 (patch) | |
tree | a2a82d2078f516d0721fd91024505f192ea95278 /sys | |
parent | 68af419b0b3156c65e9462403909916f2833382e (diff) | |
download | FreeBSD-src-90489078d43eed0c1919d3bc06df618de9c65b52.zip FreeBSD-src-90489078d43eed0c1919d3bc06df618de9c65b52.tar.gz |
Add support for i686 machine check trap.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/amd64/exception.S | 4 | ||||
-rw-r--r-- | sys/amd64/amd64/exception.s | 4 | ||||
-rw-r--r-- | sys/amd64/amd64/machdep.c | 5 | ||||
-rw-r--r-- | sys/amd64/amd64/trap.c | 5 | ||||
-rw-r--r-- | sys/i386/i386/exception.s | 4 | ||||
-rw-r--r-- | sys/i386/i386/machdep.c | 5 | ||||
-rw-r--r-- | sys/i386/i386/trap.c | 5 | ||||
-rw-r--r-- | sys/kern/subr_trap.c | 5 |
8 files changed, 24 insertions, 13 deletions
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S index 611a895..5c7174e 100644 --- a/sys/amd64/amd64/exception.S +++ b/sys/amd64/amd64/exception.S @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exception.s,v 1.17 1996/05/02 09:34:20 phk Exp $ + * $Id: exception.s,v 1.18 1996/05/31 01:08:02 peter Exp $ */ #include "npx.h" /* NNPX */ @@ -113,6 +113,8 @@ IDTVEC(prot) TRAP(T_PROTFLT) IDTVEC(page) TRAP(T_PAGEFLT) +IDTVEC(mchk) + pushl $0; TRAP(T_MCHK) IDTVEC(rsvd) pushl $0; TRAP(T_RESERVED) IDTVEC(fpu) diff --git a/sys/amd64/amd64/exception.s b/sys/amd64/amd64/exception.s index 611a895..5c7174e 100644 --- a/sys/amd64/amd64/exception.s +++ b/sys/amd64/amd64/exception.s @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exception.s,v 1.17 1996/05/02 09:34:20 phk Exp $ + * $Id: exception.s,v 1.18 1996/05/31 01:08:02 peter Exp $ */ #include "npx.h" /* NNPX */ @@ -113,6 +113,8 @@ IDTVEC(prot) TRAP(T_PROTFLT) IDTVEC(page) TRAP(T_PAGEFLT) +IDTVEC(mchk) + pushl $0; TRAP(T_MCHK) IDTVEC(rsvd) pushl $0; TRAP(T_RESERVED) IDTVEC(fpu) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 54276c0..56995ae 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.194 1996/07/08 19:44:39 wollman Exp $ + * $Id: machdep.c,v 1.195 1996/07/12 06:09:49 bde Exp $ */ #include "npx.h" @@ -1101,7 +1101,7 @@ extern inthand_t IDTVEC(div), IDTVEC(dbg), IDTVEC(nmi), IDTVEC(bpt), IDTVEC(ofl), IDTVEC(bnd), IDTVEC(ill), IDTVEC(dna), IDTVEC(fpusegm), IDTVEC(tss), IDTVEC(missing), IDTVEC(stk), IDTVEC(prot), - IDTVEC(page), IDTVEC(rsvd), IDTVEC(fpu), IDTVEC(align), + IDTVEC(page), IDTVEC(mchk), IDTVEC(rsvd), IDTVEC(fpu), IDTVEC(align), IDTVEC(syscall), IDTVEC(int0x80_syscall); void @@ -1200,6 +1200,7 @@ init386(first) setidt(15, &IDTVEC(rsvd), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(16, &IDTVEC(fpu), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(17, &IDTVEC(align), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); + setidt(18, &IDTVEC(mchk), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(0x80, &IDTVEC(int0x80_syscall), SDT_SYS386TGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL)); diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 1701c6f..9cc6d50 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.79 1996/06/25 20:01:57 bde Exp $ + * $Id: trap.c,v 1.80 1996/07/12 06:03:14 bde Exp $ */ /* @@ -97,7 +97,7 @@ void dblfault_handler __P((void)); extern inthand_t IDTVEC(syscall); -#define MAX_TRAP_MSG 27 +#define MAX_TRAP_MSG 28 static char *trap_msg[] = { "", /* 0 unused */ "privileged instruction fault", /* 1 T_PRIVINFLT */ @@ -127,6 +127,7 @@ static char *trap_msg[] = { "invalid TSS fault", /* 25 T_TSSFLT */ "segment not present fault", /* 26 T_SEGNPFLT */ "stack fault", /* 27 T_STKFLT */ + "machine check trap", /* 28 T_MCHK */ }; static void userret __P((struct proc *p, struct trapframe *frame, diff --git a/sys/i386/i386/exception.s b/sys/i386/i386/exception.s index 611a895..5c7174e 100644 --- a/sys/i386/i386/exception.s +++ b/sys/i386/i386/exception.s @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exception.s,v 1.17 1996/05/02 09:34:20 phk Exp $ + * $Id: exception.s,v 1.18 1996/05/31 01:08:02 peter Exp $ */ #include "npx.h" /* NNPX */ @@ -113,6 +113,8 @@ IDTVEC(prot) TRAP(T_PROTFLT) IDTVEC(page) TRAP(T_PAGEFLT) +IDTVEC(mchk) + pushl $0; TRAP(T_MCHK) IDTVEC(rsvd) pushl $0; TRAP(T_RESERVED) IDTVEC(fpu) diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 54276c0..56995ae 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.194 1996/07/08 19:44:39 wollman Exp $ + * $Id: machdep.c,v 1.195 1996/07/12 06:09:49 bde Exp $ */ #include "npx.h" @@ -1101,7 +1101,7 @@ extern inthand_t IDTVEC(div), IDTVEC(dbg), IDTVEC(nmi), IDTVEC(bpt), IDTVEC(ofl), IDTVEC(bnd), IDTVEC(ill), IDTVEC(dna), IDTVEC(fpusegm), IDTVEC(tss), IDTVEC(missing), IDTVEC(stk), IDTVEC(prot), - IDTVEC(page), IDTVEC(rsvd), IDTVEC(fpu), IDTVEC(align), + IDTVEC(page), IDTVEC(mchk), IDTVEC(rsvd), IDTVEC(fpu), IDTVEC(align), IDTVEC(syscall), IDTVEC(int0x80_syscall); void @@ -1200,6 +1200,7 @@ init386(first) setidt(15, &IDTVEC(rsvd), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(16, &IDTVEC(fpu), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(17, &IDTVEC(align), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); + setidt(18, &IDTVEC(mchk), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL)); setidt(0x80, &IDTVEC(int0x80_syscall), SDT_SYS386TGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL)); diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index 1701c6f..9cc6d50 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.79 1996/06/25 20:01:57 bde Exp $ + * $Id: trap.c,v 1.80 1996/07/12 06:03:14 bde Exp $ */ /* @@ -97,7 +97,7 @@ void dblfault_handler __P((void)); extern inthand_t IDTVEC(syscall); -#define MAX_TRAP_MSG 27 +#define MAX_TRAP_MSG 28 static char *trap_msg[] = { "", /* 0 unused */ "privileged instruction fault", /* 1 T_PRIVINFLT */ @@ -127,6 +127,7 @@ static char *trap_msg[] = { "invalid TSS fault", /* 25 T_TSSFLT */ "segment not present fault", /* 26 T_SEGNPFLT */ "stack fault", /* 27 T_STKFLT */ + "machine check trap", /* 28 T_MCHK */ }; static void userret __P((struct proc *p, struct trapframe *frame, diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index 1701c6f..9cc6d50 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.79 1996/06/25 20:01:57 bde Exp $ + * $Id: trap.c,v 1.80 1996/07/12 06:03:14 bde Exp $ */ /* @@ -97,7 +97,7 @@ void dblfault_handler __P((void)); extern inthand_t IDTVEC(syscall); -#define MAX_TRAP_MSG 27 +#define MAX_TRAP_MSG 28 static char *trap_msg[] = { "", /* 0 unused */ "privileged instruction fault", /* 1 T_PRIVINFLT */ @@ -127,6 +127,7 @@ static char *trap_msg[] = { "invalid TSS fault", /* 25 T_TSSFLT */ "segment not present fault", /* 26 T_SEGNPFLT */ "stack fault", /* 27 T_STKFLT */ + "machine check trap", /* 28 T_MCHK */ }; static void userret __P((struct proc *p, struct trapframe *frame, |