Disabling interrupts and masking interrupts

anish singh anish198519851985 at gmail.com
Thu Mar 7 10:00:03 EST 2013


On Thu, Mar 7, 2013 at 7:28 PM, Kevin Wilson <wkevils at gmail.com> wrote:
> Hello,
> what is the difference between disabling interrupts and masking
> interrupts ?  Disabling interrupts is done, AFAIK, with irq_disable().
Disabling interrupts means that you have disabled the source of interrupt.
Masking means that you are not(CPU) going to handle the interrupts until it is
unmasked.
> (see below)
> Can someone gives an example of how to mask interrupts
> with x86/x86_64 ?
Not familiar with x86. Try asking in kernel mailing list.I guess you
will get more help there.
>
> irq_disable() in x86 goes to native_irq_disable(), which
> eventually calls assembler "cli" command:
>
> CLI clears the IF bit in the flags.
>
>
> static inline void native_irq_disable(void)
> {
>         asm volatile("cli": : :"memory");
> }
> see arch/x86/include/asm/irqflags.h
>
> rgs,
> Kevin
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list