[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Xen IOMMU disabled due to IVRS table... Blah blah blah
I own a crosshair v formula with this issue, the problem seems to be the reported io-apics handles are wrong so here it is, this hack is for 4.1.5 though it can be adapted for 4.2.2 --- a/xen/drivers/passthrough/amd/iommu_acpi.c 2013-04-23 16:44:20.000000000 +0000 +++ b/xen/drivers/passthrough/amd/iommu_acpi.c 2013-05-18 22:19:18.838434000 +0000 @@ -674,18 +674,18 @@ static u16 __init parse_ivhd_device_spec */ for ( apic = 0; apic < nr_ioapics; apic++ ) { - if ( IO_APIC_ID(apic) != ivhd_device->special.handle ) + if ( ioapic_bdf[IO_APIC_ID(apic)].bdf != ioapic_bdf[ivhd_device->special.handle].bdf ) continue; - if ( ioapic_bdf[ivhd_device->special.handle].pin_setup ) + if ( ioapic_bdf[IO_APIC_ID(apic)].pin_setup ) { - if ( ioapic_bdf[ivhd_device->special.handle].bdf == bdf ) + if ( ioapic_bdf[IO_APIC_ID(apic)].bdf == bdf ) AMD_IOMMU_DEBUG("IVHD Warning: Duplicate IO-APIC %#x entries\n", - ivhd_device->special.handle); + IO_APIC_ID(apic)); else { printk(XENLOG_ERR "IVHD Error: Conflicting IO-APIC %#x entries\n", - ivhd_device->special.handle); + IO_APIC_ID(apic)); if ( amd_iommu_perdev_intremap ) return 0; } @@ -693,9 +693,9 @@ static u16 __init parse_ivhd_device_spec else { /* set device id of ioapic */ - ioapic_bdf[ivhd_device->special.handle].bdf = bdf; + ioapic_bdf[IO_APIC_ID(apic)].bdf = bdf; - ioapic_bdf[ivhd_device->special.handle].pin_setup = xzalloc_array( + ioapic_bdf[IO_APIC_ID(apic)].pin_setup = xzalloc_array( unsigned long, BITS_TO_LONGS(nr_ioapic_registers[apic])); if ( nr_ioapic_registers[apic] && !ioapic_bdf[IO_APIC_ID(apic)].pin_setup ) -- View this message in context: http://xen.1045712.n5.nabble.com/Xen-IOMMU-disabled-due-to-IVRS-table-Blah-blah-blah-tp5716461p5716579.html Sent from the Xen - User mailing list archive at Nabble.com. _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |