level triggered interrupts and remote IRR
文章目录
本文将介绍level triggered interrupts 与 remote IRR。
建议先阅读edge and level triggered interrupts。
什么是remote IRR
remote IRR是RTE中的某一个bit。
流程
Upon receiving an EOI, for level-trigge vector, LAPIC will broadcast EOI message to all IOAPICs.
描述下时序流程:
- INTIN1为1,其对应的 Remote IRR bit 为 0;
- IOAPIC发送level-ssert消息给LAPIC,Remote IRR置1;
- CPU处理完Dev A的中断,LAPCI发送EOI到IOAPIC,IOAPIC Remote IRR清0;
- 由于Dev B的中断还没处理,INTIN1仍然为1,重复第2步的动作;
- CPU处理完Dev B的中断,INTIN1为0,Remote IRR为1,IOAPIC发送 level-deassert 消息;
- LAPIC清零IRR对应bit;
- LAPCI发送EOI到IOAPIC,Remote IRR清零。
参考资料: