Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/i386 Make splsched == splclock, and splserial > spl...
details: https://anonhg.NetBSD.org/src/rev/c539fa8d56c1
branches: trunk
changeset: 538841:c539fa8d56c1
user: fvdl <fvdl%NetBSD.org@localhost>
date: Fri Nov 01 01:12:43 2002 +0000
description:
Make splsched == splclock, and splserial > splsched. Unfortunately,
we have to retain the 'pick unlocked interrupt handler' hack for
the MP case for now.
diffstat:
sys/arch/i386/i386/ioapic.c | 4 ++--
sys/arch/i386/include/i82489var.h | 4 ++--
sys/arch/i386/include/intr.h | 23 ++++++++++++-----------
3 files changed, 16 insertions(+), 15 deletions(-)
diffs (80 lines):
diff -r f59444957e61 -r c539fa8d56c1 sys/arch/i386/i386/ioapic.c
--- a/sys/arch/i386/i386/ioapic.c Fri Nov 01 00:02:40 2002 +0000
+++ b/sys/arch/i386/i386/ioapic.c Fri Nov 01 01:12:43 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ioapic.c,v 1.3 2002/10/02 05:47:09 thorpej Exp $ */
+/* $NetBSD: ioapic.c,v 1.4 2002/11/01 01:12:43 fvdl Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -445,7 +445,7 @@
* case here!
*/
handler = apichandler[(nvector & 0xf) +
- ((maxlevel > IPL_HIGH) ? 0x10 : 0)]; /* XXX magic */
+ ((maxlevel > IPL_SCHED) ? 0x10 : 0)]; /* XXX magic */
idt_vec_set(nvector, handler);
pp->ip_vector = nvector;
pp->ip_minlevel = minlevel;
diff -r f59444957e61 -r c539fa8d56c1 sys/arch/i386/include/i82489var.h
--- a/sys/arch/i386/include/i82489var.h Fri Nov 01 00:02:40 2002 +0000
+++ b/sys/arch/i386/include/i82489var.h Fri Nov 01 01:12:43 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: i82489var.h,v 1.2 2002/10/01 12:57:06 fvdl Exp $ */
+/* $NetBSD: i82489var.h,v 1.3 2002/11/01 01:12:44 fvdl Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -89,7 +89,7 @@
*/
extern void Xintrltimer(void);
-#define LAPIC_TIMER_VECTOR 0xd0
+#define LAPIC_TIMER_VECTOR 0xc0
extern void (*apichandler[]) __P((void));
diff -r f59444957e61 -r c539fa8d56c1 sys/arch/i386/include/intr.h
--- a/sys/arch/i386/include/intr.h Fri Nov 01 00:02:40 2002 +0000
+++ b/sys/arch/i386/include/intr.h Fri Nov 01 01:12:43 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.28 2002/10/05 21:25:24 fvdl Exp $ */
+/* $NetBSD: intr.h,v 1.29 2002/11/01 01:12:44 fvdl Exp $ */
/*-
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
@@ -54,15 +54,16 @@
* avoid overruns, so serial > high.
*/
#define IPL_NONE 0x00 /* nothing */
-#define IPL_SOFTCLOCK 0x50 /* timeouts */
-#define IPL_SOFTNET 0x60 /* protocol stacks */
-#define IPL_BIO 0x70 /* block I/O */
-#define IPL_NET 0x80 /* network */
-#define IPL_SOFTSERIAL 0x90 /* serial */
-#define IPL_TTY 0xa0 /* terminal */
-#define IPL_IMP 0xb0 /* memory allocation */
-#define IPL_AUDIO 0xc0 /* audio */
-#define IPL_CLOCK 0xd0 /* clock */
+#define IPL_SOFTCLOCK 0x40 /* timeouts */
+#define IPL_SOFTNET 0x50 /* protocol stacks */
+#define IPL_BIO 0x60 /* block I/O */
+#define IPL_NET 0x70 /* network */
+#define IPL_SOFTSERIAL 0x80 /* serial */
+#define IPL_TTY 0x90 /* terminal */
+#define IPL_IMP 0xa0 /* memory allocation */
+#define IPL_AUDIO 0xb0 /* audio */
+#define IPL_CLOCK 0xc0 /* clock */
+#define IPL_SCHED IPL_CLOCK
#define IPL_HIGH 0xd0 /* everything */
#define IPL_SERIAL 0xd0 /* serial */
#define IPL_IPI 0xe0 /* inter-processor interrupts */
@@ -175,7 +176,7 @@
#define splvm() splraise(IPL_IMP)
#define splhigh() splraise(IPL_HIGH)
#define spl0() spllower(IPL_NONE)
-#define splsched() splhigh()
+#define splsched() splraise(IPL_SCHED)
#define spllock() splhigh()
#define splx(x) spllower(x)
Home |
Main Index |
Thread Index |
Old Index