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