Module Name: src Committed By: matt Date: Sat Jul 9 16:03:01 UTC 2011
Modified Files: src/sys/arch/algor/algor: algor_p4032_bus_io.c algor_p4032_bus_locio.c algor_p4032_intr.c algor_p5064_bus_io.c algor_p5064_bus_mem.c algor_p5064_intr.c algor_p6032_bus_io.c algor_p6032_bus_mem.c algor_p6032_intr.c autoconf.c led.c machdep.c src/sys/arch/algor/conf: files.algor std.algor src/sys/arch/algor/dev: bonito_mainbus.c com_mainbus.c lpt_mainbus.c mainbus.c mcclock_mainbus.c vtpbc_mainbus.c src/sys/arch/algor/include: autoconf.h intr.h src/sys/arch/algor/pci: pcib.c src/sys/arch/evbmips/conf: files.malta src/sys/arch/evbmips/include: intr.h vmparam.h Added Files: src/sys/arch/algor/algor: algor_intr.c src/sys/arch/evbmips/conf: P4032 P5064 P5064-64 P6032 files.algor std.algor src/sys/arch/evbmips/include: pmon.h Removed Files: src/sys/arch/algor/algor: disksubr.c interrupt.c src/sys/arch/algor/pci: pciide_machdep.c src/sys/arch/evbmips/malta/pci: pciide_machdep.c Log Message: Allow algor kernels to be built under either algor/algor64 or evbmips-el/evbmips64-el. Note that MAXMAPARITITONS and majors numbers differ between the two ports which is why two kernels are still needed. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/sys/arch/algor/algor/algor_intr.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/algor/algor/algor_p4032_bus_io.c \ src/sys/arch/algor/algor/algor_p5064_bus_io.c \ src/sys/arch/algor/algor/led.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/algor/algor/algor_p4032_bus_locio.c \ src/sys/arch/algor/algor/algor_p5064_bus_mem.c \ src/sys/arch/algor/algor/algor_p6032_bus_io.c \ src/sys/arch/algor/algor/algor_p6032_bus_mem.c cvs rdiff -u -r1.23 -r1.24 src/sys/arch/algor/algor/algor_p4032_intr.c cvs rdiff -u -r1.26 -r1.27 src/sys/arch/algor/algor/algor_p5064_intr.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/algor/algor/algor_p6032_intr.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/algor/algor/autoconf.c cvs rdiff -u -r1.17 -r0 src/sys/arch/algor/algor/disksubr.c cvs rdiff -u -r1.16 -r0 src/sys/arch/algor/algor/interrupt.c cvs rdiff -u -r1.50 -r1.51 src/sys/arch/algor/algor/machdep.c cvs rdiff -u -r1.28 -r1.29 src/sys/arch/algor/conf/files.algor cvs rdiff -u -r1.8 -r1.9 src/sys/arch/algor/conf/std.algor cvs rdiff -u -r1.13 -r1.14 src/sys/arch/algor/dev/bonito_mainbus.c \ src/sys/arch/algor/dev/com_mainbus.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/algor/dev/lpt_mainbus.c \ src/sys/arch/algor/dev/mcclock_mainbus.c cvs rdiff -u -r1.24 -r1.25 src/sys/arch/algor/dev/mainbus.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/algor/dev/vtpbc_mainbus.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/algor/include/autoconf.h cvs rdiff -u -r1.14 -r1.15 src/sys/arch/algor/include/intr.h cvs rdiff -u -r1.23 -r1.24 src/sys/arch/algor/pci/pcib.c cvs rdiff -u -r1.5 -r0 src/sys/arch/algor/pci/pciide_machdep.c cvs rdiff -u -r0 -r1.1 src/sys/arch/evbmips/conf/P4032 \ src/sys/arch/evbmips/conf/P5064 src/sys/arch/evbmips/conf/P5064-64 \ src/sys/arch/evbmips/conf/P6032 src/sys/arch/evbmips/conf/files.algor \ src/sys/arch/evbmips/conf/std.algor cvs rdiff -u -r1.17 -r1.18 src/sys/arch/evbmips/conf/files.malta cvs rdiff -u -r1.18 -r1.19 src/sys/arch/evbmips/include/intr.h cvs rdiff -u -r0 -r1.1 src/sys/arch/evbmips/include/pmon.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbmips/include/vmparam.h cvs rdiff -u -r1.5 -r0 src/sys/arch/evbmips/malta/pci/pciide_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/algor/algor/algor_p4032_bus_io.c diff -u src/sys/arch/algor/algor/algor_p4032_bus_io.c:1.6 src/sys/arch/algor/algor/algor_p4032_bus_io.c:1.7 --- src/sys/arch/algor/algor/algor_p4032_bus_io.c:1.6 Fri Jul 8 18:48:55 2011 +++ src/sys/arch/algor/algor/algor_p4032_bus_io.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p4032_bus_io.c,v 1.6 2011/07/08 18:48:55 matt Exp $ */ +/* $NetBSD: algor_p4032_bus_io.c,v 1.7 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p4032_bus_io.c,v 1.6 2011/07/08 18:48:55 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p4032_bus_io.c,v 1.7 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p4032reg.h> #include <algor/algor/algor_p4032var.h> Index: src/sys/arch/algor/algor/algor_p5064_bus_io.c diff -u src/sys/arch/algor/algor/algor_p5064_bus_io.c:1.6 src/sys/arch/algor/algor/algor_p5064_bus_io.c:1.7 --- src/sys/arch/algor/algor/algor_p5064_bus_io.c:1.6 Fri Jul 8 18:48:55 2011 +++ src/sys/arch/algor/algor/algor_p5064_bus_io.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p5064_bus_io.c,v 1.6 2011/07/08 18:48:55 matt Exp $ */ +/* $NetBSD: algor_p5064_bus_io.c,v 1.7 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p5064_bus_io.c,v 1.6 2011/07/08 18:48:55 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p5064_bus_io.c,v 1.7 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p5064reg.h> #include <algor/algor/algor_p5064var.h> Index: src/sys/arch/algor/algor/led.c diff -u src/sys/arch/algor/algor/led.c:1.6 src/sys/arch/algor/algor/led.c:1.7 --- src/sys/arch/algor/algor/led.c:1.6 Mon Apr 28 20:23:10 2008 +++ src/sys/arch/algor/algor/led.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: led.c,v 1.6 2008/04/28 20:23:10 martin Exp $ */ +/* $NetBSD: led.c,v 1.7 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: led.c,v 1.6 2008/04/28 20:23:10 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: led.c,v 1.7 2011/07/09 16:03:00 matt Exp $"); #include "opt_algor_p4032.h" #include "opt_algor_p5064.h" @@ -38,7 +38,7 @@ #include <sys/param.h> -#include <machine/autoconf.h> +#include <algor/autoconf.h> #ifdef ALGOR_P4032 #include <algor/algor/algor_p4032reg.h> Index: src/sys/arch/algor/algor/algor_p4032_bus_locio.c diff -u src/sys/arch/algor/algor/algor_p4032_bus_locio.c:1.5 src/sys/arch/algor/algor/algor_p4032_bus_locio.c:1.6 --- src/sys/arch/algor/algor/algor_p4032_bus_locio.c:1.5 Fri Jul 8 18:48:55 2011 +++ src/sys/arch/algor/algor/algor_p4032_bus_locio.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p4032_bus_locio.c,v 1.5 2011/07/08 18:48:55 matt Exp $ */ +/* $NetBSD: algor_p4032_bus_locio.c,v 1.6 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p4032_bus_locio.c,v 1.5 2011/07/08 18:48:55 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p4032_bus_locio.c,v 1.6 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p4032reg.h> #include <algor/algor/algor_p4032var.h> Index: src/sys/arch/algor/algor/algor_p5064_bus_mem.c diff -u src/sys/arch/algor/algor/algor_p5064_bus_mem.c:1.5 src/sys/arch/algor/algor/algor_p5064_bus_mem.c:1.6 --- src/sys/arch/algor/algor/algor_p5064_bus_mem.c:1.5 Fri Jul 8 18:48:55 2011 +++ src/sys/arch/algor/algor/algor_p5064_bus_mem.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p5064_bus_mem.c,v 1.5 2011/07/08 18:48:55 matt Exp $ */ +/* $NetBSD: algor_p5064_bus_mem.c,v 1.6 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p5064_bus_mem.c,v 1.5 2011/07/08 18:48:55 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p5064_bus_mem.c,v 1.6 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p5064reg.h> #include <algor/algor/algor_p5064var.h> Index: src/sys/arch/algor/algor/algor_p6032_bus_io.c diff -u src/sys/arch/algor/algor/algor_p6032_bus_io.c:1.5 src/sys/arch/algor/algor/algor_p6032_bus_io.c:1.6 --- src/sys/arch/algor/algor/algor_p6032_bus_io.c:1.5 Fri Jul 8 18:48:56 2011 +++ src/sys/arch/algor/algor/algor_p6032_bus_io.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p6032_bus_io.c,v 1.5 2011/07/08 18:48:56 matt Exp $ */ +/* $NetBSD: algor_p6032_bus_io.c,v 1.6 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p6032_bus_io.c,v 1.5 2011/07/08 18:48:56 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p6032_bus_io.c,v 1.6 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p6032reg.h> #include <algor/algor/algor_p6032var.h> Index: src/sys/arch/algor/algor/algor_p6032_bus_mem.c diff -u src/sys/arch/algor/algor/algor_p6032_bus_mem.c:1.5 src/sys/arch/algor/algor/algor_p6032_bus_mem.c:1.6 --- src/sys/arch/algor/algor/algor_p6032_bus_mem.c:1.5 Fri Jul 8 18:48:56 2011 +++ src/sys/arch/algor/algor/algor_p6032_bus_mem.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p6032_bus_mem.c,v 1.5 2011/07/08 18:48:56 matt Exp $ */ +/* $NetBSD: algor_p6032_bus_mem.c,v 1.6 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p6032_bus_mem.c,v 1.5 2011/07/08 18:48:56 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p6032_bus_mem.c,v 1.6 2011/07/09 16:03:00 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -44,7 +44,7 @@ #include <uvm/uvm_extern.h> -#include <machine/locore.h> +#include <mips/locore.h> #include <algor/algor/algor_p6032reg.h> #include <algor/algor/algor_p6032var.h> Index: src/sys/arch/algor/algor/algor_p4032_intr.c diff -u src/sys/arch/algor/algor/algor_p4032_intr.c:1.23 src/sys/arch/algor/algor/algor_p4032_intr.c:1.24 --- src/sys/arch/algor/algor/algor_p4032_intr.c:1.23 Fri Jul 1 18:30:36 2011 +++ src/sys/arch/algor/algor/algor_p4032_intr.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p4032_intr.c,v 1.23 2011/07/01 18:30:36 dyoung Exp $ */ +/* $NetBSD: algor_p4032_intr.c,v 1.24 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -38,22 +38,22 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p4032_intr.c,v 1.23 2011/07/01 18:30:36 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p4032_intr.c,v 1.24 2011/07/09 16:03:00 matt Exp $"); #include "opt_ddb.h" #define __INTR_PRIVATE #include <sys/param.h> -#include <sys/queue.h> -#include <sys/malloc.h> -#include <sys/systm.h> +#include <sys/bus.h> +#include <sys/cpu.h> #include <sys/device.h> +#include <sys/intr.h> #include <sys/kernel.h> -#include <sys/cpu.h> +#include <sys/malloc.h> +#include <sys/queue.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> -#include <machine/intr.h> +#include <algor/autoconf.h> #include <mips/locore.h> @@ -201,7 +201,7 @@ struct p4032_cpuintr { - LIST_HEAD(, algor_intrhand) cintr_list; + LIST_HEAD(, evbmips_intrhand) cintr_list; struct evcnt cintr_count; }; @@ -345,7 +345,7 @@ algor_p4032_intr_establish(int irq, int (*func)(void *), void *arg) { const struct p4032_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int s; irqmap = &p4032_irqmap[irq]; @@ -387,7 +387,7 @@ algor_p4032_intr_disestablish(void *cookie) { const struct p4032_irqmap *irqmap; - struct algor_intrhand *ih = cookie; + struct evbmips_intrhand *ih = cookie; int s; irqmap = ih->ih_irqmap; @@ -418,7 +418,7 @@ algor_p4032_iointr(int ipl, vaddr_t pc, u_int32_t ipending) { const struct p4032_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int level, i; u_int32_t irr[NIRQREG]; Index: src/sys/arch/algor/algor/algor_p5064_intr.c diff -u src/sys/arch/algor/algor/algor_p5064_intr.c:1.26 src/sys/arch/algor/algor/algor_p5064_intr.c:1.27 --- src/sys/arch/algor/algor/algor_p5064_intr.c:1.26 Fri Jul 1 18:30:36 2011 +++ src/sys/arch/algor/algor/algor_p5064_intr.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p5064_intr.c,v 1.26 2011/07/01 18:30:36 dyoung Exp $ */ +/* $NetBSD: algor_p5064_intr.c,v 1.27 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -38,22 +38,22 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p5064_intr.c,v 1.26 2011/07/01 18:30:36 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p5064_intr.c,v 1.27 2011/07/09 16:03:00 matt Exp $"); #include "opt_ddb.h" #define __INTR_PRIVATE #include <sys/param.h> -#include <sys/queue.h> -#include <sys/malloc.h> -#include <sys/systm.h> +#include <sys/bus.h> +#include <sys/cpu.h> #include <sys/device.h> +#include <sys/intr.h> #include <sys/kernel.h> -#include <sys/cpu.h> +#include <sys/malloc.h> +#include <sys/queue.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> -#include <machine/intr.h> +#include <algor/autoconf.h> #include <mips/locore.h> @@ -270,7 +270,7 @@ #define NINTRS 3 /* MIPS INT0 - INT2 */ struct p5064_cpuintr { - LIST_HEAD(, algor_intrhand) cintr_list; + LIST_HEAD(, evbmips_intrhand) cintr_list; struct evcnt cintr_count; }; @@ -438,7 +438,7 @@ algor_p5064_intr_establish(int irq, int (*func)(void *), void *arg) { const struct p5064_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int s; irqmap = &p5064_irqmap[irq]; @@ -480,7 +480,7 @@ algor_p5064_intr_disestablish(void *cookie) { const struct p5064_irqmap *irqmap; - struct algor_intrhand *ih = cookie; + struct evbmips_intrhand *ih = cookie; int s; irqmap = ih->ih_irqmap; @@ -511,7 +511,7 @@ algor_p5064_iointr(int ipl, vaddr_t pc, uint32_t ipending) { const struct p5064_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int level, i; uint32_t irr[NIRQREG]; @@ -706,7 +706,7 @@ algor_p5064_isa_intr_establish(void *v, int iirq, int type, int level, int (*func)(void *), void *arg) { - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int irqidx; if (iirq > 15 || type == IST_NONE) @@ -726,7 +726,7 @@ void algor_p5064_isa_intr_disestablish(void *v, void *cookie) { - struct algor_intrhand *ih = cookie; + struct evbmips_intrhand *ih = cookie; /* Translate the IRQ back to our domain. */ ih->ih_irq = p5064_isa_to_irqmap[ih->ih_irq]; Index: src/sys/arch/algor/algor/algor_p6032_intr.c diff -u src/sys/arch/algor/algor/algor_p6032_intr.c:1.20 src/sys/arch/algor/algor/algor_p6032_intr.c:1.21 --- src/sys/arch/algor/algor/algor_p6032_intr.c:1.20 Fri Jul 1 18:30:36 2011 +++ src/sys/arch/algor/algor/algor_p6032_intr.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: algor_p6032_intr.c,v 1.20 2011/07/01 18:30:36 dyoung Exp $ */ +/* $NetBSD: algor_p6032_intr.c,v 1.21 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,22 +37,22 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: algor_p6032_intr.c,v 1.20 2011/07/01 18:30:36 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: algor_p6032_intr.c,v 1.21 2011/07/09 16:03:00 matt Exp $"); #include "opt_ddb.h" #define __INTR_PRIVATE #include <sys/param.h> -#include <sys/queue.h> -#include <sys/malloc.h> -#include <sys/systm.h> +#include <sys/bus.h> +#include <sys/cpu.h> #include <sys/device.h> +#include <sys/intr.h> #include <sys/kernel.h> -#include <sys/cpu.h> +#include <sys/malloc.h> +#include <sys/queue.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> -#include <machine/intr.h> +#include <algor/autoconf.h> #include <mips/locore.h> @@ -162,7 +162,7 @@ #define NINTRS 2 /* MIPS INT0 - INT1 */ struct p6032_cpuintr { - LIST_HEAD(, algor_intrhand) cintr_list; + LIST_HEAD(, evbmips_intrhand) cintr_list; struct evcnt cintr_count; }; @@ -306,7 +306,7 @@ algor_p6032_intr_establish(int irq, int (*func)(void *), void *arg) { const struct p6032_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int s; irqmap = &p6032_irqmap[irq]; @@ -347,7 +347,7 @@ algor_p6032_intr_disestablish(void *cookie) { const struct p6032_irqmap *irqmap; - struct algor_intrhand *ih = cookie; + struct evbmips_intrhand *ih = cookie; int s; irqmap = ih->ih_irqmap; @@ -375,7 +375,7 @@ algor_p6032_iointr(int ipl, vaddr_t pc, uint32_t ipending) { const struct p6032_irqmap *irqmap; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int level; uint32_t isr; Index: src/sys/arch/algor/algor/autoconf.c diff -u src/sys/arch/algor/algor/autoconf.c:1.19 src/sys/arch/algor/algor/autoconf.c:1.20 --- src/sys/arch/algor/algor/autoconf.c:1.19 Fri Jul 1 18:30:36 2011 +++ src/sys/arch/algor/algor/autoconf.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.19 2011/07/01 18:30:36 dyoung Exp $ */ +/* $NetBSD: autoconf.c,v 1.20 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,26 +30,26 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.19 2011/07/01 18:30:36 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.20 2011/07/09 16:03:00 matt Exp $"); #include "opt_algor_p4032.h" #include "opt_algor_p5064.h" #include "opt_algor_p6032.h" #include <sys/param.h> -#include <sys/systm.h> +#include <sys/bus.h> #include <sys/conf.h> -#include <sys/reboot.h> #include <sys/device.h> +#include <sys/intr.h> +#include <sys/reboot.h> +#include <sys/systm.h> #include <dev/pci/pcivar.h> #include <net/if.h> #include <net/if_ether.h> -#include <sys/bus.h> -#include <machine/autoconf.h> -#include <machine/intr.h> +#include <algor/autoconf.h> #ifdef ALGOR_P4032 #include <algor/algor/algor_p4032var.h> Index: src/sys/arch/algor/algor/machdep.c diff -u src/sys/arch/algor/algor/machdep.c:1.50 src/sys/arch/algor/algor/machdep.c:1.51 --- src/sys/arch/algor/algor/machdep.c:1.50 Fri Jul 1 18:30:36 2011 +++ src/sys/arch/algor/algor/machdep.c Sat Jul 9 16:03:00 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.50 2011/07/01 18:30:36 dyoung Exp $ */ +/* $NetBSD: machdep.c,v 1.51 2011/07/09 16:03:00 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.50 2011/07/01 18:30:36 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.51 2011/07/09 16:03:00 matt Exp $"); #include "opt_algor_p4032.h" #include "opt_algor_p5064.h" @@ -81,17 +81,18 @@ #include "opt_ethaddr.h" #include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> +#include <sys/boot_flag.h> #include <sys/buf.h> -#include <sys/reboot.h> -#include <sys/mount.h> +#include <sys/bus.h> +#include <sys/device.h> +#include <sys/kernel.h> #include <sys/kcore.h> -#include <sys/boot_flag.h> -#include <sys/termios.h> #include <sys/ksyms.h> -#include <sys/device.h> #include <sys/lwp.h> +#include <sys/mount.h> +#include <sys/reboot.h> +#include <sys/systm.h> +#include <sys/termios.h> #include <net/if.h> #include <net/if_ether.h> @@ -101,16 +102,15 @@ #include <dev/cons.h> #include <mips/locore.h> +#include <mips/pcb.h> #ifdef DDB -#include <machine/db_machdep.h> +#include <mips/db_machdep.h> #include <ddb/db_extern.h> #endif -#include <sys/bus.h> -#include <machine/autoconf.h> #include <machine/pmon.h> -#include <machine/pcb.h> +#include <algor/autoconf.h> #include <algor/pci/vtpbcvar.h> Index: src/sys/arch/algor/conf/files.algor diff -u src/sys/arch/algor/conf/files.algor:1.28 src/sys/arch/algor/conf/files.algor:1.29 --- src/sys/arch/algor/conf/files.algor:1.28 Fri Jul 8 18:48:57 2011 +++ src/sys/arch/algor/conf/files.algor Sat Jul 9 16:03:01 2011 @@ -1,7 +1,8 @@ -# $NetBSD: files.algor,v 1.28 2011/07/08 18:48:57 matt Exp $ +# $NetBSD: files.algor,v 1.29 2011/07/09 16:03:01 matt Exp $ # Algorithmics evaluation board specific configuration info. +ifndef evbmips # maxpartitions must be the first item in files.${ARCH} maxpartitions 8 @@ -15,6 +16,7 @@ # Various items that a buggy PMON might not provide us. defparam MEMSIZE defparam ETHADDR +endif # Platform support files file arch/algor/algor/algor_p4032_bus_io.c algor_p4032 @@ -34,12 +36,16 @@ file arch/algor/algor/algor_p6032_intr.c algor_p6032 file arch/algor/algor/autoconf.c -file arch/algor/algor/disksubr.c -file arch/algor/algor/interrupt.c +file arch/algor/algor/algor_intr.c file arch/algor/algor/led.c file arch/algor/algor/machdep.c file arch/algor/algor/pmon.c +ifdef evbmips +file arch/evbmips/evbmips/interrupt.c +endif +file arch/evbmips/evbmips/disksubr.c + file arch/mips/mips/bus_dma.c file arch/mips/mips/mips3_clock.c file arch/mips/mips/mips3_clockintr.c @@ -88,7 +94,9 @@ file dev/md_root.c memory_disk_hooks # Console glue. +ifndef evbmips file dev/cons.c +endif include "dev/pci/files.pci" include "dev/isa/files.isa" @@ -110,7 +118,7 @@ file arch/algor/pci/pcib.c pcib & (algor_p5064 | algor_p6032) -file arch/algor/pci/pciide_machdep.c pciide_common +file arch/mips/pci/pciide_machdep.c pciide_common # # ISA bus support. @@ -171,4 +179,6 @@ attach lpt at mainbus with lpt_mainbus file arch/algor/dev/lpt_mainbus.c lpt_mainbus & algor_p4032 +ifndef evbmips include "arch/algor/conf/majors.algor" +endif Index: src/sys/arch/algor/conf/std.algor diff -u src/sys/arch/algor/conf/std.algor:1.8 src/sys/arch/algor/conf/std.algor:1.9 --- src/sys/arch/algor/conf/std.algor:1.8 Sun Dec 11 12:16:08 2005 +++ src/sys/arch/algor/conf/std.algor Sat Jul 9 16:03:01 2011 @@ -1,7 +1,9 @@ -# $NetBSD: std.algor,v 1.8 2005/12/11 12:16:08 christos Exp $ +# $NetBSD: std.algor,v 1.9 2011/07/09 16:03:01 matt Exp $ -machine algor mips +ifndef evbmips +machine algor mips include "conf/std" # MI standard options + makeoptions MACHINE_ARCH="mipsel" # Standard exec-package options @@ -11,4 +13,7 @@ options MIPS3 # All supported Algor boards are MIPS3 options MIPS3_ENABLE_CLOCK_INTR +options AUTOCONF_IMPL="<algor/autoconf.h>" + makeoptions DEFTEXTADDR="0x80100000" +endif Index: src/sys/arch/algor/dev/bonito_mainbus.c diff -u src/sys/arch/algor/dev/bonito_mainbus.c:1.13 src/sys/arch/algor/dev/bonito_mainbus.c:1.14 --- src/sys/arch/algor/dev/bonito_mainbus.c:1.13 Fri Jul 1 18:31:31 2011 +++ src/sys/arch/algor/dev/bonito_mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: bonito_mainbus.c,v 1.13 2011/07/01 18:31:31 dyoung Exp $ */ +/* $NetBSD: bonito_mainbus.c,v 1.14 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,18 +30,18 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bonito_mainbus.c,v 1.13 2011/07/01 18:31:31 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bonito_mainbus.c,v 1.14 2011/07/09 16:03:01 matt Exp $"); #include "opt_algor_p6032.h" #include <sys/param.h> -#include <sys/systm.h> +#include <sys/bus.h> #include <sys/conf.h> -#include <sys/reboot.h> #include <sys/device.h> +#include <sys/reboot.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> +#include <algor/autoconf.h> #include <mips/bonito/bonitoreg.h> Index: src/sys/arch/algor/dev/com_mainbus.c diff -u src/sys/arch/algor/dev/com_mainbus.c:1.13 src/sys/arch/algor/dev/com_mainbus.c:1.14 --- src/sys/arch/algor/dev/com_mainbus.c:1.13 Fri Jul 1 18:31:31 2011 +++ src/sys/arch/algor/dev/com_mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: com_mainbus.c,v 1.13 2011/07/01 18:31:31 dyoung Exp $ */ +/* $NetBSD: com_mainbus.c,v 1.14 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -33,25 +33,24 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: com_mainbus.c,v 1.13 2011/07/01 18:31:31 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: com_mainbus.c,v 1.14 2011/07/09 16:03:01 matt Exp $"); #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/bus.h> #include <sys/conf.h> +#include <sys/device.h> #include <sys/file.h> -#include <sys/uio.h> +#include <sys/intr.h> +#include <sys/ioctl.h> #include <sys/kernel.h> +#include <sys/proc.h> +#include <sys/select.h> #include <sys/syslog.h> -#include <sys/types.h> -#include <sys/device.h> +#include <sys/systm.h> +#include <sys/tty.h> +#include <sys/uio.h> -#include <machine/autoconf.h> -#include <machine/intr.h> -#include <sys/bus.h> +#include <algor/autoconf.h> #include <dev/ic/comreg.h> #include <dev/ic/comvar.h> @@ -63,9 +62,8 @@ void *sc_ih; /* interrupt handler */ }; -int com_mainbus_match(device_t, cfdata_t , void *); -void com_mainbus_attach(device_t, device_t, void *); -void com_mainbus_cleanup(void *); +static int com_mainbus_match(device_t, cfdata_t , void *); +static void com_mainbus_attach(device_t, device_t, void *); CFATTACH_DECL_NEW(com_mainbus, sizeof(struct com_mainbus_softc), com_mainbus_match, com_mainbus_attach, NULL, NULL); Index: src/sys/arch/algor/dev/lpt_mainbus.c diff -u src/sys/arch/algor/dev/lpt_mainbus.c:1.11 src/sys/arch/algor/dev/lpt_mainbus.c:1.12 --- src/sys/arch/algor/dev/lpt_mainbus.c:1.11 Fri Jul 1 18:31:31 2011 +++ src/sys/arch/algor/dev/lpt_mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: lpt_mainbus.c,v 1.11 2011/07/01 18:31:31 dyoung Exp $ */ +/* $NetBSD: lpt_mainbus.c,v 1.12 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -31,25 +31,17 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: lpt_mainbus.c,v 1.11 2011/07/01 18:31:31 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lpt_mainbus.c,v 1.12 2011/07/09 16:03:01 matt Exp $"); #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/bus.h> #include <sys/conf.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 <sys/intr.h> +#include <sys/ioctl.h> +#include <sys/systm.h> -#include <machine/autoconf.h> -#include <machine/intr.h> -#include <sys/bus.h> +#include <algor/autoconf.h> #include <dev/ic/lptreg.h> #include <dev/ic/lptvar.h> Index: src/sys/arch/algor/dev/mcclock_mainbus.c diff -u src/sys/arch/algor/dev/mcclock_mainbus.c:1.11 src/sys/arch/algor/dev/mcclock_mainbus.c:1.12 --- src/sys/arch/algor/dev/mcclock_mainbus.c:1.11 Fri Jul 1 18:31:31 2011 +++ src/sys/arch/algor/dev/mcclock_mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: mcclock_mainbus.c,v 1.11 2011/07/01 18:31:31 dyoung Exp $ */ +/* $NetBSD: mcclock_mainbus.c,v 1.12 2011/07/09 16:03:01 matt Exp $ */ /* * Copyright (c) 1995, 1996 Carnegie-Mellon University. @@ -29,17 +29,18 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: mcclock_mainbus.c,v 1.11 2011/07/01 18:31:31 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mcclock_mainbus.c,v 1.12 2011/07/09 16:03:01 matt Exp $"); #include <sys/param.h> +#include <sys/bus.h> +#include <sys/device.h> #include <sys/kernel.h> #include <sys/systm.h> -#include <sys/device.h> -#include <machine/autoconf.h> -#include <sys/bus.h> +#include <algor/autoconf.h> #include <dev/clock_subr.h> + #include <dev/ic/mc146818reg.h> #include <dev/ic/mc146818var.h> Index: src/sys/arch/algor/dev/mainbus.c diff -u src/sys/arch/algor/dev/mainbus.c:1.24 src/sys/arch/algor/dev/mainbus.c:1.25 --- src/sys/arch/algor/dev/mainbus.c:1.24 Fri Jul 8 18:48:58 2011 +++ src/sys/arch/algor/dev/mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: mainbus.c,v 1.24 2011/07/08 18:48:58 matt Exp $ */ +/* $NetBSD: mainbus.c,v 1.25 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.24 2011/07/08 18:48:58 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.25 2011/07/09 16:03:01 matt Exp $"); #include "opt_algor_p4032.h" #include "opt_algor_p5064.h" @@ -39,15 +39,15 @@ #include "opt_pci.h" #include <sys/param.h> -#include <sys/systm.h> +#include <sys/bus.h> #include <sys/conf.h> -#include <sys/reboot.h> #include <sys/device.h> -#include <sys/malloc.h> #include <sys/extent.h> +#include <sys/malloc.h> +#include <sys/reboot.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> +#include <algor/autoconf.h> #include <mips/cache.h> Index: src/sys/arch/algor/dev/vtpbc_mainbus.c diff -u src/sys/arch/algor/dev/vtpbc_mainbus.c:1.17 src/sys/arch/algor/dev/vtpbc_mainbus.c:1.18 --- src/sys/arch/algor/dev/vtpbc_mainbus.c:1.17 Fri Jul 1 18:31:31 2011 +++ src/sys/arch/algor/dev/vtpbc_mainbus.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: vtpbc_mainbus.c,v 1.17 2011/07/01 18:31:31 dyoung Exp $ */ +/* $NetBSD: vtpbc_mainbus.c,v 1.18 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,19 +30,19 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vtpbc_mainbus.c,v 1.17 2011/07/01 18:31:31 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vtpbc_mainbus.c,v 1.18 2011/07/09 16:03:01 matt Exp $"); #include "opt_algor_p4032.h" #include "opt_algor_p5064.h" #include <sys/param.h> -#include <sys/systm.h> +#include <sys/bus.h> #include <sys/conf.h> -#include <sys/reboot.h> #include <sys/device.h> +#include <sys/reboot.h> +#include <sys/systm.h> -#include <sys/bus.h> -#include <machine/autoconf.h> +#include <algor/autoconf.h> #include <algor/pci/vtpbcvar.h> Index: src/sys/arch/algor/include/autoconf.h diff -u src/sys/arch/algor/include/autoconf.h:1.6 src/sys/arch/algor/include/autoconf.h:1.7 --- src/sys/arch/algor/include/autoconf.h:1.6 Fri Jul 1 21:02:15 2011 +++ src/sys/arch/algor/include/autoconf.h Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.h,v 1.6 2011/07/01 21:02:15 dyoung Exp $ */ +/* $NetBSD: autoconf.h,v 1.7 2011/07/09 16:03:01 matt Exp $ */ /* * Copyright (c) 1994, 1995 Carnegie-Mellon University. @@ -45,7 +45,10 @@ #ifdef _KERNEL extern char algor_ethaddr[]; -void (*algor_iointr)(int, vaddr_t, uint32_t); +extern void (*algor_iointr)(int, vaddr_t, uint32_t); +extern void * (*algor_intr_establish)(int, int (*)(void *), void *); +extern void (*algor_intr_disestablish)(void *); + void led_display(uint8_t, uint8_t, uint8_t, uint8_t); #endif /* _KERNEL */ Index: src/sys/arch/algor/include/intr.h diff -u src/sys/arch/algor/include/intr.h:1.14 src/sys/arch/algor/include/intr.h:1.15 --- src/sys/arch/algor/include/intr.h:1.14 Sun Feb 20 07:51:21 2011 +++ src/sys/arch/algor/include/intr.h Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.14 2011/02/20 07:51:21 matt Exp $ */ +/* $NetBSD: intr.h,v 1.15 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -39,12 +39,13 @@ #ifdef _KERNEL -struct algor_intrhand { - LIST_ENTRY(algor_intrhand) ih_q; +struct evbmips_intrhand { + LIST_ENTRY(evbmips_intrhand) ih_q; const void *ih_irqmap; int (*ih_func)(void *); void *ih_arg; int ih_irq; /* mostly for ISA */ + int ih_ipl; }; extern struct evcnt mips_int5_evcnt; Index: src/sys/arch/algor/pci/pcib.c diff -u src/sys/arch/algor/pci/pcib.c:1.23 src/sys/arch/algor/pci/pcib.c:1.24 --- src/sys/arch/algor/pci/pcib.c:1.23 Fri Jul 8 18:48:59 2011 +++ src/sys/arch/algor/pci/pcib.c Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: pcib.c,v 1.23 2011/07/08 18:48:59 matt Exp $ */ +/* $NetBSD: pcib.c,v 1.24 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -31,19 +31,20 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: pcib.c,v 1.23 2011/07/08 18:48:59 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pcib.c,v 1.24 2011/07/09 16:03:01 matt Exp $"); #include "opt_algor_p5064.h" #include "opt_algor_p6032.h" #include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> +#include <sys/bus.h> #include <sys/device.h> +#include <sys/intr.h> +#include <sys/kernel.h> #include <sys/malloc.h> +#include <sys/systm.h> -#include <machine/intr.h> -#include <sys/bus.h> +#include <algor/autoconf.h> #include <dev/isa/isareg.h> #include <dev/isa/isavar.h> @@ -82,13 +83,13 @@ }; struct pcib_intrhead { - LIST_HEAD(, algor_intrhand) intr_q; + LIST_HEAD(, evbmips_intrhand) intr_q; struct evcnt intr_count; int intr_type; }; struct pcib_softc { - struct device sc_dev; + device_t sc_dev; bus_space_tag_t sc_iot; bus_space_handle_t sc_ioh_icu1; @@ -111,19 +112,18 @@ void *sc_ih; }; -int pcib_match(struct device *, struct cfdata *, void *); -void pcib_attach(struct device *, struct device *, void *); +int pcib_match(device_t, cfdata_t, void *); +void pcib_attach(device_t, device_t, void *); -CFATTACH_DECL(pcib, sizeof(struct pcib_softc), +CFATTACH_DECL_NEW(pcib, sizeof(struct pcib_softc), pcib_match, pcib_attach, NULL, NULL); -void pcib_isa_attach_hook(struct device *, struct device *, - struct isabus_attach_args *); +void pcib_isa_attach_hook(device_t, device_t, struct isabus_attach_args *); void pcib_isa_detach_hook(isa_chipset_tag_t, device_t); int pcib_intr(void *); -void pcib_bridge_callback(struct device *); +void pcib_bridge_callback(device_t); const struct evcnt *pcib_isa_intr_evcnt(void *, int); void *pcib_isa_intr_establish(void *, int, int, int, @@ -134,7 +134,7 @@ void pcib_set_icus(struct pcib_softc *); int -pcib_match(struct device *parent, struct cfdata *match, void *aux) +pcib_match(device_t parent, cfdata_t match, void *aux) { struct pci_attach_args *pa = aux; @@ -146,31 +146,29 @@ } void -pcib_attach(struct device *parent, struct device *self, void *aux) +pcib_attach(device_t parent, device_t self, void *aux) { - struct pcib_softc *sc = (void *) self; + struct pcib_softc *sc = device_private(self); struct pci_attach_args *pa = aux; char devinfo[256]; int i; pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo, sizeof(devinfo)); - printf(": %s (rev. 0x%02x)\n", devinfo, + aprint_normal(": %s (rev. 0x%02x)\n", devinfo, PCI_REVISION(pa->pa_class)); + sc->sc_dev = self; sc->sc_iot = pa->pa_iot; /* * Map the PIC/ELCR registers. */ if (bus_space_map(sc->sc_iot, 0x4d0, 2, 0, &sc->sc_ioh_elcr) != 0) - printf("%s: unable to map ELCR registers\n", - sc->sc_dev.dv_xname); + aprint_error_dev(self, "unable to map ELCR registers\n"); if (bus_space_map(sc->sc_iot, IO_ICU1, 2, 0, &sc->sc_ioh_icu1) != 0) - printf("%s: unable to map ICU1 registers\n", - sc->sc_dev.dv_xname); + aprint_error_dev(self, "unable to map ICU1 registers\n"); if (bus_space_map(sc->sc_iot, IO_ICU2, 2, 0, &sc->sc_ioh_icu2) != 0) - printf("%s: unable to map ICU2 registers\n", - sc->sc_dev.dv_xname); + aprint_error_dev(self, "unable to map ICU2 registers\n"); /* All interrupts default to "masked off". */ sc->sc_imask = 0xffff; @@ -284,15 +282,15 @@ #endif if (sc->sc_ih == NULL) printf("%s: WARNING: unable to register interrupt handler\n", - sc->sc_dev.dv_xname); + device_xname(sc->sc_dev)); config_defer(self, pcib_bridge_callback); } void -pcib_bridge_callback(struct device *self) +pcib_bridge_callback(device_t self) { - struct pcib_softc *sc = (struct pcib_softc *)self; + struct pcib_softc *sc = device_private(self); struct isabus_attach_args iba; memset(&iba, 0, sizeof(iba)); @@ -319,11 +317,11 @@ iba.iba_ic->ic_attach_hook = pcib_isa_attach_hook; iba.iba_ic->ic_detach_hook = pcib_isa_detach_hook; - (void) config_found_ia(&sc->sc_dev, "isabus", &iba, isabusprint); + (void) config_found_ia(sc->sc_dev, "isabus", &iba, isabusprint); } void -pcib_isa_attach_hook(struct device *parent, struct device *self, +pcib_isa_attach_hook(device_t parent, device_t self, struct isabus_attach_args *iba) { @@ -362,7 +360,7 @@ pcib_intr(void *v) { struct pcib_softc *sc = v; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int irq; for (;;) { @@ -422,7 +420,7 @@ int (*func)(void *), void *arg) { struct pcib_softc *sc = v; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; int s; if (irq > 15 || irq == 2 || type == IST_NONE) @@ -484,7 +482,7 @@ pcib_isa_intr_disestablish(void *v, void *arg) { struct pcib_softc *sc = v; - struct algor_intrhand *ih = arg; + struct evbmips_intrhand *ih = arg; int s; #if defined(ALGOR_P5064) @@ -514,7 +512,7 @@ { struct pcib_softc *sc = v; int i, tmp, bestirq, count; - struct algor_intrhand *ih; + struct evbmips_intrhand *ih; if (type == IST_NONE) panic("pcib_intr_alloc: bogus type"); Index: src/sys/arch/evbmips/conf/files.malta diff -u src/sys/arch/evbmips/conf/files.malta:1.17 src/sys/arch/evbmips/conf/files.malta:1.18 --- src/sys/arch/evbmips/conf/files.malta:1.17 Sun Feb 20 07:48:34 2011 +++ src/sys/arch/evbmips/conf/files.malta Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -# $NetBSD: files.malta,v 1.17 2011/02/20 07:48:34 matt Exp $ +# $NetBSD: files.malta,v 1.18 2011/07/09 16:03:01 matt Exp $ file arch/evbmips/malta/malta_bus_io.c file arch/evbmips/malta/malta_bus_mem.c @@ -59,7 +59,7 @@ file arch/evbmips/malta/dev/gt.c gt # XXX should be in arch/mips/galileo ? file arch/evbmips/malta/pci/pci_machdep.c pci -file arch/evbmips/malta/pci/pciide_machdep.c pciide_common +file arch/mips/pci/pciide_machdep.c pciide_common device pchb attach pchb at pci Index: src/sys/arch/evbmips/include/intr.h diff -u src/sys/arch/evbmips/include/intr.h:1.18 src/sys/arch/evbmips/include/intr.h:1.19 --- src/sys/arch/evbmips/include/intr.h:1.18 Sun Feb 20 07:48:34 2011 +++ src/sys/arch/evbmips/include/intr.h Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.18 2011/02/20 07:48:34 matt Exp $ */ +/* $NetBSD: intr.h,v 1.19 2011/07/09 16:03:01 matt Exp $ */ /*- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -41,6 +41,7 @@ LIST_ENTRY(evbmips_intrhand) ih_q; int (*ih_func)(void *); void *ih_arg; + const void *ih_irqmap; /* for algor */ int ih_irq; int ih_ipl; }; Index: src/sys/arch/evbmips/include/vmparam.h diff -u src/sys/arch/evbmips/include/vmparam.h:1.3 src/sys/arch/evbmips/include/vmparam.h:1.4 --- src/sys/arch/evbmips/include/vmparam.h:1.3 Sun Feb 20 07:48:34 2011 +++ src/sys/arch/evbmips/include/vmparam.h Sat Jul 9 16:03:01 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.3 2011/02/20 07:48:34 matt Exp $ */ +/* $NetBSD: vmparam.h,v 1.4 2011/07/09 16:03:01 matt Exp $ */ #ifndef _EVBMIPS_VMPARAM_H_ #define _EVBMIPS_VMPARAM_H_ @@ -8,12 +8,13 @@ #define VM_PHYSSEG_MAX 32 #undef VM_FREELIST_MAX -#define VM_FREELIST_MAX 3 +#define VM_FREELIST_MAX 4 #if defined(_MIPS_PADDR_T_64BIT) || defined(_LP64) -#define VM_FREELIST_FIRST4G 2 +#define VM_FREELIST_FIRST4G 3 #endif #if !defined(_LP64) -#define VM_FREELIST_FIRST512M 1 +#define VM_FREELIST_FIRST512M 2 #endif +#define VM_FREELIST_ISADMA 1 #endif /* !_EVBMIPS_VMPARAM_H_ */ Added files: Index: src/sys/arch/algor/algor/algor_intr.c diff -u /dev/null src/sys/arch/algor/algor/algor_intr.c:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/algor/algor/algor_intr.c Sat Jul 9 16:03:00 2011 @@ -0,0 +1,149 @@ +/* $NetBSD: algor_intr.c,v 1.1 2011/07/09 16:03:00 matt Exp $ */ + +/*- + * Copyright (c) 2001 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jason R. Thorpe. + * + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: algor_intr.c,v 1.1 2011/07/09 16:03:00 matt Exp $"); + +#define __INTR_PRIVATE +#include "opt_algor_p4032.h" +#include "opt_algor_p5064.h" +#include "opt_algor_p6032.h" + +#include <sys/param.h> +#include <sys/device.h> +#include <sys/intr.h> +#include <sys/cpu.h> + +#include <algor/autoconf.h> +#include <mips/locore.h> +#include <mips/mips3_clock.h> + +#ifdef ALGOR_P4032 +#include <algor/algor/algor_p4032var.h> +#endif + +#ifdef ALGOR_P5064 +#include <algor/algor/algor_p5064var.h> +#endif + +#ifdef ALGOR_P6032 +#include <algor/algor/algor_p6032var.h> +#endif + +void *(*algor_intr_establish)(int, int (*)(void *), void *); +void (*algor_intr_disestablish)(void *); + +void (*algor_iointr)(int, vaddr_t, uint32_t); + +/* + * This is a mask of bits to clear in the SR when we go to a + * given interrupt priority level. + */ +static const struct ipl_sr_map algor_ipl_sr_map = { + .sr_bits = { + [IPL_NONE] = 0, + [IPL_SOFTCLOCK] = MIPS_SOFT_INT_MASK_0, + [IPL_SOFTBIO] = MIPS_SOFT_INT_MASK_0, + [IPL_SOFTNET] = MIPS_SOFT_INT_MASK, + [IPL_SOFTSERIAL] = MIPS_SOFT_INT_MASK, + [IPL_VM] = MIPS_SOFT_INT_MASK + |MIPS_INT_MASK_0|MIPS_INT_MASK_1 + |MIPS_INT_MASK_2|MIPS_INT_MASK_3, + [IPL_SCHED] = MIPS_INT_MASK, + [IPL_HIGH] = MIPS_INT_MASK, + }, +}; + +void +#ifdef evbmips +evbmips_intr_init(void) +#else +intr_init(void) +#endif +{ + ipl_sr_map = algor_ipl_sr_map; + +#if defined(ALGOR_P4032) + algor_p4032_intr_init(&p4032_configuration); +#elif defined(ALGOR_P5064) + algor_p5064_intr_init(&p5064_configuration); +#elif defined(ALGOR_P6032) + algor_p6032_intr_init(&p6032_configuration); +#endif +} + +#ifdef evbmips +void +evbmips_iointr(int ipl, vaddr_t pc, uint32_t pending) +{ + (*algor_iointr)(ipl, pc, pending); +} + +void * +evbmips_intr_establish(int irq, int (*func)(void *), void *arg) +{ + return (*algor_intr_establish)(irq, func, arg); +} + +void +evbmips_intr_disestablish(void *cookie) +{ + (*algor_intr_disestablish)(cookie); +} +#else +void +cpu_intr(int ppl, vaddr_t pc, uint32_t status) +{ + uint32_t pending; + int ipl; + + curcpu()->ci_data.cpu_nintr++; + + while (ppl < (ipl = splintr(&pending))) { + splx(ipl); + if (pending & MIPS_INT_MASK_5) { + struct clockframe cf; + + cf.pc = pc; + cf.sr = status; + cf.intr = (curcpu()->ci_idepth > 1); + mips3_clockintr(&cf); + } + + if (pending & (MIPS_INT_MASK_0|MIPS_INT_MASK_1|MIPS_INT_MASK_2| + MIPS_INT_MASK_3|MIPS_INT_MASK_4)) { + /* Process I/O and error interrupts. */ + (*algor_iointr)(ipl, pc, pending); + } + (void)splhigh(); + } +} +#endif Index: src/sys/arch/evbmips/conf/P4032 diff -u /dev/null src/sys/arch/evbmips/conf/P4032:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/P4032 Sat Jul 9 16:03:01 2011 @@ -0,0 +1,4 @@ +# $NetBSD: P4032,v 1.1 2011/07/09 16:03:01 matt Exp $ + +include "arch/evbmips/conf/std.algor" +include "arch/algor/conf/P4032" Index: src/sys/arch/evbmips/conf/P5064 diff -u /dev/null src/sys/arch/evbmips/conf/P5064:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/P5064 Sat Jul 9 16:03:01 2011 @@ -0,0 +1,4 @@ +# $NetBSD: P5064,v 1.1 2011/07/09 16:03:01 matt Exp $ + +include "arch/evbmips/conf/std.algor" +include "arch/algor/conf/P5064" Index: src/sys/arch/evbmips/conf/P5064-64 diff -u /dev/null src/sys/arch/evbmips/conf/P5064-64:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/P5064-64 Sat Jul 9 16:03:01 2011 @@ -0,0 +1,4 @@ +# $NetBSD: P5064-64,v 1.1 2011/07/09 16:03:01 matt Exp $ + +include "arch/evbmips/conf/std.algor" +include "arch/algor/conf/P5064-64" Index: src/sys/arch/evbmips/conf/P6032 diff -u /dev/null src/sys/arch/evbmips/conf/P6032:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/P6032 Sat Jul 9 16:03:01 2011 @@ -0,0 +1,4 @@ +# $NetBSD: P6032,v 1.1 2011/07/09 16:03:01 matt Exp $ + +include "arch/evbmips/conf/std.algor" +include "arch/algor/conf/P6032" Index: src/sys/arch/evbmips/conf/files.algor diff -u /dev/null src/sys/arch/evbmips/conf/files.algor:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/files.algor Sat Jul 9 16:03:01 2011 @@ -0,0 +1,3 @@ +# $NetBSD: files.algor,v 1.1 2011/07/09 16:03:01 matt Exp $ + +include "arch/algor/conf/files.algor" Index: src/sys/arch/evbmips/conf/std.algor diff -u /dev/null src/sys/arch/evbmips/conf/std.algor:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/conf/std.algor Sat Jul 9 16:03:01 2011 @@ -0,0 +1,16 @@ +# $NetBSD: std.algor,v 1.1 2011/07/09 16:03:01 matt Exp $ + +machine evbmips mips algor +include "conf/std" # MI standard options + +makeoptions MACHINE_ARCH="mipsel" + +# Standard exec-package options +options EXEC_ELF32 # 32-bit ELF support (native format) +options EXEC_SCRIPT # exec of #! scripts + +options MIPS3 # All supported Algor boards are MIPS3 +options MIPS3_ENABLE_CLOCK_INTR + +makeoptions DEFTEXTADDR="0x80100000" +makeoptions BOARDTYPE="algor" Index: src/sys/arch/evbmips/include/pmon.h diff -u /dev/null src/sys/arch/evbmips/include/pmon.h:1.1 --- /dev/null Sat Jul 9 16:03:02 2011 +++ src/sys/arch/evbmips/include/pmon.h Sat Jul 9 16:03:01 2011 @@ -0,0 +1,40 @@ +/* $NetBSD: pmon.h,v 1.1 2011/07/09 16:03:01 matt Exp $ */ + +/*- + * Copyright (c) 2001 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jason R. Thorpe. + * + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +#ifndef _EVBMIPS_PMON_H_ +#define _EVBMIPS_PMON_H_ + +#ifdef _KERNEL +void pmon_init(char *[]); +const char *pmon_getenv(const char *); +#endif /* _KERNEL */ + +#endif /* _EVBMIPS_PMON_H_ */