Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
11/730 patches for netbsd-5
Here's simple patches for netbsd-5 to make the 11/730 work.
Thanks to Matt Thomas for helping with the bus scan.
I'm assuming someone could/will pull from the netbsd-5 branch to the
trunk, but I can make patch for the trunk too if that is easier.
--- src/sys/arch/vax/uba/uba_ubi.cx 1969-12-31 19:00:00.000000000 -0500
+++ src/sys/arch/vax/uba/uba_ubi.c 2009-01-22 11:55:33.000000000 -0500
@@ -0,0 +1,175 @@
+/* $NetBSD: uba_ubi.c,v 1.12 2003/08/07 16:30:14 agc Exp $ */
+/*
+ * Copyright (c) 1982, 1986 The Regents of the University of California.
+ * 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. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ *
+ * @(#)uba.c 7.10 (Berkeley) 12/16/90
+ * @(#)autoconf.c 7.20 (Berkeley) 5/9/91
+ */
+
+/*
+ * Copyright (c) 1996 Jonathan Stone.
+ * Copyright (c) 1994, 1996 Ludd, University of Lule}, Sweden.
+ *
+ * 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 by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ *
+ * @(#)uba.c 7.10 (Berkeley) 12/16/90
+ * @(#)autoconf.c 7.20 (Berkeley) 5/9/91
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: uba_ubi.c,v 1.12 2003/08/07 16:30:14 agc Exp $");
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <sys/systm.h>
+
+#define _VAX_BUS_DMA_PRIVATE
+#include <machine/bus.h>
+#include <machine/mtpr.h>
+#include <machine/nexus.h>
+#include <machine/cpu.h>
+#include <machine/sgmap.h>
+
+#include <dev/qbus/ubavar.h>
+
+#include <vax/uba/uba_common.h>
+
+#include "locators.h"
+
+/* Some UBI-specific defines */
+#define UBASIZE ((UBAPAGES + UBAIOPAGES) * VAX_NBPG)
+#define UMEM730 (0xfc0000)
+#define UIOPAGE (UMEM730 + (UBAPAGES * VAX_NBPG))
+
+/*
+ * The DW780, DW750 and DW730 are quite similar to their function from
+ * a programmers point of view. Differencies are number of BDP's
+ * and bus status/command registers, the latter are (partly) IPR's
+ * on 750.
+ */
+static int dw730_match(struct device *, struct cfdata *, void *);
+static void dw730_attach(struct device *, struct device *, void *);
+static void dw730_init(struct uba_softc*);
+#ifdef notyet
+static void dw730_purge(struct uba_softc *, int);
+#endif
+
+CFATTACH_DECL_NEW(uba_ubi, sizeof(struct uba_vsoftc),
+ dw730_match, dw730_attach, NULL, NULL);
+
+extern struct vax_bus_space vax_mem_bus_space;
+
+int
+dw730_match(device_t parent, cfdata_t cf, void *aux)
+{
+ struct sbi_attach_args *sa = (struct sbi_attach_args *)aux;
+
+ if (cf->cf_loc[UBICF_TR] != sa->sa_nexnum &&
+ cf->cf_loc[UBICF_TR] != UBICF_TR_DEFAULT)
+ return 0;
+ /*
+ * The uba type is actually only telling where the uba
+ * space is in nexus space.
+ */
+ if ((sa->sa_type & ~3) != NEX_UBA0)
+ return 0;
+
+ return 1;
+}
+
+void
+dw730_attach(device_t parent, device_t self, void *aux)
+{
+ struct uba_vsoftc *sc = device_private(self);
+ struct sbi_attach_args *sa = aux;
+
+ printf(": DW730\n");
+
+ /*
+ * Fill in bus specific data.
+ */
+ sc->uv_sc.uh_dev = self;
+ sc->uv_sc.uh_ubainit = dw730_init;
+#ifdef notyet
+ sc->uv_sc.uh_ubapurge = dw730_purge;
+#endif
+ sc->uv_sc.uh_iot = &vax_mem_bus_space;
+ sc->uv_sc.uh_dmat = &sc->uv_dmat;
+ sc->uv_sc.uh_type = UBA_UBA;
+ sc->uv_sc.uh_nr = sa->sa_type == NEX_UBA1;
+
+ /*
+ * Fill in variables used by the sgmap system.
+ */
+ sc->uv_size = UBAPAGES * VAX_NBPG;
+ sc->uv_uba = (void *)sa->sa_ioh; /* Map registers is in adaptor */
+
+ uba_dma_init(sc);
+ uba_attach(&sc->uv_sc, UIOPAGE);
+}
+
+void
+dw730_init(struct uba_softc *sc)
+{
+ mtpr(0, PR_IUR);
+ DELAY(500000);
+}
+
+#ifdef notyet
+void
+dw730_purge(struct uba_softc sc, int bdp)
+{
+ sc->uh_uba->uba_dpr[bdp] |= UBADPR_PURGE | UBADPR_NXM | UBADPR_UCE;
+}
+#endif
--- src/sys/arch/vax/vax/ubi.cx 1969-12-31 19:00:00.000000000 -0500
+++ src/sys/arch/vax/vax/ubi.c 2009-01-22 11:51:18.000000000 -0500
@@ -0,0 +1,117 @@
+/* $NetBSD: ubi.c,v 1.8 2003/07/15 02:15:03 lukem Exp $ */
+/*
+ * Copyright (c) 1999 Ludd, University of Lule}, Sweden.
+ * 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 at Ludd, University of
+ * Lule}, Sweden and its contributors.
+ * 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/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: ubi.c,v 1.8 2003/07/15 02:15:03 lukem Exp $");
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <sys/systm.h>
+
+#include <machine/bus.h>
+#include <machine/nexus.h>
+#include <machine/cpu.h>
+#include <machine/sid.h>
+#include <machine/ka730.h>
+
+static int ubi_print(void *, const char *);
+static int ubi_match(struct device *, struct cfdata *, void *);
+static void ubi_attach(struct device *, struct device *, void*);
+
+CFATTACH_DECL_NEW(ubi, sizeof(struct device),
+ ubi_match, ubi_attach, NULL, NULL);
+
+int
+ubi_print(void *aux, const char *name)
+{
+ struct sbi_attach_args *sa = (struct sbi_attach_args *)aux;
+
+ if (name)
+ aprint_normal("unknown device 0x%x at %s", sa->sa_type, name);
+
+ aprint_normal(" tr%d", sa->sa_nexnum);
+ return (UNCONF);
+}
+
+
+int
+ubi_match(struct device *parent, struct cfdata *cf, void *aux)
+{
+ if (vax_bustype == VAX_UNIBUS)
+ return 1;
+ return 0;
+}
+
+void
+ubi_attach(struct device *parent, struct device *self, void *aux)
+{
+ struct sbi_attach_args sa;
+
+ printf("\n");
+
+#define NEXPAGES (sizeof(struct nexus) / VAX_NBPG)
+
+#if 0
+ /*
+ * Probe for memory, can be in the first 4 slots.
+ */
+
+ for (sa.sa_nexnum = 0; sa.sa_nexnum < 4; sa.sa_nexnum++) {
+ sa.sa_ioh = vax_map_physmem(NEX730 +
+ sizeof(struct nexus) * sa.sa_nexnum, NEXPAGES);
+ if (badaddr((caddr_t)sa.sa_ioh, 4)) {
+ vax_unmap_physmem((vaddr_t)sa.sa_ioh, NEXPAGES);
+ } else {
+ sa.sa_type = NEX_MEM16;
+ config_found(self, (void*)&sa, ubi_print);
+ }
+ }
+#endif
+
+ /* VAX 730 fixed configuration */
+
+ /* memory */
+ sa.sa_nexnum = 0;
+ sa.sa_ioh = vax_map_physmem((int)NEX730 +
+ sizeof(struct nexus) * sa.sa_nexnum, NEXPAGES);
+ sa.sa_type = NEX_MEM16;
+ config_found(self, (void*)&sa, ubi_print);
+
+ printf("\n");
+
+ /* generic UBA */
+ sa.sa_nexnum = 3;
+ sa.sa_ioh = vax_map_physmem((int)NEX730 +
+ sizeof(struct nexus) * sa.sa_nexnum, NEXPAGES);
+ sa.sa_type = NEX_UBA0;
+ config_found(self, (void*)&sa, ubi_print);
+}
--- src/sys/arch/vax/include/ka730.hx 1969-12-31 19:00:00.000000000 -0500
+++ src/sys/arch/vax/include/ka730.h 2009-01-12 14:34:44.000000000 -0500
@@ -0,0 +1,46 @@
+/* $NetBSD: ka730.h,v 1.10 2002/12/01 21:21:45 matt Exp $ */
+
+/*
+ * Copyright (c) 1994 Ludd, University of Lule}, Sweden.
+ * 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 at Ludd, University of Lule}.
+ * 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.
+ */
+
+#ifndef _VAX_KA730_H_
+#define _VAX_KA730_H_
+
+#include <machine/nexus.h>
+
+#define V730UCODE(x) ((x>>8)&255)
+
+//#define NEX730 (0xf20000)
+#define NEX730SZ (NNEX730 * sizeof(struct nexus))
+
+/* 11/730 specific pages needed to be stolen when bootstrapping */
+#define V730PGS 4
+
+#endif /* _VAX_KA730_H_ */
--- src/sys/arch/vax/vax/ka730.cx 1969-12-31 19:00:00.000000000 -0500
+++ src/sys/arch/vax/vax/ka730.c 2009-01-22 11:58:14.000000000 -0500
@@ -0,0 +1,205 @@
+/* $NetBSD: ka730.c,v 1.36 2003/08/07 16:30:19 agc Exp $ */
+/*
+ * Copyright (c) 1982, 1986, 1988 The Regents of the University of California.
+ * 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. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ *
+ * @(#)ka730.c 7.4 (Berkeley) 5/9/91
+ * @(#)autoconf.c 7.20 (Berkeley) 5/9/91
+ */
+
+/*
+ * Copyright (c) 1994 Ludd, University of Lule}, Sweden.
+ * 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 by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
+ *
+ * @(#)ka730.c 7.4 (Berkeley) 5/9/91
+ * @(#)autoconf.c 7.20 (Berkeley) 5/9/91
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: ka730.c,v 1.36 2003/08/07 16:30:19 agc Exp $");
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <sys/systm.h>
+
+#include <machine/bus.h>
+#include <machine/ka730.h>
+#include <machine/mtpr.h>
+#include <machine/cpu.h>
+#include <machine/clock.h>
+#include <machine/sid.h>
+
+#include <vax/vax/gencons.h>
+
+#include "locators.h"
+
+void ctuattach(void);
+static void ka730_clrf(void);
+static void ka730_conf(void);
+static void ka730_memerr(void);
+static int ka730_mchk(void *t);
+static void ka730_attach_cpu(device_t);
+
+static const char * const ka730_devs[] = { "cpu", "ubi", NULL };
+
+struct cpu_dep ka730_calls = {
+ .cpu_mchk = ka730_mchk,
+ .cpu_memerr = ka730_memerr,
+ .cpu_conf = ka730_conf,
+ .cpu_gettime = generic_gettime,
+ .cpu_settime = generic_settime,
+ .cpu_vups = 1, /* ~VUPS */
+ .cpu_scbsz = 4, /* SCB pages */
+ .cpu_clrf = ka730_clrf,
+ .cpu_devs = ka730_devs,
+ .cpu_attach_cpu = ka730_attach_cpu,
+
+};
+
+void
+ka730_conf()
+{
+ /* Call ctuattach() here so it can setup its vectors. */
+ ctuattach();
+}
+
+void
+ka730_attach_cpu(device_t self)
+{
+ aprint_normal("KA730, ucode rev %d\n", V730UCODE(vax_cpudata));
+}
+
+static void ka730_memenable(struct device *, struct device *, void *);
+static int ka730_memmatch(struct device *, struct cfdata *, void *);
+
+CFATTACH_DECL(mem_ubi, sizeof(struct device),
+ ka730_memmatch, ka730_memenable, NULL, NULL);
+
+int
+ka730_memmatch(struct device *parent, struct cfdata *cf, void *aux)
+{
+ struct sbi_attach_args *sa = (struct sbi_attach_args *)aux;
+
+ if (cf->cf_loc[UBICF_TR] != sa->sa_nexnum &&
+ cf->cf_loc[UBICF_TR] > UBICF_TR_DEFAULT)
+ return 0;
+
+ if (sa->sa_type != NEX_MEM16)
+ return 0;
+
+ return 1;
+}
+
+struct mcr730 {
+ int mc_addr; /* address and syndrome */
+ int mc_err; /* error bits */
+};
+
+/* enable crd interrupts */
+void
+ka730_memenable(struct device *parent, struct device *self, void *aux)
+{
+}
+
+/* log crd errors */
+void
+ka730_memerr()
+{
+}
+
+#define NMC730 12
+const char
*mc730[]={"0","1","2","3","4","5","6","7","8","9","10","11","12","13",
+ "14","15"};
+
+struct mc730frame {
+ int mc3_bcnt; /* byte count == 0xc */
+ int mc3_summary; /* summary parameter (as above) */
+ int mc3_parm[2]; /* parameters */
+ int mc3_pc; /* trapped pc */
+ int mc3_psl; /* trapped psl */
+};
+
+int
+ka730_mchk(void *cmcf)
+{
+ register struct mc730frame *mcf = (struct mc730frame *)cmcf;
+ register int type = mcf->mc3_summary;
+
+ printf("machine check %x: %s\n",
+ type, type < NMC730 ? mc730[type] : "???");
+ printf("\tparams %x %x pc %x psl %x mcesr %x\n",
+ mcf->mc3_parm[0], mcf->mc3_parm[1],
+ mcf->mc3_pc, mcf->mc3_psl, mfpr(PR_MCESR));
+ mtpr(0xf, PR_MCESR);
+ return (MCHK_PANIC);
+}
+
+void
+ka730_clrf()
+{
+ int s = splhigh();
+
+#define WAIT while ((mfpr(PR_TXCS) & GC_RDY) == 0) ;
+
+ WAIT;
+
+ mtpr(GC_CWFL|GC_CONS, PR_TXDB);
+
+ WAIT;
+ mtpr(GC_CCFL|GC_CONS, PR_TXDB);
+
+ WAIT;
+ splx(s);
+}
--- src/sys/arch/vax/conf/VAX780x 1969-12-31 19:00:00.000000000 -0500
+++ src/sys/arch/vax/conf/VAX780 2009-01-12 14:43:32.000000000 -0500
@@ -0,0 +1,344 @@
+# $NetBSD$
+#
+# 11/780,750,730 machine description file
+#
+# This machine description file is used to generate a NetBSD for the
+# 11/780, 11/750 or 11/730 cpus.
+#
+# The machine description file can be customised for your specific
+# machine to reduce the kernel size and improve its performance.
+#
+# For further information on compiling NetBSD kernels, see the config(8)
+# man page.
+#
+# For further information on hardware support for this architecture, see
+# the intro(4) man page. For further information about kernel options
+# for this architecture, see the options(4) man page. For an explanation
+# of each device driver in this file see the section 4 man page for the
+# device.
+
+include "arch/vax/conf/std.vax"
+
+options INCLUDE_CONFIG_FILE # embed config file in kernel binary
+
+#ident "VAX780"
+
+# Here are all different supported CPU types listed.
+options VAX780
+options VAX750
+options VAX730
+
+# Max users on system; this is just a hint
+maxusers 8
+
+# Kernel compiled-in symbolic debugger & system call tracer
+makeoptions DEBUG="-g"
+options DDB
+#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
+options KTRACE
+#options DIAGNOSTIC
+#options DEBUG
+#options KMEMSTATS
+#options PMAPDEBUG
+#options TRAPDEBUG
+#options LOCKDEBUG
+
+#options SCSIVERBOSE # Verbose SCSI errors
+
+# Networking options
+#options GATEWAY # packet forwarding
+#options NTP # NTP kernel support
+options INET # IP + ICMP + TCP + UDP
+#options INET6 # IPV6
+#options IPSEC # IP security
+#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
+#options IPSEC_NAT_T # IPsec NAT traversal (NAT-T)
+#options IPSEC_DEBUG # debug for IP security
+#options MROUTING # IP multicast routing
+#options PIM # Protocol Independent Multicast
+#options NS # XNS
+#options NSIP # XNS tunneling over IP
+#options ISO,TPIP # OSI
+#options EON # OSI tunneling over IP
+#options NETATALK # AppleTalk networking protocols
+#options PPP_BSDCOMP # BSD-Compress compression support for PPP
+#options PPP_DEFLATE # Deflate compression support for PPP
+#options PPP_FILTER # Active filter support for PPP (requires bpf)
+#options PFIL_HOOKS # pfil(9) packet filter hooks
+#options IPFILTER_LOG # ipmon(8) log support
+#options IPFILTER_LOOKUP # ippool(8) support
+#options IPFILTER_DEFAULT_BLOCK # block all packets by default
+
+#options ALTQ # Manipulate network interfaces' output queues
+#options ALTQ_BLUE # Stochastic Fair Blue
+#options ALTQ_CBQ # Class-Based Queueing
+#options ALTQ_CDNR # Diffserv Traffic Conditioner
+#options ALTQ_FIFOQ # First-In First-Out Queue
+#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
+#options ALTQ_HFSC # Hierarchical Fair Service Curve
+#options ALTQ_LOCALQ # Local queueing discipline
+#options ALTQ_PRIQ # Priority Queueing
+#options ALTQ_RED # Random Early Detection
+#options ALTQ_RIO # RED with IN/OUT
+#options ALTQ_WFQ # Weighted Fair Queueing
+
+# All supported filesystem types
+file-system FFS
+#file-system LFS
+file-system MFS
+file-system NFS
+file-system FDESC
+file-system KERNFS
+file-system NULLFS
+#file-system OVERLAY # overlay file system
+file-system PROCFS
+file-system UMAPFS
+#file-system UNION
+#file-system CD9660
+file-system PTYFS # /dev/pts/N support
+#file-system TMPFS # Efficient memory file-system
+#file-system UDF # experimental - OSTA UDF CD/DVD file-system
+
+options QUOTA
+#options FFS_EI # FFS Endian Independant support
+options SOFTDEP # FFS soft updates support.
+#options WAPBL # File system journaling support - Experimental
+#options UFS_DIRHASH # UFS Large Directory Hashing - Experimental
+#options NFSSERVER
+options NFS_BOOT_BOOTP,NFS_BOOT_DHCP # Use bootp <> dhcp
+options NFS_BOOT_BOOTPARAM # Use the Sun way for netbooting.
+#options FFS_NO_SNAPSHOT # No FFS snapshot support
+
+# WS console uses VT100 terminal emulation
+#options WSEMUL_VT100
+#options WSDISPLAY_DEFAULTSCREENS=8
+#options FONT_QVSS8x15
+
+# System V shared memory & semaphores support.
+options SYSVMSG
+options SYSVSEM
+options SYSVSHM
+options P1003_1B_SEMAPHORE # p1003.1b semaphore support
+
+# Old compat stuff; needed to run 4.3BSD Reno programs.
+# Note that if COMPAT_ULTRIX is set, you lose compatibility with
+# 4.3BSD Reno programs and get Ultrix compatibility instead.
+# (They cannot coexist).
+options COMPAT_VAX1K # Must be present to run pre-1.4 binaries.
+options COMPAT_43
+options COMPAT_09
+options COMPAT_10
+options COMPAT_11
+options COMPAT_12
+options COMPAT_13
+options COMPAT_14
+options COMPAT_15
+options COMPAT_16
+options COMPAT_20
+options COMPAT_30 # NetBSD 3.0 compatibility.
+options COMPAT_40 # NetBSD 4.0 compatibility.
+options COMPAT_ULTRIX
+#options COMPAT_IBCS2 # DEC SVR.3 compatilibity
+#options NO_INSN_EMULATE # CPU does not lack some hardware instructions.
+options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
+
+options LKM
+
+options USERCONF # userconf(4) support
+#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
+options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
+
+# Enable experimental buffer queue strategy for better responsiveness under
+# high disk I/O load. Use it with caution - it's not proven to be stable yet.
+#options BUFQ_READPRIO
+#options BUFQ_PRIOCSCAN
+
+# Kernel(s) to compile
+config netbsd root on ? type ?
+
+mainbus0 at root
+
+cpu* at mainbus0
+
+# All buses; from the beginning attached to mainbus.
+sbi0 at mainbus0 # SBI, master bus on 11/780, 8600.
+cmi0 at mainbus0 # 11/750 internal bus.
+ubi0 at mainbus0 # 11/730 direct unibus
+#bi0 at mainbus0 # VAX 8200
+#vsbus0 at mainbus0 # All VAXstations
+#nmi0 at mainbus0 # VAX 8800
+#xmi0 at mainbus0 # VAX 6000
+#uba0 at mainbus0 # All MicroVAX
+#ze0 at mainbus0 # KA48, KA49, KA53
+#le0 at mainbus0 # LANCE ethernet (MV3400)
+#shac0 at mainbus0 # DSSI controller
+
+# NMI (internal bus) on VAX 88xx-series.
+#cpu* at nmi0 slot? # 1-4 KA88 CPUs
+#mem* at nmi0 slot?
+#bi* at nmi0 slot? # BI bus adapters
+
+# XMI on VAX 6000 (and higher)
+#cpu* at xmi? node? # 1-? VAX 6000 CPUs
+#mem* at xmi? node?
+#bi* at xmi? node? # XMI-BI adapter
+
+# Vsbus, the virtual VAXstation bus, and possible devices.
+#le0 at vsbus0 csr 0x200e0000 # LANCE ethernet
+#dz0 at vsbus0 csr 0x200a0000 # DC-367 DZ-11 lookalike ctlr
+#dz0 at vsbus0 csr 0x25000000 # VS4000/90 and 4000/10x serial line
+#si0 at vsbus0 csr 0x200c0080 # VS2000/3100 SCSI-ctlr
+#si1 at vsbus0 csr 0x200c0180 # VS2000/3100 SCSI-ctlr
+#asc0 at vsbus0 csr 0x200c0080 # VS4000/60 (or VLC) SCSI-ctlr
+#asc0 at vsbus0 csr 0x26000080 # VS4000/90 and 4000/10x SCSI-ctlr
+#smg0 at vsbus0 csr 0x200f0000 # Small monochrome display ctlr.
+#clr0 at vsbus0 csr 0x30000000 # 4- or 8-bitplans color graphics
+#spx0 at vsbus0 csr 0x38000000 # Low Cost SPX on VS4000/90.
+#lcg0 at vsbus0 csr 0x21801000 # VS4000/60 (or VLC) graphics
+#tc0 at vsbus0 csr 0x36000000 # VS4000/60 or 90 TC adapter
+#tcds* at tc0 slot ? offset ? # TC dual SCSI controller
+#asc* at tcds? chip ? # PMAZB/C
+#asc* at tc? slot ? offset ? # PMAZ
+#fta* at tc? slot ? offset ? # TC FDDI controller
+
+#hdc0 at vsbus0 csr 0x200c0000 # HDC9224 MFM/floppy ctlr
+#rd* at hdc0 drive? # RD5x disks
+#ry* at hdc0 drive? # RX floppies
+
+
+# Devices connected at VAXBI
+#cpu* at bi? node? # KA820/KA825 CPU
+#mem* at bi? node? # Memory subsystems
+#uba* at bi? node? # DWBUA BI-Unibus adapter
+#ni* at bi? node? # DEBNA/DEBNT ethernet adapter
+#kdb* at bi? node? # KDB50 MSCP disk ctlr
+
+# CMI (VAX 11/750)
+mem* at cmi? tr? # Memory subsystems
+uba* at cmi? tr? # Unibus adapters
+mba* at cmi? tr? # Massbus adapters
+
+# UBI (VAX 11/730)
+mem* at ubi? tr? # Memory subsystems
+uba* at ubi? tr? # Unibus adapters
+
+# SBI (VAX 11/780, VAX 8600)
+mem* at sbi? tr? # Memory subsystems
+uba* at sbi? tr? # Unibus adapters
+mba* at sbi? tr? # Massbus adapters
+
+# Devices on Massbus adapters
+#hp* at mba? drive? # RM/RP disk drives
+
+# Devices on Unibus/Qbus adapters
+uda* at uba? csr 0172150 # UDA50/RQDX?
+uda* at uba? csr 0160334
+mtc* at uba? csr 0174500 # Tape MSCP ctlr
+ts0 at uba? csr 0172520 # TS11/TSV05 tape.
+#qd0 at uba? csr 0177400 # 4- or 8-bitplans color graphics
+#qv0 at uba? csr 0177400 # Monochrome graphics
+de* at uba? csr 0174510 # DELUA/DEUNA
+#qe* at uba? csr 0174440 # DEQNA/DELQA
+#qe* at uba? csr 0174460 # DEQNA/DELQA
+#qt* at uba? csr 0174440 # DELQA-PLUS in Turbo mode
+#dhu* at uba? csr 0160440 # DHU-11
+#dmf* at uba? csr 0160340 # DMF-32
+#dz* at uba? csr 0160100 # DZ-11
+#dl* at uba? csr 0176500 # DL-11
+#rlc* at uba? csr 0174400 # RL11/RLV11 controller
+#rl* at rlc? drive? # RL01/RL02 disk drive
+#rfc0 at uba? csr 0177170 # RX01/02 controller
+#rf* at rfc? drive? # RX01/RX02 floppy disk drive
+
+# MSCP devices
+mscpbus* at uda?
+mscpbus* at mtc?
+#mscpbus* at kdb?
+
+ra* at mscpbus? drive? # MSCP disk
+rx* at mscpbus? drive? # MSCP floppy
+mt* at mscpbus? drive? # MSCP tape
+
+# SCSI devices
+#scsibus* at scsi?
+
+#sd* at scsibus? target? lun?
+#st* at scsibus? target? lun?
+#cd* at scsibus? target? lun?
+#ch* at scsibus? target? lun?
+#ss* at scsibus? target? lun?
+#uk* at scsibus? target? lun?
+
+# VAXstation graphics support
+#wsdisplay* at smg0
+#wsdisplay* at spx0
+#wsdisplay* at lcg0
+#wsdisplay* at clr0
+#wsdisplay* at qd0
+#wsdisplay* at qv0
+#lkkbd0 at dz0 line 0
+#wskbd* at lkkbd? console ?
+#lkms0 at dz0 line 1
+#wsmouse* at lkms?
+
+#
+# accept filters
+#pseudo-device accf_data # "dataready" accept filter
+#pseudo-device accf_http # "httpready" accept filter
+
+pseudo-device loop 1
+pseudo-device pty # pseudo-terminals
+#pseudo-device bpfilter
+#pseudo-device carp # Common Address Redundancy Protocol
+#pseudo-device ipfilter # IP filter (firewall) and NAT
+#pseudo-device sl
+#pseudo-device ppp
+#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
+#pseudo-device tun
+#pseudo-device tap # virtual Ethernet
+#pseudo-device gre # generic L3 over IP tunnel
+#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
+#pseudo-device faith # IPv[46] tcp relay translation i/f
+#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
+#pseudo-device vlan # IEEE 802.1q encapsulation
+#pseudo-device bridge # simple inter-network bridging
+#options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too
+#pseudo-device agr # IEEE 802.3ad link aggregation
+#pseudo-device vnd
+#options VND_COMPRESSION # compressed vnd(4)
+#pseudo-device ccd 4
+#pseudo-device cgd 4 # cryptographic disk devices
+#pseudo-device raid 8 # RAIDframe disk driver
+#options RAID_AUTOCONFIG # auto-configuration of RAID components
+# Options to enable various other RAIDframe RAID types.
+# options RF_INCLUDE_EVENODD=1
+# options RF_INCLUDE_RAID5_RS=1
+# options RF_INCLUDE_PARITYLOGGING=1
+# options RF_INCLUDE_CHAINDECLUSTER=1
+# options RF_INCLUDE_INTERDECLUSTER=1
+# options RF_INCLUDE_PARITY_DECLUSTERING=1
+# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
+#pseudo-device fss 4 # file system snapshot device
+pseudo-device rnd # /dev/random and in-kernel generator
+#pseudo-device leds # control the leds on vaxstations.
+pseudo-device clockctl # user control of clock subsystem
+pseudo-device ksyms # /dev/ksyms
+#pseudo-device wsmux # mouse & keyboard multiplexor
+#pseudo-device pf # PF packet filter
+#pseudo-device pflog # PF log if
+
+# Veriexec
+#
+# a pseudo device needed for veriexec
+#pseudo-device veriexec 1
+#
+# Uncomment the fingerprint methods below that are desired. Note that
+# removing fingerprint methods will have almost no impact on the kernel
+# code size.
+#
+#options VERIFIED_EXEC_FP_RMD160
+#options VERIFIED_EXEC_FP_SHA256
+#options VERIFIED_EXEC_FP_SHA384
+#options VERIFIED_EXEC_FP_SHA512
+#options VERIFIED_EXEC_FP_SHA1
+#options VERIFIED_EXEC_FP_MD5
--- src/sys/arch/vax/conf/files.vax.~1.112.~ 2008-08-12 13:54:47.000000000
-0400
+++ src/sys/arch/vax/conf/files.vax 2009-01-12 14:45:10.000000000 -0500
@@ -55,7 +55,15 @@
attach mem at cmi with mem_cmi
file arch/vax/vax/ka750.c vax750 | mem_cmi | vaxany
-file arch/vax/vax/ctu.c vax750 | mem_cmi | vaxany
+file arch/vax/vax/ctu.c vax750 | vax730 | mem_cmi | vaxany
+
+# Direct unibus interface
+device ubi { tr=-1 }
+attach ubi at mainbus
+file arch/vax/vax/ubi.c ubi
+
+attach mem at ubi with mem_ubi
+file arch/vax/vax/ka730.c vax730 | mem_ubi | vaxany
device vsbus { csr }: bus
attach vsbus at mainbus
@@ -108,6 +116,8 @@
file arch/vax/uba/uba_sbi.c uba_sbi
attach uba at cmi with uba_cmi
file arch/vax/uba/uba_cmi.c uba_cmi
+attach uba at ubi with uba_ubi
+file arch/vax/uba/uba_ubi.c uba_ubi
# BI bus definitions
include "dev/bi/files.bi"
--- src/sys/arch/vax/vax/locore.c.~1.75.~ 2008-03-11 01:34:03.000000000
-0400
+++ src/sys/arch/vax/vax/locore.c 2009-01-12 14:38:19.000000000 -0500
@@ -70,6 +70,7 @@
*/
extern const struct cpu_dep ka780_calls;
extern const struct cpu_dep ka750_calls;
+extern const struct cpu_dep ka730_calls;
extern const struct cpu_dep ka860_calls;
extern const struct cpu_dep ka820_calls;
extern const struct cpu_dep ka6400_calls;
@@ -125,6 +126,12 @@
strcpy(cpu_model, "VAX 11/750");
break;
#endif
+#if VAX730 || VAXANY
+ case VAX_BTYP_730:
+ dep_call = &ka730_calls;
+ strcpy(cpu_model, "VAX 11/730");
+ break;
+#endif
#if VAX8600 || VAXANY
case VAX_BTYP_790:
dep_call = &ka860_calls;
--- src/sys/dev/qbus/ts.c.~1.25.~ 2008-04-05 15:16:49.000000000 -0400
+++ src/sys/dev/qbus/ts.c 2009-01-21 13:46:01.000000000 -0500
@@ -529,7 +529,7 @@
TS_WCSR(TSSR, 0); /* start initialization */
while ((TS_RCSR(TSSR) & TS_SSR) == 0) {
DELAY(10000);
- if (timeout++ > 1000)
+ if (timeout++ > /*1000*/100)
return false;
}
return true;
Home |
Main Index |
Thread Index |
Old Index