Open jschlatow opened 1 year ago
I've rebased my _iommuirq branch on Sculpt 24.10.2 and published two Sculpt-hw images on my depot: a vanilla Sculpt on base-hw and version with added IRQ remapping). I haven't noticed any issues with the IRQ remapping version that do not also occur on the vanilla version.
As mentioned in #5002, to achieve complete kernel-agnostic IOMMU support, the platform driver must also deal with interrupt remapping. Setting up the (global) interrupt remapping table is pretty straight forward and I have a work-in-progress implementation on my _iommuirq branch, yet since we do not have access to the IOAPIC from within the platform driver to set the redirection table entries, we must pass-through compatibility format interrupts. This, however, nullifies the benefits of interrupt remapping. We therefore need to find a way to move control over the IOAPIC from the kernel to the platform driver.
Another (minor) obstacle is that we need to use the queued invalidation interface as the interrupt related caching structures cannot be flushed using the register-based interface.
Note: I am not actively working on this issue at the moment and merely intend to share and document the current state.