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]

HAL_INTERRUPT_ACKNOWLEDGE question


I am a little confused about what HAL_INTERRUPT_ACKNOWLEDGE is
intended to do. The reference manual for eCos says that it is used if
the interrupt controller requires you to acknowledge an interrupt. The
reason I am confused is that an interrupt service routine for a device
may need to clear a status flag in a peripheral status register even
if there is no interrupt controller. Is the intent that each interrupt
service routine handle this clearing of the flag in the peripheral
status register on its own, in addition to calling
HAL_INTERRUPT_ACKNOWLEDGE for handling anything that has to do with
the interrupt controller? It seems this is the case, but why is there
this special function in the HAL for handling the interrupt controller
acknowledgement? Why isn't this just handled directly by each device's
interrupt service routine without going through this interface?

The hal_clock_reset() function makes it quite clear to me that each
ISR handles any status flags itself, because this is the only way the
ISR for the real time clock could be made generic as it is in the
kernel by calling hal_clock_reset() in addition to calling
HAL_INTERRUPT_ACKNOWLEDGE().

Thanks.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]