diff options
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/hp300/hp300/machdep.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/sys/arch/hp300/hp300/machdep.c b/sys/arch/hp300/hp300/machdep.c index 05086ff284c..9f17e8b18d6 100644 --- a/sys/arch/hp300/hp300/machdep.c +++ b/sys/arch/hp300/hp300/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.98 2005/01/14 22:39:27 miod Exp $ */ +/* $OpenBSD: machdep.c,v 1.99 2005/01/14 22:49:24 miod Exp $ */ /* $NetBSD: machdep.c,v 1.121 1999/03/26 23:41:29 mycroft Exp $ */ /* @@ -1061,7 +1061,8 @@ badbaddr(addr) static int innmihand; /* simple mutex */ /* - * Level 7 interrupts can be caused by the keyboard or parity errors. + * Level 7 interrupts can be caused by HIL keyboards (in cooked mode only, + * but we run them in raw mode) or parity errors. */ void nmihand(frame) @@ -1073,26 +1074,14 @@ nmihand(frame) return; innmihand = 1; -#if 0 /* XXX */ - /* Check for keyboard <CRTL>+<SHIFT>+<RESET>. */ - if (kbdnmi()) { -#ifdef DDB - if (db_console) { - Debugger(); - } -#endif /* DDB */ - goto nmihand_out; /* no more work to do */ + if (parityerror(&frame)) { + innmihand = 0; + return; } -#endif - if (parityerror(&frame)) - return; /* panic?? */ printf("unexpected level 7 interrupt ignored\n"); -#if 0 -nmihand_out: -#endif innmihand = 0; } |