MPC8xx interrupts

VALETTE Eric valette at crf.canon.fr
Wed Oct 24 07:39:50 UTC 2001


Artemii S. Ivanov wrote:

> Hello, all MPC8xx users!
> 
> I have a question concerning interrupts processing -
> as I see interrupt processing for MPC8xx is concentrated in
> 'irq' subdirectory of bsp directory (e.g. lib/libbsp/powerpc/mbx8xx/irq)
> I think this code could be shared between differnet MPC8xx bsps (eth_comm
> bsp use the same interrup processing code as mbx8xx bsp) and placed into
> libcpu/powerpc/m8xx/ subdirectory.
> 
> Some usefull thing could be added to this interrupt dispatching code:
> It seems that interrupt handler routine should have input parameter -
> void interrupt_handler(void *arg),


This has already been discussed several time on the list. I'm not in 
favor of that because the actual API
	1) enables to do what you want using different trampoline handler,
	2) Increase the number of instruction in the generic code even if you do 
not need an argument,

if you connect two handlers :

trampoline_irq1 and trampoline_irq2 and do

trampoline_irq1() { generic_handler(table_args[irq1]);}
trampoline_irq2() { generic_handler(table_args[irq2]);}

You have exactly what you want just the code is inside the application 
and not inside the generic irq processing and thus do not cause extra 
processing for irq that do not need multiplexing.

Otherwyse, the code is easy to modify to do what you want. NB : I even 
submitted a patch for ix86 to show that it was easy to implement...

-- 
    __
   /  `                          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