From: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/2892ca2b9c17 # HG changeset 748 patch # User Keir Fraser # 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 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 -------------------------------------------------------------------------- */