Preparing for KA60 support, crank IPL_TTY to level 0x16 (since it is
authormiod <miod@openbsd.org>
Mon, 18 Aug 2008 23:08:55 +0000 (23:08 +0000)
committermiod <miod@openbsd.org>
Mon, 18 Aug 2008 23:08:55 +0000 (23:08 +0000)
hardwired this way on KA60...), and compensate in splassert_check() when
serial device interrupts will remain at 0x14 or 0x15.

sys/arch/vax/include/intr.h
sys/arch/vax/vax/machdep.c

index a3a3e76..5f225fd 100644 (file)
@@ -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 */
index 2d652f2..847792a 100644 (file)
@@ -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);