marcan / lsirec

LSI SAS2008/SAS2108 low-level recovery tool for Linux
BSD 2-Clause "Simplified" License
187 stars 30 forks source link

[Documentation] LsiRec works with the IOMMU in passthrough mode #13

Open baconwaifu opened 2 years ago

baconwaifu commented 2 years ago

adding the iommu=pt kernel parameter puts the IOMMU into "enabled but only used for virtualization" mode, where the device's view of ram is mapped 1:1 with actual physical RAM.

This tends to be seen on sandy-bridge-era platforms due to some IOTLB errata (that I can't actually find) that drags system performance down to that of a pentium 2, but can also be used on platforms that cannot disable the iommu for whatever reason.

Fohdeesha commented 2 years ago

on systems that can't disable IOMMU in BIOS, I'd imagine iommu=off would work just as well? Of course, then you don't get IOMMU available for virt as you do with pt, but I'm thinking just for systems that will only be used temporarily for flashing

Fohdeesha commented 2 years ago

as a followup, turns out the global iommu=off also partly disables SWIOMMU, which is kernel panic city. on modern x86 systems the correct options would be intel_iommu=off & amd_iommu=off. The customer kernel procline options for my LSI flashing live ISOs are the following now, which seems to have gotten the best compatibility across systems used by my guide users:

iomem=relaxed intel_iommu=off amd_iommu=off