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