PERFORCE change 111742 for review
Olivier Houchard
cognet at FreeBSD.org
Fri Dec 15 07:06:33 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=111742
Change 111742 by cognet at hulglah on 2006/12/15 15:06:08
Make intr_filter compile on arm:
Remove the definition of NIRQ from genassym.c, because intr.h now
depends of sys/bus.h, which requires device_if.h, which is not there
yet when we create assym.s. Instead, make intr.h includable from asm
, and do that.
Affected files ...
.. //depot/projects/soc2006/intr_filter/arm/arm/genassym.c#4 edit
.. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#9 edit
.. //depot/projects/soc2006/intr_filter/arm/arm/irq_dispatch.S#2 edit
.. //depot/projects/soc2006/intr_filter/arm/include/intr.h#3 edit
Differences ...
==== //depot/projects/soc2006/intr_filter/arm/arm/genassym.c#4 (text+ko) ====
@@ -43,7 +43,6 @@
#include <machine/cpufunc.h>
#include <machine/pcb.h>
#include <machine/pte.h>
-#include <machine/intr.h>
#include <machine/sysarch.h>
#include <netinet/in.h>
@@ -116,4 +115,3 @@
ASSYM(TRAPFRAMESIZE, sizeof(struct trapframe));
ASSYM(MAXCOMLEN, MAXCOMLEN);
-ASSYM(NIRQ, NIRQ);
==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#9 (text+ko) ====
@@ -40,6 +40,7 @@
__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.13 2006/11/08 01:32:24 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/kernel.h>
#include <sys/syslog.h>
#include <sys/malloc.h>
#include <sys/proc.h>
@@ -49,6 +50,7 @@
#include <machine/atomic.h>
#include <machine/intr.h>
#include <machine/cpu.h>
+#include <machine/bus.h>
static struct intr_event *intr_events[NIRQ];
static int intrcnt_tab[NIRQ];
@@ -59,6 +61,10 @@
void arm_handler_execute(struct trapframe *, int);
+void intr_callout_reset(void);
+
+extern struct bus_space i80321_bs_tag;
+
void
arm_setup_irqhandler(const char *name, driver_filter_t *filter, void (*hand)(void*), void *arg,
int irq, int flags, void **cookiep)
@@ -120,8 +126,7 @@
arm_handler_execute(struct trapframe *frame, int irqnb __unused)
{
struct intr_event *event;
- struct thread *td = curthread;
- int i, thread, res;
+ int i, res;
PCPU_LAZY_INC(cnt.v_intr);
while ((i = arm_get_next_irq()) != -1) {
@@ -151,6 +156,7 @@
intr_callout_reset(void)
{
+ return;
// XXX missing callout_init_mtx(&stray_callout_handle, ...);
callout_reset(&stray_callout_handle, hz,
&stray_detection, &walk_intrs_events);
==== //depot/projects/soc2006/intr_filter/arm/arm/irq_dispatch.S#2 (text+ko) ====
@@ -72,6 +72,8 @@
#include <machine/asm.h>
#include <machine/asmacros.h>
#include <machine/armreg.h>
+#include <machine/intr.h>
+
__FBSDID("$FreeBSD: src/sys/arm/arm/irq_dispatch.S,v 1.4 2005/01/05 21:58:47 imp Exp $");
/*
==== //depot/projects/soc2006/intr_filter/arm/include/intr.h#3 (text+ko) ====
@@ -45,6 +45,8 @@
#define NIRQ 32
#endif
+#ifndef LOCORE
+#include <sys/bus.h>
#include <machine/psl.h>
int arm_get_next_irq(void);
@@ -53,4 +55,5 @@
void arm_setup_irqhandler(const char *, driver_filter_t *, void (*)(void*),
void *, int, int, void **);
int arm_remove_irqhandler(void *);
+#endif
#endif /* _MACHINE_INTR_H */
More information about the p4-projects
mailing list