This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
- From: osv <osv at javad dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Fri, 18 Nov 2005 16:59:37 +0300
- Subject: [ECOS] CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
Hello, In the eCos reference manual one can read: The return value of an ISR is normally one of CYG_ISR_CALL_DSR or CYG_ISR_HANDLED. The former indicates that further processing is required at DSR level, and the interrupt handlerâs DSR will be run as soon as possible. The latter indicates that the interrupt has been fully handled and no further effort is required. However, the eCos internal clock isr (Cyg_RealTimeClock::isr()) returns as follows: return Cyg_Interrupt::CALL_DSR|Cyg_Interrupt::HANDLED; that seems to contradict with the description above. What is the truth about isr handler return codes? -- Sergei. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
- Follow-Ups:
- Re: CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
- From: Gary Thomas
- Re: CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Re: CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
- From: Gary Thomas <gary at mlbassoc dot com>
- To: osv <osv at javad dot com>
- Cc: eCos Discussion <ecos-discuss at ecos dot sourceware dot org>
- Date: Fri, 18 Nov 2005 07:12:18 -0700
- Subject: Re: [ECOS] CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
- References: <87veyqgipi.fsf@javad.com>
On Fri, 2005-11-18 at 16:59 +0300, osv wrote: > Hello, > > In the eCos reference manual one can read: > > The return value of an ISR is normally one of CYG_ISR_CALL_DSR or > CYG_ISR_HANDLED. The former indicates that further processing is > required at DSR level, and the interrupt handler’s DSR will be run as > soon as possible. The latter indicates that the interrupt has been > fully handled and no further effort is required. This is poorly worded I think. > > However, the eCos internal clock isr (Cyg_RealTimeClock::isr()) returns > as follows: > > return Cyg_Interrupt::CALL_DSR|Cyg_Interrupt::HANDLED; > > that seems to contradict with the description above. What is the truth > about isr handler return codes? CYG_ISR_HANDLED says that the ISR actually did something about the interrupt. It's used by chained interrupts to determine if another ISR (which shares the same interrupt) should be run. CYG_ISR_CALL_DSR indicates that the DSR which corresponds to this ISR should be run. These are bit values which can be successfully or'ed together to achieve the desired result. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
- Follow-Ups:
- References:
- CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
- From: osv
- CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |