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.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/sys/arch/vax/vsa/vsbus.c b/sys/arch/vax/vsa/vsbus.c
index 2c3d8766f17..0137c290cae 100644
--- a/sys/arch/vax/vsa/vsbus.c
+++ b/sys/arch/vax/vsa/vsbus.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: vsbus.c,v 1.2 1997/05/29 00:05:36 niklas Exp $ */
-/* $NetBSD: vsbus.c,v 1.4 1996/10/13 03:36:17 christos Exp $ */
+/* $OpenBSD: vsbus.c,v 1.3 1997/09/10 12:08:37 maja Exp $ */
+/* $NetBSD: vsbus.c,v 1.6 1997/03/22 23:05:31 ragge Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -90,7 +90,7 @@ void vsbus_intr_dispatch __P((int i));
struct confargs *vsbus_devs = NULL;
-#ifdef VAX410 /* also: KA420 */
+#ifdef VAX410
struct confargs ka410_devs[] = {
/* name intslot intpri intvec intbit ioaddr */
{ "dc", 7, 7, 0x2C0, (1<<7), KA410_SER_BASE,
@@ -114,6 +114,22 @@ struct confargs ka410_devs[] = {
#endif
{ "" },
};
+
+/*
+ * It would be better if we could use the (provided) system config
+ * information for each CPU instead of this.
+ */
+struct confargs ka420_devs[] = {
+ { "le", 5, 5, 0x250, (1<<5), KA410_LAN_BASE,
+ KA410_NWA_BASE, 0x00, },
+ { "ncr", 1, 1, 0x3F8, (1<<1), KA410_SCS_BASE,
+ KA410_SCS_DADR, KA410_SCS_DCNT, KA410_SCS_DDIR,
+ KA410_DMA_BASE, KA410_DMA_SIZE, 0x00, 0x07, },
+ { "ncr", 0, 0, 0x3FC, (1<<0), 0x200C0180,
+ 0x200C01A0, 0x200C01C0, 0x200C01C4,
+ KA410_DMA_BASE, KA410_DMA_SIZE, 0x00, 0x07, },
+ { "" },
+};
#endif
#ifdef VAX43
@@ -233,18 +249,21 @@ vsbus_attach(parent, self, aux)
printf("\n");
trace (("vsbus_attach()\n"));
- printf("vsbus_attach: boardtype = %x\n", vax_boardtype);
-
switch (vax_boardtype) {
- case VAX_BTYP_410:
case VAX_BTYP_420:
+ vsbus_devs = ka420_devs;
+ break;
+
+ case VAX_BTYP_410:
vsbus_devs = ka410_devs;
break;
case VAX_BTYP_43:
case VAX_BTYP_46:
case VAX_BTYP_49:
+#ifdef VAX43
vsbus_devs = ka43_devs;
+#endif
break;
default: