BSP_install_rtems_irq_handler API

Till Straumann strauman at SLAC.Stanford.EDU
Thu Jan 10 00:08:38 UTC 2002


VALETTE Eric wrote:

> Joel Sherrill wrote:
>
> >
> > I would prefer that all IRQs receive the vector number.
>
> I think that if we push an argument is should be a (void*) that
>
> will contains several things including the vector number if needed.
> Reason is that multiplexing drivers usually requires additional private
> data and not only the vector number. OK, the vector number can be used
> to access the per driver data but the cost is higher at the end (example
> beeing several ethernet board with different IO location for registers
> access (idem for PCI).

I agree - passing a user "private" (void*) is flexible enough while
adding _minimal_ overhead. On PowerPC, passing

hdlrTbl[irq].hdl(hdlrTbl[irq].usrData);

costs just ONE instruction compared to passing nothing at all!!

compare this to the ~250 instructions of the exception handling
and ISR dispatching code.

Honestly, I really see _no_ benefit in saving this one instruction.

-- Till

>
> NB : for those how have been working longer on rtems, I submitted a
> patch to the API that Till Strauman is proposing about two years ago for
> i386 :-)
>
> I'm glad to discuss the API changes in more detail if someone wants to
> start a thread.

>
>
> --
>     __
>    /  `                          Eric Valette - Canon CRF
>   /--   __  o _.                 Product Dev. Group Software Team Leader
> (___, / (_(_(__                 Rue de la touche lambert
>                                  35517 Cesson-Sevigne  Cedex
>                                  FRANCE
> Tel: +33 (0)2 99 87 68 91       Fax: +33 (0)2 99 84 11 30
> E-mail: valette at crf.canon.fr    http://www.crf.canon.fr




More information about the users mailing list