Note that there are some explanatory texts on larger screens.

plurals
  1. USjacks
    primarykey
    data
    text
    plurals
    1. This table or related slice is empty.
    1. CO... irq, so in such case you should send EOIs your self and do not chain to the old handler. Becoz if now(interrupt bit cleared) you chain to the old handler, the handler will think that device didn't generated interrupt. In short, if you are sure that your device assreted the irq, then completely handle it and send EOI in last, and do not chain. But if you are sure that some other device has asserted this irq(recall: pci interrupts are shared.), then you must simply chain to old handler, without doing any further processing.
      singulars
    2. CO... are NOT sending EOIs in your ISR code then you MUST chain to old ISR, otherwise you don't need to chain, if you are handling EOIs yourself. But note that if you ARE handling EOIs in your code, then you MUST not chain to old ISR, otherwise it might get confused. Also, the default ISRs are installed by POST code during booting, so you are ensured that they will be last in the chain, and will send EOIs, themselves. Also note that the pci device that genrated the interrupt will 'clear the interrupt occured bit' as soon as your ISR reads that to confirm that your device actually asserted...
      singulars
    3. CO@liaoo- glad to know that things worked! :) Well, if you are writing interrupt handler in assembly, then you MUST use *iretd*. But in your case, since you are writing in C and using the *' __interrupt '*, keyword, you DON'T need to put separate ired via inline assembly. The compiler will take care of that(ONLY if you write ISR with '_interrupt' keyword, otherwise there is no way for the compiler to distinguish between an function and ISR). The C compiler will put appropriate instructions when it encounter '}' ie enclosing curly bracket of your ISR, while compiling. If you ...
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload