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