Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sgimips/dev A start at O2 support..



details:   https://anonhg.NetBSD.org/src/rev/9a555e08aabe
branches:  trunk
changeset: 487899:9a555e08aabe
user:      soren <soren%NetBSD.org@localhost>
date:      Wed Jun 14 16:13:53 2000 +0000

description:
A start at O2 support..

diffstat:

 sys/arch/sgimips/dev/com_mace.c  |  134 +++++++++++++++++
 sys/arch/sgimips/dev/crime.c     |  106 +++++++++++++
 sys/arch/sgimips/dev/crimereg.h  |   39 +++++
 sys/arch/sgimips/dev/if_mec.c    |  301 +++++++++++++++++++++++++++++++++++++++
 sys/arch/sgimips/dev/if_mecreg.h |   76 +++++++++
 sys/arch/sgimips/dev/lpt_mace.c  |   96 ++++++++++++
 sys/arch/sgimips/dev/macaureg.h  |   54 ++++++
 sys/arch/sgimips/dev/mace.c      |  170 ++++++++++++++++++++++
 sys/arch/sgimips/dev/macereg.h   |   35 ++++
 sys/arch/sgimips/dev/macevar.h   |   47 ++++++
 10 files changed, 1058 insertions(+), 0 deletions(-)

diffs (truncated from 1098 to 300 lines):

diff -r b8ea6267e16c -r 9a555e08aabe sys/arch/sgimips/dev/com_mace.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sgimips/dev/com_mace.c   Wed Jun 14 16:13:53 2000 +0000
@@ -0,0 +1,134 @@
+/*     $NetBSD: com_mace.c,v 1.1 2000/06/14 16:13:53 soren Exp $       */
+
+/*
+ * Copyright (c) 2000 Soren S. Jorvang
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *          This product includes software developed for the
+ *          NetBSD Project.  See http://www.netbsd.org/ for
+ *          information about NetBSD.
+ * 4. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/ioctl.h>
+#include <sys/select.h>
+#include <sys/tty.h>
+#include <sys/proc.h>
+#include <sys/user.h>
+#include <sys/file.h>
+#include <sys/uio.h>
+#include <sys/kernel.h>
+#include <sys/syslog.h>
+#include <sys/types.h>
+#include <sys/device.h>
+
+#include <machine/cpu.h>
+#include <machine/locore.h>
+#include <machine/autoconf.h>
+#include <machine/bus.h>
+
+#include <sgimips/dev/macevar.h>
+
+#include <dev/ic/comreg.h>
+#include <dev/ic/comvar.h>
+
+struct com_mace_softc {
+       struct com_softc sc_com;
+
+       /* XXX intr cookie */
+};
+
+static int     com_mace_match(struct device *, struct cfdata *, void *);
+static void    com_mace_attach(struct device *, struct device *, void *);
+
+struct cfattach com_mace_ca = {
+       sizeof(struct com_mace_softc), com_mace_match, com_mace_attach
+};
+
+static int
+com_mace_match(parent, match, aux)
+       struct device *parent;
+       struct cfdata *match;
+       void *aux;
+{
+       return 1;
+}
+
+extern void *   crime_intr_establish(int, int, int, int (*)(void *), void *);
+
+int console = 0;
+
+static void
+com_mace_attach(parent, self, aux)
+       struct device *parent;
+       struct device *self;
+       void *aux;
+{
+       struct com_mace_softc *msc = (void *)self;
+       struct com_softc *sc = &msc->sc_com;
+       struct mace_attach_args *maa = aux;
+
+       sc->sc_iot = maa->maa_st;
+       sc->sc_ioh = maa->maa_sh;
+       sc->sc_iobase = maa->maa_sh;
+
+       sc->sc_frequency = COM_FREQ;
+
+       /* XXX console check */
+       /* XXX map */
+
+#define CONMODE ((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) | CS8) /* 8N1 */
+
+#if 0
+console = 1;
+#endif
+
+#if 0
+       console = GetEnvironmentVariable("console");
+
+       if console[0] = 'd'
+
+       dbaud = GetEnvironmentVariable("dbaud");
+
+       rate = strtoul(dbaud);
+
+#endif
+
+       delay(10000); 
+       /* if console    & dbaud */
+       if (console == 0) {
+               comcnattach(sc->sc_iot, sc->sc_ioh, 38400, COM_FREQ, CONMODE);
+               console = 1;
+       }
+       delay(10000);
+       com_attach_subr(sc);
+       delay(10000);
+
+       crime_intr_establish(0, 0, 0, comintr, sc);
+
+       return;
+}
diff -r b8ea6267e16c -r 9a555e08aabe sys/arch/sgimips/dev/crime.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sgimips/dev/crime.c      Wed Jun 14 16:13:53 2000 +0000
@@ -0,0 +1,106 @@
+/*     $NetBSD: crime.c,v 1.1 2000/06/14 16:13:54 soren Exp $  */
+
+/*
+ * Copyright (c) 2000 Soren S. Jorvang
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *          This product includes software developed for the
+ *          NetBSD Project.  See http://www.netbsd.org/ for
+ *          information about NetBSD.
+ * 4. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * O2 CRIME
+ */
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <sys/systm.h>
+
+#include <machine/cpu.h>
+#include <machine/locore.h>
+#include <machine/autoconf.h>
+#include <machine/bus.h>
+
+#include <dev/pci/pcivar.h>
+
+#include <sgimips/dev/crimereg.h>
+
+#include "locators.h"
+
+static int     crime_match(struct device *, struct cfdata *, void *);
+static void    crime_attach(struct device *, struct device *, void *);
+
+struct cfattach crime_ca = {
+       sizeof(struct device), crime_match, crime_attach
+};
+
+static int
+crime_match(parent, match, aux)
+       struct device *parent;
+       struct cfdata *match;
+       void *aux;
+{
+       struct mainbus_attach_args *ma = aux;
+
+       /*
+        * The CRIME is in the O2.
+        */
+       switch (ma->ma_arch) {
+       case 32:
+               return 1;
+       default:
+               return 0;
+       }
+}
+
+static void
+crime_attach(parent, self, aux)
+       struct device *parent;
+       struct device *self;
+       void *aux;
+{
+       struct mainbus_attach_args *ma = aux;
+       u_int32_t rev; /* really u_int64_t ! */
+       int major, minor;
+
+       rev = bus_space_read_4(ma->ma_iot, ma->ma_ioh, 4) & 0xff;
+
+       major = rev > 4;
+       minor = rev & 0x0f;
+
+       if (major == 0 && minor == 0)
+               printf(": petty\n");
+       else
+               printf(": rev %d.%d\n", major, minor);
+
+#if 0
+       *(volatile u_int64_t *)0xb4000018 = 0xffffffffffffffff;
+#else
+       /* enable all mace interrupts, but no crime devices */
+       *(volatile u_int64_t *)0xb4000018 = 0x000000000000ffff;
+#endif
+}
diff -r b8ea6267e16c -r 9a555e08aabe sys/arch/sgimips/dev/crimereg.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sgimips/dev/crimereg.h   Wed Jun 14 16:13:53 2000 +0000
@@ -0,0 +1,39 @@
+/*     $NetBSD: crimereg.h,v 1.1 2000/06/14 16:13:56 soren Exp $       */
+
+/*
+ * Copyright (c) 2000 Soren S. Jorvang
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *          This product includes software developed for the
+ *          NetBSD Project.  See http://www.netbsd.org/ for
+ *          information about NetBSD.
+ * 4. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * O2 CRIME register definitions
+ */
+
+/* XXX */
diff -r b8ea6267e16c -r 9a555e08aabe sys/arch/sgimips/dev/if_mec.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/sgimips/dev/if_mec.c     Wed Jun 14 16:13:53 2000 +0000
@@ -0,0 +1,301 @@
+/*     $NetBSD: if_mec.c,v 1.1 2000/06/14 16:13:57 soren Exp $ */
+
+/*
+ * Copyright (c) 2000 Soren S. Jorvang
+ * All rights reserved.



Home | Main Index | Thread Index | Old Index