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. |
||
|---|---|---|
| .. | ||
| ATA | ||
| NVMe | ||
| DiskCache.cpp | ||
| Partition.cpp | ||
| StorageDevice.cpp | ||