David Ford <david+challenge-response@xxxxxxxxxxxxx> writes:begin:vcard
Culprit found. If CONFIG_IOMMU_DEBUG is enabled, the machine will
hang on boot at the partition check when using the VIA driver.
The real culprit is buggy VIA silicon. Use this patch.
-Andi
---------------------------------------------------------------
Enable VIA softmmu workaround for iommu=force/IOMMU_DEBUG too
diff -u linux-2.6.7rc3-bk3/arch/x86_64/kernel/io_apic.c-o linux-2.6.7rc3-bk3/arch/x86_64/kernel/io_apic.c
--- linux-2.6.7rc3-bk3/arch/x86_64/kernel/io_apic.c-o 2004-06-11 03:02:42.000000000 +0200
+++ linux-2.6.7rc3-bk3/arch/x86_64/kernel/io_apic.c 2004-06-12 15:46:35.000000000 +0200
@@ -252,7 +252,8 @@
switch (vendor) { case PCI_VENDOR_ID_VIA:
#ifdef CONFIG_GART_IOMMU
- if (end_pfn >= (0xffffffff>>PAGE_SHIFT) &&
+ if ((end_pfn >= (0xffffffff>>PAGE_SHIFT) ||
+ force_iommu) &&
!iommu_aperture_allowed) {
printk(KERN_INFO
"Looks like a VIA chipset. Disabling IOMMU. Overwrite with \"iommu=allowed\"\n");