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