diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-11-15 14:40:51 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-11-15 14:40:51 +0000 |
commit | c886977765a0093363bde1a8795c13df730ee285 (patch) | |
tree | 990b7df4cc9e8a457ce6e60f3db330b9e3e29947 | |
parent | e1f870cf54dd6152220af8075a0f9a6a5bce5cfa (diff) |
do not go processing normal interrupts after ipi.
this is to avoid spins at high spl especialy on cpu0.
other local interrupts (timer and softint) still do
also pending interrupts processing. niklas@ ok
-rw-r--r-- | sys/arch/i386/i386/apicvec.s | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/i386/i386/apicvec.s b/sys/arch/i386/i386/apicvec.s index 48a3f8e4f5a..aa6ee91a1fb 100644 --- a/sys/arch/i386/i386/apicvec.s +++ b/sys/arch/i386/i386/apicvec.s @@ -1,4 +1,4 @@ -/* $OpenBSD: apicvec.s,v 1.7 2006/06/12 04:41:30 gwk Exp $ */ +/* $OpenBSD: apicvec.s,v 1.8 2006/11/15 14:40:50 mickey Exp $ */ /* $NetBSD: apicvec.s,v 1.1.2.2 2000/02/21 21:54:01 sommerfeld Exp $ */ /*- @@ -63,7 +63,9 @@ XINTR(ipi): ioapic_asm_ack() sti /* safe to take interrupts.. */ call _C_LABEL(i386_ipi_handler) - jmp _C_LABEL(Xdoreti) + cli + popl CPL + INTRFASTEXIT #endif /* |