Skip to content

IOMMU Hardware Extensions in UEFI/BIOS

First, you must check whether the IOMMU extensions are enabled in the UEFI/BIOS.

  1. Run the lscpu | grep -i virtualization command 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 virtualization command does not produce any output, the virtualization is disabled on your system. Proceed to Enabling IOMMU Hardware Extensions in UEFI/BIOS for next steps.

  2. Run the dmesg | grep -i IOMMU command 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 to Passthrough as 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.

  1. Access your system UEFI/BIOS settings.

  2. Refer to the documentation for your system to navigate to the virtualization menu.

  3. In the virtualization menu, find the IOMMU setting specific to your system1 and select Enabled.

  4. 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.


  1. 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. ↩