mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-18 15:30:21 +00:00
Add support for i686 machine check trap.
This commit is contained in:
parent
150022d8fc
commit
11282a57ce
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=17521
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user