Date: Mon, 7 May 2007 13:53:24 -0700 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: John Baldwin <jhb@freebsd.org> Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Paolo Pisati <piso@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: <20070507205323.GT17958@funkthat.com> In-Reply-To: <200705071354.00455.jhb@freebsd.org> References: <200705061702.l46H2oVK057260@repoman.freebsd.org> <20070506174426.GO17958@funkthat.com> <20070506191027.GA2050@tin.it> <200705071354.00455.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote this message on Mon, May 07, 2007 at 13:53 -0400: > 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. That's fine w/ me.. as long as it's documented as such... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070507205323.GT17958>