[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] linux/x86: cleanup IO-APIC code



- get 32-bit code in sync with 64-bit wrt ExtINT pin detection being
  unnecessary
- eliminate build warnings resulting from c/s 725

As usual, written and tested on 2.6.27.7 and made apply to the 2.6.18
tree without further testing.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: head-2008-11-25/arch/i386/kernel/io_apic-xen.c
===================================================================
--- head-2008-11-25.orig/arch/i386/kernel/io_apic-xen.c 2008-11-25 
14:34:12.000000000 +0100
+++ head-2008-11-25/arch/i386/kernel/io_apic-xen.c      2008-11-25 
14:35:31.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-11-25/arch/x86_64/kernel/io_apic-xen.c
===================================================================
--- head-2008-11-25.orig/arch/x86_64/kernel/io_apic-xen.c       2008-11-25 
14:34:12.000000000 +0100
+++ head-2008-11-25/arch/x86_64/kernel/io_apic-xen.c    2008-11-25 
12:48:23.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
    -------------------------------------------------------------------------- 
*/




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.