Mailing List Archive

[linux-2.6.18-xen] linux/x86: cleanup IO-APIC code
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1227879081 0
# Node ID 2892ca2b9c17857f6922e803406711881988d850
# Parent 39a8680e7a70a28ce639c507fb6a9bc0aa7d8f14
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

Signed-off-by: Jan Beulich <jbeulich@novell.com>
---
arch/i386/kernel/io_apic-xen.c | 14 ++++++++++++--
arch/x86_64/kernel/io_apic-xen.c | 6 ++++--
2 files changed, 16 insertions(+), 4 deletions(-)

diff -r 39a8680e7a70 -r 2892ca2b9c17 arch/i386/kernel/io_apic-xen.c
--- a/arch/i386/kernel/io_apic-xen.c Fri Nov 28 13:30:58 2008 +0000
+++ b/arch/i386/kernel/io_apic-xen.c Fri Nov 28 13:31:21 2008 +0000
@@ -87,8 +87,10 @@ int (*ioapic_renumber_irq)(int ioapic, i
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 @@ static void __init enable_IO_APIC(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
-------------------------------------------------------------------------- */
diff -r 39a8680e7a70 -r 2892ca2b9c17 arch/x86_64/kernel/io_apic-xen.c
--- a/arch/x86_64/kernel/io_apic-xen.c Fri Nov 28 13:30:58 2008 +0000
+++ b/arch/x86_64/kernel/io_apic-xen.c Fri Nov 28 13:31:21 2008 +0000
@@ -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-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog