From c3173338df6eecc9dc6bf780cbfe7ab57e5d46b7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 7 Jan 2014 15:02:05 -0200 Subject: xen-4.3.1-2: updating version --- kernels/xen/bios_workaround.patch | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 kernels/xen/bios_workaround.patch (limited to 'kernels/xen/bios_workaround.patch') diff --git a/kernels/xen/bios_workaround.patch b/kernels/xen/bios_workaround.patch new file mode 100644 index 000000000..12fc00184 --- /dev/null +++ b/kernels/xen/bios_workaround.patch @@ -0,0 +1,51 @@ +--- xen-4.3.1.orig/xen/drivers/passthrough/amd/iommu_acpi.c 2013-07-09 05:46:56.000000000 -0500 ++++ xen-4.3.1/xen/drivers/passthrough/amd/iommu_acpi.c 2013-07-18 02:31:38.767195258 -0500 +@@ -668,26 +668,26 @@ + */ + for ( apic = 0; apic < nr_ioapics; apic++ ) + { +- if ( IO_APIC_ID(apic) != special->handle ) ++ if ( ioapic_sbdf[IO_APIC_ID(apic)].bdf != ioapic_sbdf[special->handle].bdf ) + continue; + +- if ( special->handle >= ARRAY_SIZE(ioapic_sbdf) ) ++ if ( IO_APIC_ID(apic) >= ARRAY_SIZE(ioapic_sbdf) ) + { + printk(XENLOG_ERR "IVHD Error: IO-APIC %#x entry beyond bounds\n", +- special->handle); ++ IO_APIC_ID(apic)); + return 0; + } + +- if ( ioapic_sbdf[special->handle].pin_setup ) ++ if ( ioapic_sbdf[IO_APIC_ID(apic)].pin_setup ) + { +- if ( ioapic_sbdf[special->handle].bdf == bdf && +- ioapic_sbdf[special->handle].seg == seg ) ++ if ( ioapic_sbdf[IO_APIC_ID(apic)].bdf == bdf && ++ ioapic_sbdf[IO_APIC_ID(apic)].seg == seg ) + AMD_IOMMU_DEBUG("IVHD Warning: Duplicate IO-APIC %#x entries\n", +- special->handle); ++ IO_APIC_ID(apic)); + else + { + printk(XENLOG_ERR "IVHD Error: Conflicting IO-APIC %#x entries\n", +- special->handle); ++ IO_APIC_ID(apic)); + if ( amd_iommu_perdev_intremap ) + return 0; + } +@@ -695,10 +695,10 @@ + else + { + /* set device id of ioapic */ +- ioapic_sbdf[special->handle].bdf = bdf; +- ioapic_sbdf[special->handle].seg = seg; ++ ioapic_sbdf[IO_APIC_ID(apic)].bdf = bdf; ++ ioapic_sbdf[IO_APIC_ID(apic)].seg = seg; + +- ioapic_sbdf[special->handle].pin_setup = xzalloc_array( ++ ioapic_sbdf[IO_APIC_ID(apic)].pin_setup = xzalloc_array( + unsigned long, BITS_TO_LONGS(nr_ioapic_entries[apic])); + if ( nr_ioapic_entries[apic] && + !ioapic_sbdf[IO_APIC_ID(apic)].pin_setup ) -- cgit v1.2.3-54-g00ecf