Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 May 2007 13:53:59 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Paolo Pisati <piso@freebsd.org>
Cc:        cvs-src@freebsd.org, John-Mark Gurney <gurney_j@resnet.uoregon.edu>, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/amd64/amd64 intr_machdep.c src/sys/i386/i386 intr_machdep.c src/sys/kern kern_intr.c src/sys/sys interrupt.h
Message-ID:  <200705071354.00455.jhb@freebsd.org>
In-Reply-To: <20070506191027.GA2050@tin.it>
References:  <200705061702.l46H2oVK057260@repoman.freebsd.org> <20070506174426.GO17958@funkthat.com> <20070506191027.GA2050@tin.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 06 May 2007 03:10:27 pm Paolo Pisati wrote:
> On Sun, May 06, 2007 at 10:44:26AM -0700, John-Mark Gurney wrote:
> > Paolo Pisati wrote this message on Sun, May 06, 2007 at 17:02 +0000:
> > >   Modified files:
> > >     sys/amd64/amd64      intr_machdep.c 
> > >     sys/i386/i386        intr_machdep.c 
> > >     sys/kern             kern_intr.c 
> > >     sys/sys              interrupt.h 
> > >   Log:
> > >   Bring in the reminaing bits to make interrupt filtering work:
> > 
> > When are we going to see man page updates to document this new feature?
> 
> didn't prepare any patch for man pages cause the support for some
> archs is still missing, but i can do that if requested.
>  
> > Also, you forgot to update sys/sys/bus.h's comments? or did you fix
> > the code to behave like the comments?
> 
> you mean this comment:
> 
> --------8<--------8<--------8<--------8<--------8<--------8<--------
> 
> /**
>  * @brief Driver interrupt filter return values
>  *
>  * If a driver provides an interrupt filter routine it must return an
>  * integer consisting of oring together zero or more of the following
>  * flags:
>  *
>  *      FILTER_STRAY    - this device did not trigger the interrupt
>  *      FILTER_HANDLED  - the interrupt has been fully handled and can be 
EOId
>  *      FILTER_SCHEDULE_THREAD - the threaded interrupt handler should be
>  *                        scheduled to execute
>  *
>  * If the driver does not provide a filter, then the interrupt code will
>  * act is if the filter had returned FILTER_SCHEDULE_THREAD.  Note that it
>  * is illegal to specify any other flag with FILTER_STRAY and that it is
>  * illegal to not specify either of FILTER_HANDLED or FILTER_SCHEDULE_THREAD
>  * if FILTER_STRAY is not specified.
>  */
> #define FILTER_STRAY            0x01
> #define FILTER_HANDLED          0x02
> #define FILTER_SCHEDULE_THREAD  0x04

My suggestion on this a while back btw was to convert this from a bitmask to 
an "enum" and have FILTER_SCHEDULE_THREAD be 3 and imply FILTER_HANDLED, and 
filters return 1 of the 3 values.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705071354.00455.jhb>