For IOMMU-related part, as mentioned above, the IVRS table does not list the correct IOAPIC IDs. This would cause driver to disable interrupt-remapping support provided by HW IOMMU.
Here the "ivrs_ioapic[4]=00:14.0 ivrs_ioapic[5]=00:00.2" boot option is needed to override the table. Permanent solution would be for laptop OEMs (e.g. Acer, Lenovo) to fix this in their BIOSes.
Another alternative would be:
* Disable IOMMU in the BIOS (which should also get rid of the IVRS table)
* Disable HW IOMMU and use SWIOTLB for any DMA-remapping (iommu=soft)
However, I'm not sure about why the "noapic" option is needed.
For IOMMU-related part, as mentioned above, the IVRS table does not list the correct IOAPIC IDs. This would cause driver to disable interrupt-remapping support provided by HW IOMMU. 4]=00:14. 0 ivrs_ioapic[ 5]=00:00. 2" boot option is needed to override the table. Permanent solution would be for laptop OEMs (e.g. Acer, Lenovo) to fix this in their BIOSes.
Here the "ivrs_ioapic[
Another alternative would be:
* Disable IOMMU in the BIOS (which should also get rid of the IVRS table)
* Disable HW IOMMU and use SWIOTLB for any DMA-remapping (iommu=soft)
However, I'm not sure about why the "noapic" option is needed.