summaryrefslogtreecommitdiff
path: root/sys/arch/vax/vsa/vsbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/vax/vsa/vsbus.c')
-rw-r--r--sys/arch/vax/vsa/vsbus.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/arch/vax/vsa/vsbus.c b/sys/arch/vax/vsa/vsbus.c
index 5d9e57c6d18..1d4ab0daca8 100644
--- a/sys/arch/vax/vsa/vsbus.c
+++ b/sys/arch/vax/vsa/vsbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vsbus.c,v 1.15 2004/07/07 23:10:46 deraadt Exp $ */
+/* $OpenBSD: vsbus.c,v 1.16 2006/07/16 22:40:44 miod Exp $ */
/* $NetBSD: vsbus.c,v 1.29 2000/06/29 07:14:37 mrg Exp $ */
/*
* Copyright (c) 1996, 1999 Ludd, University of Lule}, Sweden.
@@ -106,6 +106,8 @@ struct cfdriver vsbus_cd = {
NULL, "vsbus", DV_DULL
};
+int oldvsbus;
+
int
vsbus_print(aux, name)
void *aux;
@@ -261,6 +263,14 @@ vsbus_search(parent, cfd, aux)
if (vec == 0)
goto fail;
+ /*
+ * For proper splassert operation, we need to know if we are on
+ * a vsbus system where its devices interrupt at level 0x14 instead
+ * of 0x15.
+ */
+ if (br == 0x14)
+ oldvsbus = 1;
+
va.va_br = br;
va.va_cvec = vec;
va.va_dmaaddr = sc->sc_dmaaddr;