I had not understood how MSIs work and I was unnecessarily routing them through IOAPIC. This is not necessary and should not be done :D Also MSIs were reserving interrupts that IOAPIC was capable of generating. Now IOAPIC and MSIs use different set of interrupts so IOAPIC can use more interrupts if needed. |
||
|---|---|---|
| .. | ||
| PageTable.cpp | ||
| Signal.S | ||
| Syscall.S | ||
| Thread.S | ||
| boot.S | ||
| crti.S | ||
| crtn.S | ||
| interrupts.S | ||
| linker.ld | ||