IOMMU Hardware Extensions in UEFI/BIOS¶
First, you must check whether the IOMMU extensions are enabled in the UEFI/BIOS.
-
Run the
lscpu | grep -i virtualizationcommand to determine whether virtualization is enabled on your system.-
On an Intel-based host system, the output will look similar to this:
Virtualization: VT-x -
On an AMD-based host system, the output will look similar to this:
Virtualization: AMD-V
If the
lscpu | grep -i virtualizationcommand does not produce any output, the virtualization is disabled on your system. Proceed to Enabling IOMMU Hardware Extensions in UEFI/BIOS for next steps. -
-
Run the
dmesg | grep -i IOMMUcommand to check whether IOMMU is set to the correct operation mode.-
If the command returns
Default domain type: Passthrough, proceed to the IOMMU Support in Linux Kernel section to determine whether the IOMMU support is enabled in the Linux kernel. -
If the command returns
Default domain type: Translated, then you need to change the operation mode toPassthroughas described in the Enabling IOMMU in Linux Kernel section.
-
Enabling IOMMU Hardware Extensions in UEFI/BIOS¶
In order to enable IOMMU support in the UEFI/BIOS, you will need either iLO/iDRAC or physical access to the server.
-
Access your system UEFI/BIOS settings.
-
Refer to the documentation for your system to navigate to the virtualization menu.
-
In the virtualization menu, find the IOMMU setting specific to your system1 and select Enabled.
-
Save your settings.
The IOMMU support is now enabled in the UEFI/BIOS.
Important
On all AMD-based systems and Intel-based systems running OL, enabling the IOMMU support in the UEFI/BIOS will automatically enable it in the Linux kernel, and you can proceed with configuring a Fibre Channel PCI passthrough, as described in the section called Assigning Fibre Channel HBA to Virtual Machine.
On Intel-based systems running RHEL, you must manually enable the IOMMU support in the Linux kernel. Refer to the section called IOMMU Support in Linux Kernel for next steps.
-
Depending on your system, the name of the IOMMU setting may be one of the following:
Intel (R) VT-d,AMD (R) IOMMU,AMD I/O Virtualization Technology, etc. If you have trouble finding the appropriate setting, refer to the documentation specific to your system. ↩