Disabling interrupts and masking interrupts

Kevin Wilson wkevils at gmail.com
Thu Mar 7 08:58:26 EST 2013


Hello,
what is the difference between disabling interrupts and masking
interrupts ?  Disabling interrupts is done, AFAIK, with irq_disable().
(see below)
Can someone gives an example of how to mask interrupts
with x86/x86_64 ?

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



More information about the Kernelnewbies mailing list