From owner-p4-projects@FreeBSD.ORG Thu Jun 29 11:27:15 2006 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 40E0316A410; Thu, 29 Jun 2006 11:27:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 043BB16A407 for ; Thu, 29 Jun 2006 11:27:15 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7063643D9F for ; Thu, 29 Jun 2006 11:27:14 +0000 (GMT) (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 k5TBRE4U045861 for ; Thu, 29 Jun 2006 11:27:14 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k5TBRES3045858 for perforce@freebsd.org; Thu, 29 Jun 2006 11:27:14 GMT (envelope-from piso@freebsd.org) Date: Thu, 29 Jun 2006 11:27:14 GMT Message-Id: <200606291127.k5TBRES3045858@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 100281 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: Thu, 29 Jun 2006 11:27:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=100281 Change 100281 by piso@piso_newluxor on 2006/06/29 11:26:21 Finished converting pic_setup_intr()&C to support interrupt filtering: now powerpc compiles again, and is in par with all the other archs. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/include/intr_machdep.h#3 edit .. //depot/projects/soc2006/intr_filter/powerpc/include/openpicvar.h#2 edit .. //depot/projects/soc2006/intr_filter/powerpc/powermac/hrowpic.c#2 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#4 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/nexus.c#2 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/openpic.c#2 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/pic_if.m#2 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/include/intr_machdep.h#3 (text+ko) ==== @@ -42,8 +42,8 @@ void intr_init(void (*)(void), int, void (*)(uintptr_t), void (*)(uintptr_t)); void intr_setup(u_int, ih_func_t *, void *, u_int); -int inthand_add(const char *, u_int, void (*)(void *), void *, int, - void **); +int inthand_add(const char *, u_int, int (*)(void *), void (*)(void *), + void *, int, void **); int inthand_remove(u_int, void *); void intr_handle(u_int); ==== //depot/projects/soc2006/intr_filter/powerpc/include/openpicvar.h#2 (text+ko) ==== @@ -58,8 +58,8 @@ struct resource *openpic_allocate_intr(device_t, device_t, int *, u_long, u_int); int openpic_setup_intr(device_t, device_t, - struct resource *, int, driver_intr_t, void *, - void **); + struct resource *, int, driver_filter_t, + driver_intr_t, void *, void **); int openpic_teardown_intr(device_t, device_t, struct resource *, void *); int openpic_release_intr(device_t dev, device_t, int, ==== //depot/projects/soc2006/intr_filter/powerpc/powermac/hrowpic.c#2 (text+ko) ==== @@ -79,8 +79,8 @@ static struct resource *hrowpic_allocate_intr(device_t, device_t, int *, u_long, u_int); static int hrowpic_setup_intr(device_t, device_t, - struct resource *, int, driver_intr_t, void *, - void **); + struct resource *, int, driver_filter_t, + driver_intr_t, void *, void **); static int hrowpic_teardown_intr(device_t, device_t, struct resource *, void *); static int hrowpic_release_intr(device_t dev, device_t, int, @@ -221,7 +221,8 @@ static int hrowpic_setup_intr(device_t picdev, device_t child, struct resource *res, - int flags, driver_intr_t *intr, void *arg, void **cookiep) + int flags, driver_filter_t *filter, driver_intr_t *intr, void *arg, + void **cookiep) { struct hrowpic_softc *sc; u_long start; @@ -240,8 +241,8 @@ if (error) return (error); - error = inthand_add(device_get_nameunit(child), start, intr, arg, - flags, cookiep); + error = inthand_add(device_get_nameunit(child), start, filter, intr, + arg, flags, cookiep); if (!error) { /* ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#4 (text+ko) ==== @@ -168,8 +168,8 @@ } int -inthand_add(const char *name, u_int irq, void (*handler)(void *), void *arg, - int flags, void **cookiep) +inthand_add(const char *name, u_int irq, int (*filter)(void *), + void (*handler)(void *), void *arg, int flags, void **cookiep) { struct ppc_intr_handler *ppc_ih; struct intr_event *event, *orphan; @@ -202,7 +202,7 @@ } } - error = intr_event_add_handler(event, name, handler, arg, + error = intr_event_add_handler(event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error) return (error); ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/nexus.c#2 (text+ko) ==== @@ -112,7 +112,7 @@ static int nexus_read_ivar(device_t, device_t, int, uintptr_t *); static int nexus_write_ivar(device_t, device_t, int, uintptr_t); static int nexus_setup_intr(device_t, device_t, struct resource *, int, - driver_intr_t *, void *, void **); + driver_filter_t *, driver_intr_t *, void *, void **); static int nexus_teardown_intr(device_t, device_t, struct resource *, void *); static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, @@ -290,7 +290,7 @@ static int nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, - driver_intr_t *intr, void *arg, void **cookiep) + driver_filter_t *filter, driver_intr_t *intr, void *arg, void **cookiep) { struct nexus_softc *sc; @@ -299,8 +299,8 @@ if (device_get_state(sc->sc_pic) != DS_ATTACHED) panic("nexus_setup_intr: no pic attached\n"); - return (PIC_SETUP_INTR(sc->sc_pic, child, res, flags, intr, arg, - cookiep)); + return (PIC_SETUP_INTR(sc->sc_pic, child, res, flags, filter, intr, + arg, cookiep)); } static int ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/openpic.c#2 (text+ko) ==== @@ -228,7 +228,8 @@ int openpic_setup_intr(device_t dev, device_t child, struct resource *res, - int flags, driver_intr_t *intr, void *arg, void **cookiep) + int flags, driver_filter_t *filter, driver_intr_t *intr, void *arg, + void **cookiep) { struct openpic_softc *sc; u_long start; @@ -253,8 +254,8 @@ if (error) return (error); - error = inthand_add(device_get_nameunit(child), start, intr, arg, - flags, cookiep); + error = inthand_add(device_get_nameunit(child), start, filter, intr, + arg, flags, cookiep); if (sc->sc_hwprobed) openpic_enable_irq(sc, start, IST_LEVEL); ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/pic_if.m#2 (text+ko) ==== @@ -44,6 +44,7 @@ device_t child; struct resource *res; int flags; + driver_filter_t *filter; driver_intr_t *intr; void *arg; void **cookiep;