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);
}