File 20241-x86-noapic-handling.patch of Package xen
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1253604506 -3600
# Node ID be747c582738035889d5f3f9d40051818e1af50e
# Parent 8de13ae0a4ee227623df87f69a5f53ea094372d8
x86: allow IRQs to work without APIC again
References: bnc#537370
Non-IO-APIC IRQs must get 1:1 mapped between domain PIRQ and Xen IRQ.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -408,6 +408,13 @@ int arch_domain_create(struct domain *d,
share_xen_page_with_guest(
virt_to_page(d->shared_info), d, XENSHARE_writable);
+ for ( i = 1; platform_legacy_irq(i); ++i )
+ if ( !IO_APIC_IRQ(i) )
+ {
+ d->arch.vector_pirq[LEGACY_VECTOR(i)] = i;
+ d->arch.pirq_vector[i] = LEGACY_VECTOR(i);
+ }
+
if ( (rc = iommu_domain_init(d)) != 0 )
goto fail;
}