From 2f4b60c5a94a6cbc5e95bdef20641b1a33fe56a5 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sun, 29 Dec 1996 22:05:23 +0000 Subject: Fixed keeping track of interrupt nesting level across ASTs. It sometimes became -1, and this recently became fatal if an address error occurs in copyin/out/etc. --- sys/i386/isa/icu.s | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/i386/isa/icu.s b/sys/i386/isa/icu.s index 567daf112550..d0f165b3922a 100644 --- a/sys/i386/isa/icu.s +++ b/sys/i386/isa/icu.s @@ -36,7 +36,7 @@ * * @(#)icu.s 7.2 (Berkeley) 5/21/91 * - * $Id: icu.s,v 1.25 1996/05/31 01:08:07 peter Exp $ + * $Id: icu.s,v 1.26 1996/10/30 22:38:46 asami Exp $ */ /* @@ -181,8 +181,10 @@ swi_ast: testb $SEL_RPL_MASK,TRAPF_CS_OFF(%esp) je swi_ast_phantom movl $T_ASTFLT,(2+8+0)*4(%esp) + movb $0,_intr_nesting_level /* finish becoming a trap handler */ call _trap subl %eax,%eax /* recover cpl */ + movb $1,_intr_nesting_level /* for doreti_next to decrement */ jmp doreti_next ALIGN_TEXT -- cgit v1.3