IOMMU Support in Linux Kernel¶
In addition to enabling the IOMMU hardware extensions in the UEFI/BIOS, the IOMMU support must be enabled in the host kernel.
Check whether the IOMMU support is enabled in the Linux kernel by running the virt-host-validate command:
If the IOMMU support is enabled, the command output will look similar to this:
.
.
.
QEMU: Checking for cgroup 'blkio' controller support : PASS
QEMU: Checking for device assignment IOMMU support : PASS
QEMU: Checking if IOMMU is enabled by kernel : PASS
.
.
.
If the IOMMU support is disabled, the command output will look similar to this:
.
.
.
QEMU: Checking for cgroup 'blkio' controller support : PASS
QEMU: Checking for device assignment IOMMU support : PASS
QEMU: Checking if IOMMU is enabled by kernel : WARN (IOMMU appears to be disabled in kernel.
.
.
.
Enabling IOMMU in Linux Kernel¶
Follow the steps below to enable the IOMMU support in the Linux kernel.
-
Regenerate the GRUB configuration with the
intel_iommu=onandiommu=ptparameters using one of the following commands:-
On Intel-based hosts, run:
sudo grubby --args="intel_iommu=on iommu=pt" --update-kernel DEFAULT -
On AMD-based hosts, run:
sudo grubby --args="iommu=pt" --update-kernel DEFAULT
-
-
Reboot the system for the changes to take effect.