summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2009-10-15 21:03:32 +0000
committerrrs <rrs@FreeBSD.org>2009-10-15 21:03:32 +0000
commit012846ec6c6542a75d19c3072df74711bc05bdb2 (patch)
tree0ef97461eeb725f673752eee00358b8fcac4a8d3
parent23e9b1526a4ceb8fec5cbc92424e9d08bb3b67b3 (diff)
downloadFreeBSD-src-012846ec6c6542a75d19c3072df74711bc05bdb2.zip
FreeBSD-src-012846ec6c6542a75d19c3072df74711bc05bdb2.tar.gz
Does 4 things:
1) Adds future RMI directories 2) Places intr_machdep.c in specfic files.arch pointing to the generic intr_machdep.c. This allows us to have an architecture dependant intr_machdep.c (which we will need for RMI) in the machine specific directory 3) removes intr_machdep.c from files.mips 4) Adds some TARGET_XLR_XLS ifdef's for the machine specific intra_machdep.h. We may need to look at finding a better place to put this. But first I want to get this thing compiling.
-rw-r--r--sys/conf/files.mips1
-rw-r--r--sys/mips/adm5120/files.adm51201
-rw-r--r--sys/mips/alchemy/files.alchemy1
-rw-r--r--sys/mips/atheros/files.ar71xx1
-rw-r--r--sys/mips/idt/files.idt1
-rw-r--r--sys/mips/include/intr_machdep.h19
-rw-r--r--sys/mips/malta/files.malta1
-rw-r--r--sys/mips/octeon1/files.octeon11
-rw-r--r--sys/mips/sentry5/files.sentry51
-rw-r--r--sys/mips/sibyte/files.sibyte2
10 files changed, 27 insertions, 2 deletions
diff --git a/sys/conf/files.mips b/sys/conf/files.mips
index 708d6c7..025556b 100644
--- a/sys/conf/files.mips
+++ b/sys/conf/files.mips
@@ -64,7 +64,6 @@ mips/mips/db_interface.c optional ddb
mips/mips/db_trace.c optional ddb
mips/mips/dump_machdep.c standard
mips/mips/in_cksum.c optional inet
-mips/mips/intr_machdep.c standard
mips/mips/locore.S standard no-obj
mips/mips/mem.c optional mem
mips/mips/nexus.c standard
diff --git a/sys/mips/adm5120/files.adm5120 b/sys/mips/adm5120/files.adm5120
index 489ea73..0645f40 100644
--- a/sys/mips/adm5120/files.adm5120
+++ b/sys/mips/adm5120/files.adm5120
@@ -9,3 +9,4 @@ mips/adm5120/obio.c standard
mips/adm5120/uart_bus_adm5120.c optional uart
mips/adm5120/uart_cpu_adm5120.c optional uart
mips/adm5120/uart_dev_adm5120.c optional uart
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/alchemy/files.alchemy b/sys/mips/alchemy/files.alchemy
index 8534431..2e0f0e7 100644
--- a/sys/mips/alchemy/files.alchemy
+++ b/sys/mips/alchemy/files.alchemy
@@ -5,3 +5,4 @@ mips/alchemy/alchemy_machdep.c standard
mips/alchemy/obio.c standard
mips/alchemy/uart_bus_alchemy.c optional uart
mips/alchemy/uart_cpu_alchemy.c optional uart
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/atheros/files.ar71xx b/sys/mips/atheros/files.ar71xx
index b3db957..ccad057 100644
--- a/sys/mips/atheros/files.ar71xx
+++ b/sys/mips/atheros/files.ar71xx
@@ -12,3 +12,4 @@ mips/atheros/if_arge.c optional arge
mips/atheros/uart_bus_ar71xx.c optional uart
mips/atheros/uart_cpu_ar71xx.c optional uart
mips/atheros/ar71xx_bus_space_reversed.c standard
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/idt/files.idt b/sys/mips/idt/files.idt
index 4148ac4..b8920a7 100644
--- a/sys/mips/idt/files.idt
+++ b/sys/mips/idt/files.idt
@@ -6,3 +6,4 @@ mips/idt/if_kr.c optional kr
mips/idt/obio.c standard
mips/idt/uart_cpu_rc32434.c optional uart
mips/idt/uart_bus_rc32434.c optional uart
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/include/intr_machdep.h b/sys/mips/include/intr_machdep.h
index d5f26d9..1e3e075 100644
--- a/sys/mips/include/intr_machdep.h
+++ b/sys/mips/include/intr_machdep.h
@@ -29,8 +29,26 @@
#ifndef _MACHINE_INTR_MACHDEP_H_
#define _MACHINE_INTR_MACHDEP_H_
+#ifdef TARGET_XLR_XLS
+/*
+ * XLR/XLS uses its own intr_machdep.c and has
+ * a different number of interupts. This probably
+ * should be placed somewhere else.
+ */
+
+struct mips_intrhand {
+ struct intr_event *mih_event;
+ driver_intr_t *mih_disable;
+ volatile long *cntp; /* interrupt counter */
+};
+
+extern struct mips_intrhand mips_intr_handlers[];
+#define XLR_MAX_INTR 64
+
+#else
#define NHARD_IRQS 6
#define NSOFT_IRQS 2
+#endif
struct trapframe;
@@ -40,4 +58,5 @@ void cpu_establish_softintr(const char *, int (*)(void*), void (*)(void*),
void *, int, int, void **);
void cpu_intr(struct trapframe *);
+
#endif /* !_MACHINE_INTR_MACHDEP_H_ */
diff --git a/sys/mips/malta/files.malta b/sys/mips/malta/files.malta
index 6ade95f..fe80546 100644
--- a/sys/mips/malta/files.malta
+++ b/sys/mips/malta/files.malta
@@ -7,3 +7,4 @@ mips/malta/uart_bus_maltausart.c optional uart
dev/uart/uart_dev_ns8250.c optional uart
mips/malta/malta_machdep.c standard
mips/malta/yamon.c standard
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/octeon1/files.octeon1 b/sys/mips/octeon1/files.octeon1
index 6e7d658..8415a47 100644
--- a/sys/mips/octeon1/files.octeon1
+++ b/sys/mips/octeon1/files.octeon1
@@ -13,3 +13,4 @@ mips/octeon1/octeon_machdep.c standard
mips/octeon1/uart_bus_octeonusart.c optional uart
mips/octeon1/uart_cpu_octeonusart.c optional uart
mips/octeon1/uart_dev_oct16550.c optional uart
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/sentry5/files.sentry5 b/sys/mips/sentry5/files.sentry5
index 7992509..07043d5 100644
--- a/sys/mips/sentry5/files.sentry5
+++ b/sys/mips/sentry5/files.sentry5
@@ -5,3 +5,4 @@
# which are believed to be devices we have drivers for
# which just need to be tweaked for attachment to an SSB system bus.
mips/sentry5/s5_machdep.c standard
+mips/mips/intr_machdep.c standard
diff --git a/sys/mips/sibyte/files.sibyte b/sys/mips/sibyte/files.sibyte
index 56f317d..677796c 100644
--- a/sys/mips/sibyte/files.sibyte
+++ b/sys/mips/sibyte/files.sibyte
@@ -5,5 +5,5 @@ mips/sibyte/sb_zbbus.c standard
mips/sibyte/sb_zbpci.c standard
mips/sibyte/sb_scd.c standard
mips/sibyte/ata_zbbus.c standard
-
+mips/mips/intr_machdep.c standard
mips/sibyte/sb_asm.S standard
OpenPOWER on IntegriCloud