Correct the list of traps that we need to get the va and space from

ii[os]q.

From OpenBSD.
This commit is contained in:
skrll 2010-03-24 12:56:30 +00:00
parent c2008f6d9b
commit 2bc65cd509
1 changed files with 6 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: trap.c,v 1.83 2010/03/22 23:29:11 skrll Exp $ */ /* $NetBSD: trap.c,v 1.84 2010/03/24 12:56:30 skrll Exp $ */
/*- /*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@ -58,7 +58,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.83 2010/03/22 23:29:11 skrll Exp $"); __KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.84 2010/03/24 12:56:30 skrll Exp $");
/* #define INTRDEBUG */ /* #define INTRDEBUG */
/* #define TRAPDEBUG */ /* #define TRAPDEBUG */
@ -498,8 +498,10 @@ trap(int type, struct trapframe *frame)
trapnum = type & ~T_USER; trapnum = type & ~T_USER;
opcode = frame->tf_iir; opcode = frame->tf_iir;
if (trapnum == T_ITLBMISS || trapnum == T_ITLBMISSNA ||
trapnum == T_IBREAK || trapnum == T_TAKENBR) { if (trapnum <= T_EXCEPTION || trapnum == T_HIGHERPL ||
trapnum == T_LOWERPL || trapnum == T_TAKENBR ||
trapnum == T_IDEBUG || trapnum == T_PERFMON) {
va = frame->tf_iioq_head; va = frame->tf_iioq_head;
space = frame->tf_iisq_head; space = frame->tf_iisq_head;
vftype = VM_PROT_EXECUTE; vftype = VM_PROT_EXECUTE;