summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/loongson/include/intr.h45
-rw-r--r--sys/arch/mips64/mips64/interrupt.c4
-rw-r--r--sys/arch/mips64/mips64/softintr.c5
-rw-r--r--sys/arch/octeon/include/intr.h43
-rw-r--r--sys/arch/sgi/include/intr.h43
5 files changed, 64 insertions, 76 deletions
diff --git a/sys/arch/loongson/include/intr.h b/sys/arch/loongson/include/intr.h
index 05e8f3c1c2b..c510a2b68cb 100644
--- a/sys/arch/loongson/include/intr.h
+++ b/sys/arch/loongson/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.16 2018/08/20 15:02:07 visa Exp $ */
+/* $OpenBSD: intr.h,v 1.17 2019/09/05 05:06:33 visa Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -48,17 +48,21 @@
/* Interrupt priority `levels'; not mutually exclusive. */
#define IPL_NONE 0 /* nothing */
#define IPL_SOFTINT 1 /* soft interrupts */
-#define IPL_BIO 2 /* block I/O */
-#define IPL_AUDIO IPL_BIO
-#define IPL_NET 3 /* network */
-#define IPL_TTY 4 /* terminal */
-#define IPL_VM 5 /* memory allocation */
-#define IPL_CLOCK 6 /* clock */
+#define IPL_SOFTCLOCK 1 /* soft clock interrupts */
+#define IPL_SOFTNET 2 /* soft network interrupts */
+#define IPL_SOFTTTY 3 /* soft terminal interrupts */
+#define IPL_SOFTHIGH IPL_SOFTTTY /* highest level of soft interrupts */
+#define IPL_BIO 4 /* block I/O */
+#define IPL_AUDIO IPL_BIO
+#define IPL_NET 5 /* network */
+#define IPL_TTY 6 /* terminal */
+#define IPL_VM 7 /* memory allocation */
+#define IPL_CLOCK 8 /* clock */
#define IPL_STATCLOCK IPL_CLOCK
-#define IPL_SCHED 7 /* everything */
-#define IPL_HIGH 7 /* everything */
-#define IPL_IPI 8 /* interprocessor interrupt */
-#define NIPLS 9 /* Number of levels */
+#define IPL_SCHED 9 /* everything */
+#define IPL_HIGH 9 /* everything */
+#define IPL_IPI 10 /* interprocessor interrupt */
+#define NIPLS 11 /* number of levels */
#define IPL_MPFLOOR IPL_TTY
@@ -76,17 +80,11 @@
/* Soft interrupt masks. */
-#define IPL_SOFT 0
-#define IPL_SOFTCLOCK 1
-#define IPL_SOFTNET 2
-#define IPL_SOFTTTY 3
+#define SI_SOFTCLOCK 0 /* for IPL_SOFTCLOCK */
+#define SI_SOFTNET 1 /* for IPL_SOFTNET */
+#define SI_SOFTTTY 2 /* for IPL_SOFTTTY */
-#define SI_SOFT 0 /* for IPL_SOFT */
-#define SI_SOFTCLOCK 1 /* for IPL_SOFTCLOCK */
-#define SI_SOFTNET 2 /* for IPL_SOFTNET */
-#define SI_SOFTTTY 3 /* for IPL_SOFTTTY */
-
-#define SI_NQUEUES 4
+#define SI_NQUEUES 3
#ifndef _LOCORE
@@ -113,7 +111,6 @@ void *softintr_establish(int, void (*)(void *), void *);
void softintr_init(void);
void softintr_schedule(void *);
-#define splsoft() splraise(IPL_SOFTINT)
#define splbio() splraise(IPL_BIO)
#define splnet() splraise(IPL_NET)
#define spltty() splraise(IPL_TTY)
@@ -122,8 +119,8 @@ void softintr_schedule(void *);
#define splvm() splraise(IPL_VM)
#define splhigh() splraise(IPL_HIGH)
-#define splsoftclock() splsoft()
-#define splsoftnet() splsoft()
+#define splsoftclock() splraise(IPL_SOFTCLOCK)
+#define splsoftnet() splraise(IPL_SOFTNET)
#define splstatclock() splhigh()
#define splsched() splhigh()
diff --git a/sys/arch/mips64/mips64/interrupt.c b/sys/arch/mips64/mips64/interrupt.c
index e1e7aa3c5df..54e6bb1874a 100644
--- a/sys/arch/mips64/mips64/interrupt.c
+++ b/sys/arch/mips64/mips64/interrupt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: interrupt.c,v 1.71 2019/03/17 05:06:36 visa Exp $ */
+/* $OpenBSD: interrupt.c,v 1.72 2019/09/05 05:06:33 visa Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -139,7 +139,7 @@ interrupt(struct trapframe *trapframe)
* Dispatch soft interrupts if current ipl allows them.
*/
if (ci->ci_ipl < IPL_SOFTINT && ci->ci_softpending != 0) {
- s = splsoft();
+ s = splraise(IPL_SOFTHIGH);
dosoftint();
ci->ci_ipl = s; /* no-overhead splx */
}
diff --git a/sys/arch/mips64/mips64/softintr.c b/sys/arch/mips64/mips64/softintr.c
index c85339603e6..9b6b57a0905 100644
--- a/sys/arch/mips64/mips64/softintr.c
+++ b/sys/arch/mips64/mips64/softintr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softintr.c,v 1.20 2017/09/01 13:07:28 visa Exp $ */
+/* $OpenBSD: softintr.c,v 1.21 2019/09/05 05:06:33 visa Exp $ */
/* $NetBSD: softintr.c,v 1.2 2003/07/15 00:24:39 lukem Exp $ */
/*
@@ -107,9 +107,6 @@ softintr_establish(int ipl, void (*func)(void *), void *arg)
int si;
switch (ipl) {
- case IPL_SOFT:
- si = SI_SOFT;
- break;
case IPL_SOFTCLOCK:
si = SI_SOFTCLOCK;
break;
diff --git a/sys/arch/octeon/include/intr.h b/sys/arch/octeon/include/intr.h
index fea18d5f86b..04e0ee26923 100644
--- a/sys/arch/octeon/include/intr.h
+++ b/sys/arch/octeon/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.20 2019/03/21 16:51:21 visa Exp $ */
+/* $OpenBSD: intr.h,v 1.21 2019/09/05 05:06:33 visa Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -48,16 +48,20 @@
/* Interrupt priority `levels'; not mutually exclusive. */
#define IPL_NONE 0 /* nothing */
#define IPL_SOFTINT 1 /* soft interrupts */
-#define IPL_BIO 2 /* block I/O */
-#define IPL_AUDIO IPL_BIO
-#define IPL_NET 3 /* network */
-#define IPL_TTY 4 /* terminal */
-#define IPL_VM 5 /* memory allocation */
-#define IPL_CLOCK 6 /* clock */
+#define IPL_SOFTCLOCK 1 /* soft clock interrupts */
+#define IPL_SOFTNET 2 /* soft network interrupts */
+#define IPL_SOFTTTY 3 /* soft terminal interrupts */
+#define IPL_SOFTHIGH IPL_SOFTTTY /* highest level of soft interrupts */
+#define IPL_BIO 4 /* block I/O */
+#define IPL_AUDIO IPL_BIO
+#define IPL_NET 5 /* network */
+#define IPL_TTY 6 /* terminal */
+#define IPL_VM 7 /* memory allocation */
+#define IPL_CLOCK 8 /* clock */
#define IPL_SCHED IPL_CLOCK
-#define IPL_HIGH 7 /* everything */
-#define IPL_IPI 8 /* interprocessor interrupt */
-#define NIPLS 9 /* Number of levels */
+#define IPL_HIGH 9 /* everything */
+#define IPL_IPI 10 /* interprocessor interrupt */
+#define NIPLS 11 /* number of levels */
#define IPL_MPFLOOR IPL_TTY
@@ -75,17 +79,11 @@
/* Soft interrupt masks. */
-#define IPL_SOFT 0
-#define IPL_SOFTCLOCK 1
-#define IPL_SOFTNET 2
-#define IPL_SOFTTTY 3
+#define SI_SOFTCLOCK 0 /* for IPL_SOFTCLOCK */
+#define SI_SOFTNET 1 /* for IPL_SOFTNET */
+#define SI_SOFTTTY 2 /* for IPL_SOFTTTY */
-#define SI_SOFT 0 /* for IPL_SOFT */
-#define SI_SOFTCLOCK 1 /* for IPL_SOFTCLOCK */
-#define SI_SOFTNET 2 /* for IPL_SOFTNET */
-#define SI_SOFTTTY 3 /* for IPL_SOFTTTY */
-
-#define SI_NQUEUES 4
+#define SI_NQUEUES 3
#ifndef _LOCORE
@@ -112,7 +110,6 @@ void *softintr_establish(int, void (*)(void *), void *);
void softintr_init(void);
void softintr_schedule(void *);
-#define splsoft() splraise(IPL_SOFTINT)
#define splbio() splraise(IPL_BIO)
#define splnet() splraise(IPL_NET)
#define spltty() splraise(IPL_TTY)
@@ -122,8 +119,8 @@ void softintr_schedule(void *);
#define splsched() splraise(IPL_SCHED)
#define splhigh() splraise(IPL_HIGH)
-#define splsoftclock() splsoft()
-#define splsoftnet() splsoft()
+#define splsoftclock() splraise(IPL_SOFTCLOCK)
+#define splsoftnet() splraise(IPL_SOFTNET)
#define splstatclock() splhigh()
#define spl0() spllower(0)
diff --git a/sys/arch/sgi/include/intr.h b/sys/arch/sgi/include/intr.h
index 6cd75e7c97e..67246316b15 100644
--- a/sys/arch/sgi/include/intr.h
+++ b/sys/arch/sgi/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.51 2018/08/20 15:02:07 visa Exp $ */
+/* $OpenBSD: intr.h,v 1.52 2019/09/05 05:06:33 visa Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -48,16 +48,20 @@
/* Interrupt priority `levels'; not mutually exclusive. */
#define IPL_NONE 0 /* nothing */
#define IPL_SOFTINT 1 /* soft interrupts */
-#define IPL_BIO 2 /* block I/O */
-#define IPL_AUDIO IPL_BIO
-#define IPL_NET 3 /* network */
-#define IPL_TTY 4 /* terminal */
-#define IPL_VM 5 /* memory allocation */
-#define IPL_CLOCK 6 /* clock */
+#define IPL_SOFTCLOCK 1 /* soft clock interrupts */
+#define IPL_SOFTNET 2 /* soft network interrupts */
+#define IPL_SOFTTTY 3 /* soft terminal interrupts */
+#define IPL_SOFTHIGH IPL_SOFTTTY /* highest level of soft interrupts */
+#define IPL_BIO 4 /* block I/O */
+#define IPL_AUDIO IPL_BIO
+#define IPL_NET 5 /* network */
+#define IPL_TTY 6 /* terminal */
+#define IPL_VM 7 /* memory allocation */
+#define IPL_CLOCK 8 /* clock */
#define IPL_SCHED IPL_CLOCK
-#define IPL_HIGH 7 /* everything */
-#define IPL_IPI 8 /* interprocessor interrupt */
-#define NIPLS 9 /* Number of levels */
+#define IPL_HIGH 9 /* everything */
+#define IPL_IPI 10 /* interprocessor interrupt */
+#define NIPLS 11 /* number of levels */
#define IPL_MPFLOOR IPL_TTY
@@ -75,17 +79,11 @@
/* Soft interrupt masks. */
-#define IPL_SOFT 0
-#define IPL_SOFTCLOCK 1
-#define IPL_SOFTNET 2
-#define IPL_SOFTTTY 3
+#define SI_SOFTCLOCK 0 /* for IPL_SOFTCLOCK */
+#define SI_SOFTNET 1 /* for IPL_SOFTNET */
+#define SI_SOFTTTY 2 /* for IPL_SOFTTTY */
-#define SI_SOFT 0 /* for IPL_SOFT */
-#define SI_SOFTCLOCK 1 /* for IPL_SOFTCLOCK */
-#define SI_SOFTNET 2 /* for IPL_SOFTNET */
-#define SI_SOFTTTY 3 /* for IPL_SOFTTTY */
-
-#define SI_NQUEUES 4
+#define SI_NQUEUES 3
#ifndef _LOCORE
@@ -112,7 +110,6 @@ void *softintr_establish(int, void (*)(void *), void *);
void softintr_init(void);
void softintr_schedule(void *);
-#define splsoft() splraise(IPL_SOFTINT)
#define splbio() splraise(IPL_BIO)
#define splnet() splraise(IPL_NET)
#define spltty() splraise(IPL_TTY)
@@ -122,8 +119,8 @@ void softintr_schedule(void *);
#define splsched() splraise(IPL_SCHED)
#define splhigh() splraise(IPL_HIGH)
-#define splsoftclock() splsoft()
-#define splsoftnet() splsoft()
+#define splsoftclock() splraise(IPL_SOFTCLOCK)
+#define splsoftnet() splraise(IPL_SOFTNET)
#define splstatclock() splhigh()
#define spl0() spllower(0)