Make splsched == splclock, and splserial > splsched. Unfortunately,

we have to retain the 'pick unlocked interrupt handler' hack for
the MP case for now.
This commit is contained in:
fvdl 2002-11-01 01:12:43 +00:00
parent 71416f6690
commit 5fca9b943c
3 changed files with 16 additions and 15 deletions

View File

@ -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 @@ apic_vectorset (sc, pin, minlevel, maxlevel)
* 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;

View File

@ -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 Xintripi(void);
*/
extern void Xintrltimer(void);
#define LAPIC_TIMER_VECTOR 0xd0
#define LAPIC_TIMER_VECTOR 0xc0
extern void (*apichandler[]) __P((void));

View File

@ -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 @@ spllower(int ncpl)
#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)