summaryrefslogtreecommitdiff
path: root/sys/arch/vax
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-08-18 23:08:58 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-08-18 23:08:58 +0000
commitb33170830ef3885c9e56e01dca81249c0fb29bfd (patch)
tree4e751eef2bf76feddf4bf85d290da34cbea78717 /sys/arch/vax
parent884436909ca85671f0d985d9435e4f29aa8adeec (diff)
Preparing for KA60 support, crank IPL_TTY to level 0x16 (since it is
hardwired this way on KA60...), and compensate in splassert_check() when serial device interrupts will remain at 0x14 or 0x15.
Diffstat (limited to 'sys/arch/vax')
-rw-r--r--sys/arch/vax/include/intr.h4
-rw-r--r--sys/arch/vax/vax/machdep.c14
2 files changed, 15 insertions, 3 deletions
diff --git a/sys/arch/vax/include/intr.h b/sys/arch/vax/include/intr.h
index a3a3e76005b..5f225fdaf9e 100644
--- a/sys/arch/vax/include/intr.h
+++ b/sys/arch/vax/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.8 2007/05/16 19:37:06 thib Exp $ */
+/* $OpenBSD: intr.h,v 1.9 2008/08/18 23:08:55 miod Exp $ */
/* $NetBSD: intr.h,v 1.1 1998/08/18 23:55:00 matt Exp $ */
/*
@@ -42,7 +42,7 @@
#define IPL_SOFTNET 0x0c
#define IPL_BIO 0x15 /* block I/O */
#define IPL_NET 0x15 /* network */
-#define IPL_TTY 0x15 /* terminal */
+#define IPL_TTY 0x16 /* terminal */
#define IPL_VM 0x17 /* memory allocation */
#define IPL_AUDIO 0x15 /* audio */
#define IPL_CLOCK 0x18 /* clock */
diff --git a/sys/arch/vax/vax/machdep.c b/sys/arch/vax/vax/machdep.c
index 2d652f22d52..847792aeb58 100644
--- a/sys/arch/vax/vax/machdep.c
+++ b/sys/arch/vax/vax/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.97 2008/08/14 11:41:30 martin Exp $ */
+/* $OpenBSD: machdep.c,v 1.98 2008/08/18 23:08:57 miod Exp $ */
/* $NetBSD: machdep.c,v 1.108 2000/09/13 15:00:23 thorpej Exp $ */
/*
@@ -1051,6 +1051,18 @@ splassert_check(int wantipl, const char *func)
*/
if (oldvsbus != 0 && oldipl == 0x14)
oldipl = 0x15;
+
+ /*
+ * ... and then, IPL_TYY is now 0x16 because of KA60 interrupt
+ * assignments, so we should not mind if splassert(IPL_TTY) and
+ * IPL 0x15 on other machines.
+ */
+ if (wantipl == IPL_TTY && oldipl == 0x15) {
+#ifdef VAX60
+ if (vax_boardtype != VAX_BTYP_60)
+#endif
+ oldipl = 0x16;
+ }
if (oldipl < wantipl) {
splassert_fail(wantipl, oldipl, func);