From owner-p4-projects@FreeBSD.ORG Sun Jan 7 15:05:08 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE5DF16A415; Sun, 7 Jan 2007 15:05:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8078E16A40F for ; Sun, 7 Jan 2007 15:05:08 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6B86413C45E for ; Sun, 7 Jan 2007 15:05:08 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l07F58QC025754 for ; Sun, 7 Jan 2007 15:05:08 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l07F58TH025751 for perforce@freebsd.org; Sun, 7 Jan 2007 15:05:08 GMT (envelope-from piso@freebsd.org) Date: Sun, 7 Jan 2007 15:05:08 GMT Message-Id: <200701071505.l07F58TH025751@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112652 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jan 2007 15:05:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=112652 Change 112652 by piso@piso_newluxor on 2007/01/07 15:04:26 Do not pass down the interrupt source, use intr_event->ie_source instead. Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#17 edit .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#16 edit .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#24 edit .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#16 edit .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#28 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#22 edit .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#16 edit .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#13 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#17 (text+ko) ==== @@ -274,7 +274,7 @@ if (vector == 0) clkintr_pending = 1; - res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src); switch(res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#16 (text+ko) ==== @@ -142,7 +142,7 @@ intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; intr_event_handle(event, frame, intr_eoi_src_stub, - intr_disab_eoi_src, (void *)i); + intr_disab_eoi_src); } } ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#24 (text+ko) ==== @@ -262,7 +262,7 @@ if (vector == 0) clkintr_pending = 1; - res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src); switch(res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#16 (text+ko) ==== @@ -406,7 +406,7 @@ atomic_add_long(i->cntp, 1); res = intr_event_handle(i->event, frame, intr_eoi_src, - intr_disab_eoi_src_stub, (void *)vector); + intr_disab_eoi_src_stub); switch (res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#28 (text+ko) ==== @@ -985,8 +985,6 @@ * handlers as their main argument. * o intr_eoi_src(): turn off an irq. * o intr_disab_eoi_src(): mask and turn off an irq. - * o arg: struct intsrc passed to the 2 previous - * intr_*_src() functions or NULL. * * NOTA BENE: i386 and amd64 handle their * interrupt controllers through the @@ -1007,8 +1005,7 @@ */ int intr_event_handle(struct intr_event *ie, struct trapframe *frame, - void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), - void *arg) + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *)) { struct intr_thread *ithd; struct thread *td; @@ -1031,9 +1028,9 @@ * it an EOI. */ if (thread & FILTER_HANDLED) - intr_eoi_src(arg); + intr_eoi_src(ie->ie_source); else - intr_disab_eoi_src(arg); + intr_disab_eoi_src(ie->ie_source); critical_exit(); /* Interrupt storm logic */ ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#22 (text+ko) ==== @@ -290,7 +290,7 @@ KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); res = intr_event_handle(ie, NULL, intr_eoi_src, - intr_disab_eoi_src_stub, (void *)irq); + intr_disab_eoi_src_stub); switch(res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#16 (text+ko) ==== @@ -273,7 +273,7 @@ iv = cookie; ie = iv->iv_event; res = intr_event_handle(ie, NULL, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); + intr_disab_eoi_src_stub); switch (res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#13 (text+ko) ==== @@ -120,8 +120,7 @@ void intr_eoi_src_stub(void *arg __unused); void intr_disab_eoi_src_stub(void *arg __unused); int intr_event_handle(struct intr_event *ie, struct trapframe *frame, - void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), - void *arg); + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *)); u_char intr_priority(enum intr_type flags); int intr_event_add_handler(struct intr_event *ie, const char *name, driver_filter_t filter, driver_intr_t handler, void *arg, u_char pri, enum intr_type flags,