I've got new laptop at work (Lenovo A485) and there are few issues with it. It prints AMD-Vi: IOAPIC[32] not in IVRS table and kernel panic after that. So far I've figured few ways to get the system up and running.

  • noapic - terrible performance and high temperature, so not really a good way to do it
  • amd_iommu=off - not ideal either
  • ivrs_ioapic[32]=00:14.0 ivrs_ioapic[33]=00:00.2 - this seems to work fine
  • iommu=soft

My questions are about iommu=soft. I'm not sure what exactly it does. What are the implications of this mode? What is preferable, overriding the IVRS table or iommu=soft?

1 Answer 1


iommu=soft tells the kernel to use a software implementation to remap memory for applications that can't read above the 4GB limit.

The kernel documentation for these options is here: https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt

What's preferable is a solution that satisfies your expectations for performance, system temperature, battery life, etc, etc. If iommu=soft give you satisfactory performance, temperature, and battery life, then I would say go with that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .