Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch Merge forward from matt-nb5-mips64.
details: https://anonhg.NetBSD.org/src/rev/e8dfef33a993
branches: trunk
changeset: 762364:e8dfef33a993
user: matt <matt%NetBSD.org@localhost>
date: Sun Feb 20 07:48:33 2011 +0000
description:
Merge forward from matt-nb5-mips64.
diffstat:
sys/arch/evbmips/adm5120/machdep.c | 20 +-
sys/arch/evbmips/adm5120/mainbus.c | 27 +-
sys/arch/evbmips/alchemy/dbau1500.c | 6 +-
sys/arch/evbmips/alchemy/dbau1550.c | 6 +-
sys/arch/evbmips/alchemy/genericbd.c | 6 +-
sys/arch/evbmips/alchemy/mach_intr.c | 8 +-
sys/arch/evbmips/alchemy/machdep.c | 20 +-
sys/arch/evbmips/alchemy/mainbus.c | 18 +-
sys/arch/evbmips/alchemy/mtx-1.c | 6 +-
sys/arch/evbmips/alchemy/obio.c | 21 +-
sys/arch/evbmips/alchemy/omsal400.c | 6 +-
sys/arch/evbmips/atheros/mach_intr.c | 8 +-
sys/arch/evbmips/atheros/machdep.c | 29 +-
sys/arch/evbmips/atheros/mainbus.c | 19 +-
sys/arch/evbmips/conf/ADM5120 | 8 +-
sys/arch/evbmips/conf/ADM5120-NB | 6 +-
sys/arch/evbmips/conf/ADM5120-USB | 6 +-
sys/arch/evbmips/conf/ALCHEMY | 8 +-
sys/arch/evbmips/conf/AP30 | 6 +-
sys/arch/evbmips/conf/INSTALL_XLSATX32 | 14 +
sys/arch/evbmips/conf/INSTALL_XLSATX64 | 14 +
sys/arch/evbmips/conf/MALTA | 8 +-
sys/arch/evbmips/conf/MALTA32.MP | 8 +
sys/arch/evbmips/conf/MALTA64 | 6 +-
sys/arch/evbmips/conf/MALTA64.MP | 8 +
sys/arch/evbmips/conf/MERAKI | 8 +-
sys/arch/evbmips/conf/RB153 | 9 +-
sys/arch/evbmips/conf/WGT624V3 | 8 +-
sys/arch/evbmips/conf/XLS6ATX_7A | 196 ---
sys/arch/evbmips/conf/XLS6ATX_7A64 | 9 -
sys/arch/evbmips/conf/XLSATX | 217 +++
sys/arch/evbmips/conf/XLSATX32 | 8 +
sys/arch/evbmips/conf/XLSATX64 | 10 +
sys/arch/evbmips/conf/XLSATX64.MP | 19 +
sys/arch/evbmips/conf/files.adm5120 | 3 +-
sys/arch/evbmips/conf/files.alchemy | 3 +-
sys/arch/evbmips/conf/files.atheros | 3 +-
sys/arch/evbmips/conf/files.malta | 5 +-
sys/arch/evbmips/conf/files.rmixl | 9 +-
sys/arch/evbmips/conf/std.malta | 3 +-
sys/arch/evbmips/conf/std.rmixl | 9 +-
sys/arch/evbmips/evbmips/cpu.c | 9 +-
sys/arch/evbmips/evbmips/interrupt.c | 76 +-
sys/arch/evbmips/evbmips/yamon.c | 19 +-
sys/arch/evbmips/gdium/machdep.c | 12 +-
sys/arch/evbmips/include/bus.h | 8 +-
sys/arch/evbmips/include/intr.h | 65 +-
sys/arch/evbmips/include/vmparam.h | 11 +-
sys/arch/evbmips/malta/machdep.c | 61 +-
sys/arch/evbmips/malta/malta_dma.c | 49 +-
sys/arch/evbmips/malta/malta_intr.c | 76 +-
sys/arch/evbmips/malta/maltavar.h | 3 +-
sys/arch/evbmips/malta/pci/pci_machdep.c | 24 +-
sys/arch/evbmips/malta/pci/pcib.c | 155 +-
sys/arch/evbmips/rmixl/autoconf.c | 5 +-
sys/arch/evbmips/rmixl/autoconf.h | 17 +
sys/arch/evbmips/rmixl/cpu.c | 70 -
sys/arch/evbmips/rmixl/machdep.c | 481 +++++--
sys/arch/mips/adm5120/adm5120_extio.c | 6 +-
sys/arch/mips/adm5120/adm5120_intr.c | 54 +-
sys/arch/mips/adm5120/adm5120_obio.c | 28 +-
sys/arch/mips/adm5120/adm5120_obio_dma.c | 25 +-
sys/arch/mips/adm5120/dev/admgpio.c | 6 +-
sys/arch/mips/adm5120/dev/admpci.c | 9 +-
sys/arch/mips/adm5120/include/adm5120_mainbusvar.h | 4 +-
sys/arch/mips/alchemy/au1000.c | 4 +-
sys/arch/mips/alchemy/au1100.c | 6 +-
sys/arch/mips/alchemy/au1500.c | 6 +-
sys/arch/mips/alchemy/au1550.c | 6 +-
sys/arch/mips/alchemy/au_chipdep.c | 6 +-
sys/arch/mips/alchemy/au_icu.c | 51 +-
sys/arch/mips/alchemy/au_timer.c | 19 +-
sys/arch/mips/alchemy/aubus.c | 32 +-
sys/arch/mips/alchemy/dev/aupci.c | 6 +-
sys/arch/mips/alchemy/include/auvar.h | 4 +-
sys/arch/mips/atheros/ar5312_intr.c | 54 +-
sys/arch/mips/atheros/ar5315_intr.c | 52 +-
sys/arch/mips/atheros/arbus.c | 53 +-
sys/arch/mips/atheros/include/ar531xvar.h | 4 +-
sys/arch/mips/rmi/rmixl_com.c | 73 +-
sys/arch/mips/rmi/rmixl_cpu.c | 487 +++++++
sys/arch/mips/rmi/rmixl_cpucore.c | 200 +++
sys/arch/mips/rmi/rmixl_cpucorevar.h | 56 +
sys/arch/mips/rmi/rmixl_cpunode.c | 148 ++
sys/arch/mips/rmi/rmixl_cpunodevar.h | 46 +
sys/arch/mips/rmi/rmixl_cpuvar.h | 46 +
sys/arch/mips/rmi/rmixl_ehci.c | 131 ++
sys/arch/mips/rmi/rmixl_firmware.h | 68 +-
sys/arch/mips/rmi/rmixl_fmn.c | 1159 ++++++++++++++++++
sys/arch/mips/rmi/rmixl_fmnvar.h | 292 ++++
sys/arch/mips/rmi/rmixl_intr.c | 1271 ++++++++++++-------
sys/arch/mips/rmi/rmixl_intr.h | 110 +
sys/arch/mips/rmi/rmixl_mainbus.c | 99 +-
sys/arch/mips/rmi/rmixl_obio.c | 132 +-
sys/arch/mips/rmi/rmixl_obio_eb_space.c | 62 +
sys/arch/mips/rmi/rmixl_obio_el_space.c | 62 +
sys/arch/mips/rmi/rmixl_obio_space.c | 62 -
sys/arch/mips/rmi/rmixl_obiovar.h | 38 +-
sys/arch/mips/rmi/rmixl_ohci.c | 132 ++
sys/arch/mips/rmi/rmixl_pci_cfg_space.c | 65 +
sys/arch/mips/rmi/rmixl_pci_ecfg_space.c | 65 +
sys/arch/mips/rmi/rmixl_pci_io_space.c | 63 +
sys/arch/mips/rmi/rmixl_pci_mem_space.c | 63 +
sys/arch/mips/rmi/rmixl_pcie.c | 738 +++++++++--
sys/arch/mips/rmi/rmixl_pcie_cfg_space.c | 65 -
sys/arch/mips/rmi/rmixl_pcie_ecfg_space.c | 65 -
sys/arch/mips/rmi/rmixl_pcie_io_space.c | 63 -
sys/arch/mips/rmi/rmixl_pcie_mem_space.c | 63 -
sys/arch/mips/rmi/rmixl_pcievar.h | 75 +-
sys/arch/mips/rmi/rmixl_pcix.c | 1181 ++++++++++++++++++
sys/arch/mips/rmi/rmixl_pcixvar.h | 84 +
sys/arch/mips/rmi/rmixl_spl.S | 383 ++++++
sys/arch/mips/rmi/rmixl_subr.S | 140 ++-
sys/arch/mips/rmi/rmixl_usbi.c | 359 +++++
sys/arch/mips/rmi/rmixl_usbivar.h | 50 +
sys/arch/mips/rmi/rmixlreg.h | 528 +++++++-
sys/arch/mips/rmi/rmixlvar.h | 154 +-
117 files changed, 8994 insertions(+), 2271 deletions(-)
diffs (truncated from 14810 to 300 lines):
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/adm5120/machdep.c
--- a/sys/arch/evbmips/adm5120/machdep.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/adm5120/machdep.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.19 2011/02/08 20:20:11 rmind Exp $ */
+/* $NetBSD: machdep.c,v 1.20 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.19 2011/02/08 20:20:11 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.20 2011/02/20 07:48:33 matt Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -123,12 +123,10 @@
#define MEMSIZE 4 * 1024 * 1024
#endif /* !MEMSIZE */
-/* Our exported CPU info; we can have only one. */
-struct cpu_info cpu_info_store;
-
/* Maps for VM objects. */
struct vm_map *phys_map = NULL;
+int physmem; /* # pages of physical memory */
int maxmem; /* max memory per process */
int mem_cluster_cnt;
@@ -273,7 +271,6 @@
struct adm5120_config *admc = &adm5120_configuration;
uint32_t memsize;
vaddr_t kernend;
- u_long first, last;
extern char edata[], end[]; /* XXX */
@@ -293,7 +290,7 @@
* functions called during startup.
* Also clears the I+D caches.
*/
- mips_vector_init();
+ mips_vector_init(NULL, false);
/*
* Set the VM page size.
@@ -378,10 +375,8 @@
/*
* Load the rest of the available pages into the VM system.
*/
- first = round_page(MIPS_KSEG0_TO_PHYS(kernend));
- last = mem_clusters[0].start + mem_clusters[0].size;
- uvm_page_physload(atop(first), atop(last), atop(first), atop(last),
- VM_FREELIST_DEFAULT);
+ mips_page_physload(MIPS_KSEG0_START, (vaddr_t) kernend,
+ mem_clusters, mem_cluster_cnt, NULL, 0);
/*
* Initialize message buffer (at end of core).
@@ -471,8 +466,7 @@
static int waittime = -1;
/* Take a snapshot before clobbering any registers. */
- if (curproc)
- savectx(curpcb);
+ savectx(curpcb);
/* If "always halt" was specified as a boot flag, obey. */
if (boothowto & RB_HALT)
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/adm5120/mainbus.c
--- a/sys/arch/evbmips/adm5120/mainbus.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/adm5120/mainbus.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mainbus.c,v 1.1 2007/03/20 08:52:00 dyoung Exp $ */
+/* $NetBSD: mainbus.c,v 1.2 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.1 2007/03/20 08:52:00 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.2 2011/02/20 07:48:33 matt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -83,11 +83,11 @@
#include "locators.h"
-static int mainbus_match(struct device *, struct cfdata *, void *);
-static void mainbus_attach(struct device *, struct device *, void *);
+static int mainbus_match(device_t, cfdata_t, void *);
+static void mainbus_attach(device_t, device_t, void *);
static int mainbus_print(void *, const char *);
-CFATTACH_DECL(mainbus, sizeof(struct mainbus_softc),
+CFATTACH_DECL_NEW(mainbus, sizeof(struct mainbus_softc),
mainbus_match, mainbus_attach, NULL, NULL);
/* There can be only one. */
@@ -97,7 +97,7 @@
const char *md_name;
};
-struct mainbusdev mainbusdevs[] = {
+const struct mainbusdev mainbusdevs[] = {
{"cpu" },
{"obio" },
{"extio" },
@@ -110,11 +110,11 @@
{
if (bus_space_map(sc->sc_obiot, ADM5120_BASE_SWITCH, 512, 0,
&sc->sc_gpioh) != 0){
- printf("%s: unable to map switch\n", device_xname(&sc->sc_dev));
+ aprint_error_dev(sc->sc_dev, "unable to map switch\n");
return;
}
#if 0
- printf("%s: memcont 0x%08" PRIx32 "\n", device_xname(&sc->sc_dev),
+ aprint_normal_dev(sc->sc_dev, "memcont 0x%08" PRIx32 "\n",
bus_space_read_4(sc->sc_obiot, sc->sc_gpioh, 0x1c));
#endif
sc->sc_gpio = admgpio_attach(sc);
@@ -122,22 +122,23 @@
static int
-mainbus_match(struct device *parent, struct cfdata *match, void *aux)
+mainbus_match(device_t parent, cfdata_t match, void *aux)
{
return !mainbus_found;
}
static void
-mainbus_attach(struct device *parent, struct device *self, void *aux)
+mainbus_attach(device_t parent, device_t self, void *aux)
{
- struct mainbus_softc *sc = (struct mainbus_softc *)self;
+ struct mainbus_softc *sc = device_private(self);
struct mainbus_attach_args ma;
- struct mainbusdev *md;
+ const struct mainbusdev *md;
struct adm5120_config *admc = &adm5120_configuration;
mainbus_found = 1;
- printf("\n");
+ aprint_normal("\n");
+ sc->sc_dev = self;
sc->sc_obiot = &admc->obio_space;
mainbus_gpio_attach(sc);
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/alchemy/dbau1500.c
--- a/sys/arch/evbmips/alchemy/dbau1500.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/alchemy/dbau1500.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dbau1500.c,v 1.3 2006/02/16 01:52:37 gdamore Exp $ */
+/* $NetBSD: dbau1500.c,v 1.4 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dbau1500.c,v 1.3 2006/02/16 01:52:37 gdamore Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dbau1500.c,v 1.4 2011/02/20 07:48:33 matt Exp $");
#include <sys/param.h>
#include <machine/bus.h>
@@ -80,7 +80,7 @@
{
uint32_t whoami;
- if (MIPS_PRID_COPTS(cpu_id) != MIPS_AU1500)
+ if (MIPS_PRID_COPTS(mips_options.mips_cpu_id) != MIPS_AU1500)
panic("dbau1500: CPU not an AU1500!");
/* check the whoami register for a match */
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/alchemy/dbau1550.c
--- a/sys/arch/evbmips/alchemy/dbau1550.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/alchemy/dbau1550.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dbau1550.c,v 1.8 2007/01/24 13:08:14 hubertf Exp $ */
+/* $NetBSD: dbau1550.c,v 1.9 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dbau1550.c,v 1.8 2007/01/24 13:08:14 hubertf Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dbau1550.c,v 1.9 2011/02/20 07:48:33 matt Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -115,7 +115,7 @@
uint32_t sysclk;
uint32_t pinfunc;
- if (MIPS_PRID_COPTS(cpu_id) != MIPS_AU1550)
+ if (MIPS_PRID_COPTS(mips_options.mips_cpu_id) != MIPS_AU1550)
panic("dbau1550: CPU not Au1550");
/* check the whoami register for a match */
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/alchemy/genericbd.c
--- a/sys/arch/evbmips/alchemy/genericbd.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/alchemy/genericbd.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: genericbd.c,v 1.1 2006/02/08 09:04:01 gdamore Exp $ */
+/* $NetBSD: genericbd.c,v 1.2 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genericbd.c,v 1.1 2006/02/08 09:04:01 gdamore Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genericbd.c,v 1.2 2011/02/20 07:48:33 matt Exp $");
#include <sys/param.h>
#include <machine/bus.h>
@@ -74,6 +74,8 @@
const struct alchemy_board *
board_info(void)
{
+ const mips_prid_t cpu_id = mips_options.mips_cpu_id;
+
/* at least try to report the correct processor name */
if (genericbd_info.ab_name == NULL) {
int i;
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/alchemy/mach_intr.c
--- a/sys/arch/evbmips/alchemy/mach_intr.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/alchemy/mach_intr.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mach_intr.c,v 1.3 2008/04/28 20:23:17 martin Exp $ */
+/* $NetBSD: mach_intr.c,v 1.4 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mach_intr.c,v 1.3 2008/04/28 20:23:17 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mach_intr.c,v 1.4 2011/02/20 07:48:33 matt Exp $");
#include "opt_ddb.h"
@@ -63,8 +63,8 @@
}
void
-evbmips_iointr(uint32_t status, uint32_t cause, uint32_t pc, uint32_t ipending)
+evbmips_iointr(int ipl, uint32_t pc, uint32_t ipending)
{
- au_iointr(status, cause, pc, ipending);
+ au_iointr(ipl, pc, ipending);
}
diff -r 17af4568f0a5 -r e8dfef33a993 sys/arch/evbmips/alchemy/machdep.c
--- a/sys/arch/evbmips/alchemy/machdep.c Sun Feb 20 07:47:38 2011 +0000
+++ b/sys/arch/evbmips/alchemy/machdep.c Sun Feb 20 07:48:33 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.48 2011/02/08 20:20:12 rmind Exp $ */
+/* $NetBSD: machdep.c,v 1.49 2011/02/20 07:48:33 matt Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.48 2011/02/08 20:20:12 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.49 2011/02/20 07:48:33 matt Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -125,12 +125,10 @@
#include "ohci.h"
-/* Our exported CPU info; we can have only one. */
-struct cpu_info cpu_info_store;
-
/* Maps for VM objects. */
struct vm_map *phys_map = NULL;
+int physmem; /* # pages of physical memory */
int maxmem; /* max memory per process */
int mem_cluster_cnt;
@@ -147,7 +145,6 @@
Home |
Main Index |
Thread Index |
Old Index