]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.xen/748-x86-ioapic-cleanup.patch
Reenabled linux-xen, added patches for Xen Kernel Version 2.6.27.31,
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.xen / 748-x86-ioapic-cleanup.patch
diff --git a/src/patches/suse-2.6.27.31/patches.xen/748-x86-ioapic-cleanup.patch b/src/patches/suse-2.6.27.31/patches.xen/748-x86-ioapic-cleanup.patch
new file mode 100644 (file)
index 0000000..fff10fd
--- /dev/null
@@ -0,0 +1,134 @@
+From: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/2892ca2b9c17
+# HG changeset 748 patch
+# User Keir Fraser <keir.fraser@citrix.com>
+# Date 1227879081 0
+# Node ID 2892ca2b9c17857f6922e803406711881988d850
+# Parent  39a8680e7a70a28ce639c507fb6a9bc0aa7d8f14
+Subject: linux/x86: cleanup IO-APIC code
+Patch-mainline: obsolete
+
+- get 32-bit code in sync with 64-bit wrt ExtINT pin detection being
+  unnecessary
+- eliminate build warnings resulting from c/s 725
+
+Signed-off-by: Jan Beulich <jbeulich@novell.com>
+
+Index: head-2008-12-01/arch/x86/kernel/io_apic_32-xen.c
+===================================================================
+--- head-2008-12-01.orig/arch/x86/kernel/io_apic_32-xen.c      2008-11-25 12:22:34.000000000 +0100
++++ head-2008-12-01/arch/x86/kernel/io_apic_32-xen.c   2008-12-01 11:28:17.000000000 +0100
+@@ -87,8 +87,10 @@ static inline void xen_io_apic_write(uns
+ int (*ioapic_renumber_irq)(int ioapic, int irq);
+ atomic_t irq_mis_count;
++#ifndef CONFIG_XEN
+ /* Where if anywhere is the i8259 connect in external int mode */
+ static struct { int pin, apic; } ioapic_i8259 = { -1, -1 };
++#endif
+ static DEFINE_SPINLOCK(ioapic_lock);
+ static DEFINE_SPINLOCK(vector_lock);
+@@ -793,6 +795,7 @@ static int find_irq_entry(int apic, int 
+       return -1;
+ }
++#ifndef CONFIG_XEN
+ /*
+  * Find the pin to which IRQ[irq] (ISA) is connected
+  */
+@@ -842,6 +845,7 @@ static int __init find_isa_irq_apic(int 
+       return -1;
+ }
++#endif
+ /*
+  * Find a specific PCI IRQ entry.
+@@ -1687,7 +1691,9 @@ void /*__init*/ print_PIC(void)
+ static void __init enable_IO_APIC(void)
+ {
+       union IO_APIC_reg_01 reg_01;
++#ifndef CONFIG_XEN
+       int i8259_apic, i8259_pin;
++#endif
+       int i, apic;
+       unsigned long flags;
+@@ -1708,6 +1714,7 @@ static void __init enable_IO_APIC(void)
+               spin_unlock_irqrestore(&ioapic_lock, flags);
+               nr_ioapic_registers[apic] = reg_01.bits.entries+1;
+       }
++#ifndef CONFIG_XEN
+       for(apic = 0; apic < nr_ioapics; apic++) {
+               int pin;
+               /* See if any of the pins is in ExtINT mode */
+@@ -1749,6 +1756,7 @@ static void __init enable_IO_APIC(void)
+       {
+               printk(KERN_WARNING "ExtINT in hardware and MP table differ\n");
+       }
++#endif
+       /*
+        * Do not trust the IO-APIC being empty at bootup
+@@ -2517,6 +2525,8 @@ static int __init io_apic_bug_finalize(v
+ late_initcall(io_apic_bug_finalize);
++#ifndef CONFIG_XEN
++
+ struct sysfs_ioapic_data {
+       struct sys_device dev;
+       struct IO_APIC_route_entry entry[0];
+@@ -2570,10 +2580,8 @@ static int ioapic_resume(struct sys_devi
+ static struct sysdev_class ioapic_sysdev_class = {
+       set_kset_name("ioapic"),
+-#ifndef CONFIG_XEN
+       .suspend = ioapic_suspend,
+       .resume = ioapic_resume,
+-#endif
+ };
+ static int __init ioapic_init_sysfs(void)
+@@ -2611,6 +2619,8 @@ static int __init ioapic_init_sysfs(void
+ device_initcall(ioapic_init_sysfs);
++#endif /* CONFIG_XEN */
++
+ /* --------------------------------------------------------------------------
+                           ACPI-based IOAPIC Configuration
+    -------------------------------------------------------------------------- */
+Index: head-2008-12-01/arch/x86/kernel/io_apic_64-xen.c
+===================================================================
+--- head-2008-12-01.orig/arch/x86/kernel/io_apic_64-xen.c      2008-11-25 12:22:34.000000000 +0100
++++ head-2008-12-01/arch/x86/kernel/io_apic_64-xen.c   2008-12-01 11:28:17.000000000 +0100
+@@ -2054,6 +2054,8 @@ void __init setup_IO_APIC(void)
+               print_IO_APIC();
+ }
++#ifndef CONFIG_XEN
++
+ struct sysfs_ioapic_data {
+       struct sys_device dev;
+       struct IO_APIC_route_entry entry[0];
+@@ -2107,10 +2109,8 @@ static int ioapic_resume(struct sys_devi
+ static struct sysdev_class ioapic_sysdev_class = {
+       set_kset_name("ioapic"),
+-#ifndef CONFIG_XEN
+       .suspend = ioapic_suspend,
+       .resume = ioapic_resume,
+-#endif
+ };
+ static int __init ioapic_init_sysfs(void)
+@@ -2148,6 +2148,8 @@ static int __init ioapic_init_sysfs(void
+ device_initcall(ioapic_init_sysfs);
++#endif /* CONFIG_XEN */
++
+ /* --------------------------------------------------------------------------
+                           ACPI-based IOAPIC Configuration
+    -------------------------------------------------------------------------- */