LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Linux refuses to boot with the IOMMU feature enabled. (https://www.linuxquestions.org/questions/linux-hardware-18/linux-refuses-to-boot-with-the-iommu-feature-enabled-876356/)

g00ey 04-21-2011 10:54 AM

Linux refuses to boot with the IOMMU feature enabled.
 
This affects any version of Linux I have managed to put my hands on, 32 bit as well as 64 bit, except XenServer 5.6. This does not affect Windows 7 x64, GRUB bootloaders and FreeDOS/MSDOS based boot CDs. Also, Linux boots fine with the BIOS IOMMU feature disabled.

What happens is that the 64-bit Linux install, bootCD, installCD, liveCD or USB hangs almost immediately after GRUB with naught but a blinking cursor at the upper left corner. Some liveCDs manage to show some kind of boot splash before it hangs. USB peripherals such as the mouse and the USB stick gets severed at the moment of the hang. The num-lock led is on but the keyboard is irresponsive to *-lock toggles.

In the 32-bit version it takes a little longer before the hang and the USB peripherals stay on at the event of the hang, but the keyboard is irrespnsive in the same manner. It also spits out error messages. Here are the last 24 error messages from a failed Fedora 15 beta live USB boot:

[ 0.242337] [<c07cdf2c>] ? panic+0x5x/0x156
[ 0.242467] [<c043d898>] ? do_exit+0x66/0x61c
[ 0.242597] [<c07d57d3>] ? _raw_spin_unlock_irqrestore+0x13/0x15
[ 0.242730] [<c043beda>] ? kmsg_dump+0x3a/0xb8
[ 0.242863] [<c07d6c8b>] ? oops_end+0xa2/0xa8
[ 0.242976] [<c07cd9ec>] ? no_context+0x128/0x130
[ 0.243106] [<c07cdb0e>] ? __bad_area_nosemaphore+0x11a/0x122
[ 0.243239] [<c07cdb2d>] ? bad_area_nosemaphore+0x17/0x19
[ 0.243370] [<c07d8624>] ? do_page_fault+0x159/0x30c
[ 0.243500] [<c07d57d3>] ? _raw_spin_unlock_irqrestore+0x13/0x15
[ 0.243634] [<c0404ed7>] ? do_softirq+0x8c/0x92
[ 0.243766] [<c043fe77>] ? irq_exit+0x4c/0x70
[ 0.243896] [<c0404bff>] ? do_IRQ+0x7e/0x92
[ 0.243975] [<c07d84cb>] ? do_page_fault+0x0/0x30c
[ 0.244108] [<c07d62bf>] ? error_code+0x67/0x6c
[ 0.244241] [<c0a8db0b>] ? pci_pcibios_init+0xe5/0x234
[ 0.244373] [<c0a8e787>] ? __pci_mmcfg_init+0x1b1/0x1ea
[ 0.244506] [<c0a8d9f1>] ? pci_arch_init+0x2e/0x63
[ 0.244638] [<c0a8cb13>] ? dmi_id_init+0x266/0x28e
[ 0.244771] [<c0401194>] ? do_one_initcall+0x8c/0x140
[ 0.244975] [<c0a8d9c3>] ? pci_arch_init+0x0/0x63
[ 0.245106] [<c0a57a08>] ? kernel_init+0x1ec/0x278
[ 0.245238] [<c0a5781c>] ? kernel_init+0x0/0x278
[ 0.245369] [<c040377e>] ? kernel_thread_helper+0x6/0x10

I can get the Xen kernel to boot but not to run a dom0 Linux host. The system I run consists of the following components:
MSI 890FXA-GD70 motherboard with the latest BIOS (rev 1.9)
XFX ATI HD 5450 GPU (PCI addr: 00:02.0)
Intel Server NIC ???PT (Copper) (PCI addr: 00:0a.0)

Also disabling IOAPIC and ACPI doesn't help the situation.
Does anyone know how to solve this?

PhoenixAndThor 04-21-2011 04:25 PM

Exactly what is IOMMu? What motherboard are you using?

g00ey 04-22-2011 06:02 AM

IOMMU is a component in the chipset that maps absolute addresses of I/O devices to memory (see Wikipedia). It is an imperative for virtualization if you need to pass through devices such as the VGA/GPU, Network Adapter, HBA, etc to the virtual machines you are running.

It is commonly used in virtualized applications where the performance of I/O is crucial, and for the regular desktop user it makes it possible to run fully hardware 3D accelerated DirectX applications in a virtualized windows guest that need the GPU and don't work with emulated graphics (which is the case when you run a Windows machine in VirtualBox or KVM).

The motherboard I'm using is MSI 890FXA-GD70 and if you read my previous post again you will see that I already mentioned that.

PhoenixAndThor 04-23-2011 01:20 AM

Oops, sorry about that. I don't have the answers you need. Even though I use VirtualBox occasionally, I have never heard of the IOMMU. Anyone else have and answer?


All times are GMT -5. The time now is 11:38 AM.