[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ISR Argument Proposal Request

Joel Sherrill wrote:

> >OTOH, the dispatcher would have to perform an
> >additional NULL pointer check
> >
> >( if (isrTable[vec] && isrTable[vec]->hdl)
> >       isrTbl[vec]->hdl(isrTbl[vec]->arg); )
> I don't like adding the extra allocation of vectors.  There is memory
> overhead in getting it from the heap in addition to the extra check
> required.

The allocation could be a table similar to way Objects are allocated. I do not like 
an allocation per installed interrupt due to heap overheads. I assume you are talking 
about this.

As EricV points out later in this thread, typically no more than 10 to 15 interrupts 
are allocated so we can allocate a table of say 20.

As for the NULL check, I welcome it. It forces all ports to a CPU to handle the 
unhandled interrupt case. A NULL entry could result in an RTEMS Fatal error being 

> Please keep a list of who is volunteering for which port.  I will
> try to be a backstop for the other ports.  I can program any of them
> but it would be faster for someone who uses a CPU on a daily basis.
> I have to remember a lot. :)

I will help the m68k and test the Coldfire.

  Chris Johns, cjohns at cybertec.com.au