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. |
||
|---|---|---|
| .. | ||
| HID | ||
| XHCI | ||
| Device.cpp | ||
| USBManager.cpp | ||