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_ */

Reply via email to