Subject: 3max serial ports (was Re: snapshot available)
To: <>
From: Simon Burge <simonb@netbsd.org>
List: port-pmax
Date: 12/08/1999 12:09:14
How does the following look?  Maybe something can be designed that's a
little cleaner, but this should at least get things going.  It appears
that my 5100 was working just because KN01_SYS_DZ == KN230_SYS_DZ0...

Simon.
--

Index: dc_ds.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/pmax/dev/dc_ds.c,v
retrieving revision 1.11
diff -p -u -r1.11 dc_ds.c
--- dc_ds.c	1999/12/08 00:13:33	1.11
+++ dc_ds.c	1999/12/08 01:05:11
@@ -29,6 +29,9 @@
 #include <pmax/dev/dc_cons.h>
 #include <pmax/dev/dc_ds_cons.h>
 #include <pmax/pmax/kn01.h>
+#include <pmax/pmax/kn02.h>
+#include <pmax/pmax/kn230.h>
+#include <pmax/pmax/pmaxtype.h>
 
 /*
  * Autoconfig definition of driver front-end
@@ -48,14 +51,26 @@ int
 dc_ds_consinit(dev)
 	dev_t dev;
 {
-#if defined(DEBUG) && 1			/* XXX untested */
-	printf("dc_ds(%d,%d): serial console at 0x%x\n",
-	       minor(dev) >> 2, minor(dev) & 03,
-	       MIPS_PHYS_TO_KSEG1(KN01_SYS_DZ));
-#endif
-	/* let any  pending PROM output from boot drain */
+	u_int32_t dcaddr;
+
+	switch (systype) {
+	  case DS_PMAX:
+		dcaddr = KN01_SYS_DZ;
+		break;
+	  case DS_3MAX:
+		dcaddr = KN02_SYS_DZ;
+		break;
+	  case DS_MIPSMATE:
+		dcaddr = KN230_SYS_DZ0;
+		break;
+	  default:
+		/* XXX error?? */
+		break;
+	}
+
+	/* let any pending PROM output from boot drain */
 	DELAY(100000);
-	dc_consinit(dev, (void *)MIPS_PHYS_TO_KSEG1(KN01_SYS_DZ));
+	dc_consinit(dev, (void *)MIPS_PHYS_TO_KSEG1(dcaddr));
 	return (1);
 }