[ECOS] Does eCos supports chained interrupt?

Zi Zhou zzhou@3upsystems.com
Thu May 15 01:57:00 GMT 2003


Hi Gary,

My understanding about CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN
is different from what I want to achieve here.  e.g. if my platform supports 5
interrupt
vectors,  each is for different peripherial devices, among them one is to service 3
PCI devices.
If I enable CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN, all these 5 interrupt vectors
will be chained together, so all my ISRs ( including ISRs for the PCI devices, uart,
etc ) need to
check if the interrupt is for it to process. My intention is not to chain all the
interrupt vectors together,
but to chain the ISRs for the 3 PCI devices( assuming each PCI device has different
ISR),
I want to be able to activate ISRs for the 3 PCI devices one after another when
interrupt for this INT line happens,
each ISR will check if the interrupt is for itself to service. I am trying to port
some code from VxWorks
to eCos, and seems 'intConnect' in VxWorks actually chained all the ISRs for a
certain vector together, this seems to be
specifically designed for PCI devices since they can share the same line. I couldn't
find simiar stuff about eCos.
If eCos doesn't support it, I can work around easily. Just want to make sure.

thanks and all input are welcome

Zi

"Gary D. Thomas" wrote:

> On Thu, 2003-05-15 at 03:31, Zi Zhou wrote:
> > Hi,
> >
> > I am wondering if eCos supports chained interrupt. I have multiple PCI devices
> > connected to the same interrupt line - in my case, I use MIPS CPU and all the
> > PCI devices is connected to interrupt 4. These PCI devices share the same ISR &
> > driver code. It would be easier if when interrupt happens, ISR will be invoked
> > for each PCI device and if the interrupt does not come from this device, the
> > ISR will return and the same ISR will be invoked for the next device, until all
> > the devices are serviced.  If eCos doesn't support this, can someone point me
> > to a solution that basically do the same thing with minor changes to existing
> > eCos API? btw,  I am not using DSR right now.
> >
>
> Yes, chained interrupts should be supported by all platforms.
> See CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN
>   (defined in hal/common/current/cdl/interrupts.cdl)
>
> --
> Gary D. Thomas <gary.thomas@mind.be>


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



More information about the Ecos-discuss mailing list