summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1996-08-11 17:41:25 +0000
committerdg <dg@FreeBSD.org>1996-08-11 17:41:25 +0000
commit90489078d43eed0c1919d3bc06df618de9c65b52 (patch)
treea2a82d2078f516d0721fd91024505f192ea95278 /sys
parent68af419b0b3156c65e9462403909916f2833382e (diff)
downloadFreeBSD-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.S4
-rw-r--r--sys/amd64/amd64/exception.s4
-rw-r--r--sys/amd64/amd64/machdep.c5
-rw-r--r--sys/amd64/amd64/trap.c5
-rw-r--r--sys/i386/i386/exception.s4
-rw-r--r--sys/i386/i386/machdep.c5
-rw-r--r--sys/i386/i386/trap.c5
-rw-r--r--sys/kern/subr_trap.c5
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,
OpenPOWER on IntegriCloud