I have a fresh Ubuntu install from USB. When I boot the PC it takes me straight to GNU Grub, when I select Ubuntu I get the following messages.

[Firmware Bug]: AMD-Vi: IOAPIC[0] not in IVRS table
[Firmware Bug]: AMD-Vi: No southbridge IOAPIC found in IVRS table
AMD-Vi: Disabling interrupt remapping

I can get to the Ubuntu desktop via "Advanced options for Ubuntu" > "Ubuntu, with Linux 4.2.0-30-generic (recovery mode)" > "resume" but the CPU runs at nearly 100% and is not sustinable.

PC Specs:

  • AMD A6-6400K

  • MSI A68HI ​Mini ITX F​M2+ Mother​board

  • Updating the firmware didn't work for me. Anyone have any other solutions? May 5, 2017 at 17:57
  • 1
    @outisnihil You can use ivrs_ioapic kernel option to fix IVRS table. See my answer for details. Oct 1, 2017 at 3:19

2 Answers 2


The reason the CPU is all the time 100% used I think it is different than the message you are seeing.

About the error message

Now about AMD-Vi: IOAPIC[0] not in IVRS table and AMD-Vi: No southbridge IOAPIC found in IVRS tableerrors. Those messages mean that your CMOS/BIOS setup is configured to enable IOMMU, but BIOS lacks IVRS table that is describing which is the address of IOMMU and SMBus Controller. IVRS = I/O Virtualization Reporting Structure. See also: http://support.amd.com/TechDocs/48882_IOMMU.pdf

What is IOMMU?

IOMMU is a hardware unit that today is part of CPU. It allows to map device-visible virtual addresses to physical addresses.


  1. IOMMU allows to have better security and protect your computer from some attacks from someone having access to some busses like PCIe and firewire.
  2. you can expose a physical PCIe device to a VM (PCI passthrough).
  3. it is required for SR-IOV (VNF)

Fixing "AMD-Vi: IOAPIC[0] not in IVRS table"

  1. Update motherboard firmware

The proper fix should come from hardware manufacturer of the motherboard. So if you have a BIOS/firmware update for your motherboard, install it as this might fix the problem. Unfortunately for my motherboard (Asus Crosshair V Formula) the IVRS is broken even in the latest BIOS/firmware update (version 1703, Release Date: 10/17/2012).

  1. Linux workarround

If the manufacturer of the MB is not offering a fix, you can fix this in Linux by specifying in the kernel startup parameters where those devices are located using ivrs_ioapic option.

Here are the steps to do it. For more details see: https://ubuntuforums.org/showthread.php?t=2254677

Boot your kernel by adding amd_iommu_dump=1 to the kernel options. You can do this via grub menu during boot.

In the kernel log, you will see some lines like:

$ dmesg |grep 'DEV_SPECIAL(IOAPIC\|not in IVRS table'
[    0.133756] AMD-Vi:   DEV_SPECIAL(IOAPIC[0])     devid: 00:14.0
[    0.133995] AMD-Vi:   DEV_SPECIAL(IOAPIC[255])       devid: 00:00.1
[    0.134116] [Firmware Bug]: AMD-Vi: IOAPIC[5] not in IVRS table
[    0.134235] [Firmware Bug]: AMD-Vi: IOAPIC[6] not in IVRS table

Write down the indexes from IOAPIC. In this case those are 5 and 6. Note the devid, where 00:14.0 is ok and 00:00.1 is incorrect.

Search for the bus address for those devices and write down the addresses (00:00.2 and 00:14.0)

$ lspci -nn | egrep "SMBus | IOMMU"
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD/ATI] RD890S/RD990 I/O Memory Management Unit (IOMMU) [1002:5a23]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller [1002:4385] (rev 42)

Now add as kernel parameters: ivrs_ioapic[5]=00:14.0 ivrs_ioapic[6]=00:00.2 where index 5 and 6 were found in dmesg output and the values are from lspci output. You can make this permanent by editing /etc/default/grub file, then running grub2-mkconfig -o /boot/grub2/grub.cfg.

  1. Disable IOMMU in UEFI/BIOS configuration

Disabling IOMMU has a small performance benefit. But it is undesirable to disable it for security and stability of the system. IOMMU is required for certain virtualization setups (PCI pass-through, SR-IOV) and disabling it is not an option.

  • The option 2 seems to fix that specific issue (i.e. no more error messages). However, X can't start anymore :) I'm on a Lenovo Ideapad 320 AMD A12 and Radeon R7
    – mrfree
    Nov 8, 2020 at 13:31
  • What is the error reported by Wayland or X11? Maybe you could post a new question with it. Nov 14, 2020 at 0:36
  • Surprisingly enough no real errors from Xorg. However, the screen stays black (I can see the "_" in top-left corner) and I see those kind of errors coming from the kernel kernel: rcu: INFO: rcu_sched self-detected stall on CPU
    – mrfree
    Nov 14, 2020 at 9:10
  • Following your suggestion, I've posted a new question with more details superuser.com/questions/1602030/…
    – mrfree
    Nov 14, 2020 at 9:36

I updated the firmware of my motherboard and this has appeared to have fixed it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.