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