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

John Baldwin jhb at freebsd.org
Mon May 7 18:45:20 UTC 2007


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


More information about the cvs-src mailing list