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