PERFORCE change 99994 for review

Paolo Pisati piso at FreeBSD.org
Sun Jun 25 17:41:16 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=99994

Change 99994 by piso at piso_newluxor on 2006/06/25 17:40:35

	Add a filter parameter to nexus_setup_intr() and
	intr_add_handler().

Affected files ...

.. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#3 edit
.. //depot/projects/soc2006/intr_filter/amd64/amd64/nexus.c#2 edit
.. //depot/projects/soc2006/intr_filter/amd64/include/intr_machdep.h#2 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#3 (text+ko) ====

@@ -112,8 +112,9 @@
 }
 
 int
-intr_add_handler(const char *name, int vector, driver_intr_t handler,
-    void *arg, enum intr_type flags, void **cookiep)
+intr_add_handler(const char *name, int vector, driver_filter_t filter, 
+		 driver_intr_t handler, void *arg, enum intr_type flags, 
+		 void **cookiep)    
 {
 	struct intsrc *isrc;
 	int error;
@@ -121,8 +122,8 @@
 	isrc = intr_lookup_source(vector);
 	if (isrc == NULL)
 		return (EINVAL);
-	error = intr_event_add_handler(isrc->is_event, name, handler, arg,
-	    intr_priority(flags), flags, cookiep);
+	error = intr_event_add_handler(isrc->is_event, name, filter, handler, 
+	    arg, intr_priority(flags), flags, cookiep);
 	if (error == 0) {
 		intrcnt_updatename(isrc);
 		mtx_lock_spin(&intr_table_lock);

==== //depot/projects/soc2006/intr_filter/amd64/amd64/nexus.c#2 (text+ko) ====

@@ -93,7 +93,8 @@
 static	int nexus_release_resource(device_t, device_t, int, int,
 				   struct resource *);
 static	int nexus_setup_intr(device_t, device_t, struct resource *, int flags,
-			     void (*)(void *), void *, void **);
+			     driver_filter_t filter, void (*)(void *), void *, 
+			     void **);
 static	int nexus_teardown_intr(device_t, device_t, struct resource *,
 				void *);
 static struct resource_list *nexus_get_reslist(device_t dev, device_t child);
@@ -429,7 +430,8 @@
  */
 static int
 nexus_setup_intr(device_t bus, device_t child, struct resource *irq,
-		 int flags, void (*ihand)(void *), void *arg, void **cookiep)
+		 int flags, driver_filter_t filter, void (*ihand)(void *), 
+		 void *arg, void **cookiep)
 {
 	int		error;
 
@@ -449,7 +451,7 @@
 		return (error);
 
 	error = intr_add_handler(device_get_nameunit(child),
-	    rman_get_start(irq), ihand, arg, flags, cookiep);
+	    rman_get_start(irq), filter, ihand, arg, flags, cookiep);
 
 	return (error);
 }

==== //depot/projects/soc2006/intr_filter/amd64/include/intr_machdep.h#2 (text+ko) ====

@@ -124,8 +124,9 @@
 #else
 #define	intr_add_cpu(apic_id)
 #endif
-int	intr_add_handler(const char *name, int vector, driver_intr_t handler,
-    void *arg, enum intr_type flags, void **cookiep);
+int	intr_add_handler(const char *name, int vector, driver_filter_t filter, 
+			 driver_intr_t handler, void *arg, enum intr_type flags, 
+			 void **cookiep);    
 int	intr_config_intr(int vector, enum intr_trigger trig,
     enum intr_polarity pol);
 void	intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);


More information about the p4-projects mailing list