call user isr

Eric Valette eric.valette at free.fr
Fri Nov 21 09:13:51 UTC 2003


Rloase Flinne wrote:
> Hi,
> 
> These days some interrupt related codes confused me.
> 
> irq_asm.S:
> 
>         pushl     ecx                       # push vector number
>         mov       SYM (current_irq) (,ecx,4),eax
>                                             # eax = Users handler
>         call      *eax                      # invoke user ISR
> 
> The user ISR is invoked without saving general registers. Is this a safe 
> way to call a C function? Could anyone please give a brief explanation?
> 
> Thanks a lot.

You only need to save the scratch registers (register that C routine are 
authaurized to trash) which are defined in the ABI.

-- 
    __
   /  `                   	Eric Valette
  /--   __  o _.          	6 rue Paul Le Flem
(___, / (_(_(__         	35740 Pace

Tel: +33 (0)2 99 85 26 76	Fax: +33 (0)2 99 85 26 76
E-mail: eric.valette at free.fr




More information about the users mailing list