Re: intel x86 instruction "cli"

From: gopan (gop_kumar_at_hotmail.com)
Date: 03/19/04


Date: 18 Mar 2004 22:38:23 -0800


>
> Then, does interrupt priority come into play here? When x86 issues 'cli'
> instruction due to interrupt 11, can interrupt 4 interrupt x86 again?
>
          The cli will cause processor to ignore all interrupts except
the NMI.

 The x86 processor when interrupted will clear the interrupt flag
until the ISR executiong completes, this basically means all
interrupts disabled.

 In linux the ISR will mask the corresponding interrupt bit in PIC and
will call sti so that processor can identify any new interrupt
generation ( as the interrupt
bit corresponding to the previous interrupt is cleared processor is
not notified
of the same interrupt again until ISR re enables that bit before
returning).

The purpose of this is to service any higher priority interrupts
arrival during the execution of current interrupt's ISR.

I had a similar doubt earlier and was cleared by the answers received
in this news group, hope I have understood correctly



Relevant Pages

  • Re: Interrupts are not coming sometime in NIC miniport
    ... An ISR should do only what is absolutely necessary, ... This is usually done by reading some interrupt register on the ... The DPC then does all the real work. ... Fill up blob with data from the NICs data buffers. ...
    (microsoft.public.development.device.drivers)
  • Re: bad vme interrupt 0 or uninitialized vme interrupt
    ... My ISR worked very fast but I had interrupt problems (explained in last ... right solution or because these macro calls include a delay big enough ... I have several VME encoder cards that are latched at ...
    (comp.os.vxworks)
  • Re: Installable ISR - general questions
    ... The ISR (Interrupt Service Routine) is called by the interrupt ... handler installed by the OS. ... SYSINTR_RESCHEDULE tells the kernel that it should check if a thread ...
    (microsoft.public.windowsce.platbuilder)
  • Re: softirqd
    ... > 2) ksoftirqd is not a real time thread ... 'Real-time' related to an 'interrupt' has no meaning. ... your ISR code gets control, the time is bounded by some ...
    (Linux-Kernel)
  • Re: Why ISR contains no arguments and return type is void
    ... If an interrupt can be caused by 3 causes, A, B, or C then the condition ... In addition, when you write an ISR, ... Check Ralph Brown's INT list. ... > in a register before returning from your ISR. ...
    (sci.electronics.design)