[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Xen can parse the ACPI tables to get IOAPIC information -- we can rely
ChangeSet 1.1447, 2005/05/06 10:51:46+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx Xen can parse the ACPI tables to get IOAPIC information -- we can rely on domain0 to fill in information we miss because Xen lacks an ACPI interpreter. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> acpi.c | 12 ++++++++++-- mpparse.c | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff -Nru a/xen/arch/x86/acpi.c b/xen/arch/x86/acpi.c --- a/xen/arch/x86/acpi.c 2005-05-06 06:06:21 -04:00 +++ b/xen/arch/x86/acpi.c 2005-05-06 06:06:21 -04:00 @@ -189,7 +189,7 @@ #endif /*CONFIG_X86_LOCAL_APIC*/ -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER) +#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/ static int __init acpi_parse_ioapic ( @@ -211,6 +211,7 @@ return 0; } +#ifdef CONFIG_ACPI_INTERPRETER /* * Parse Interrupt Source Override for the ACPI SCI */ @@ -244,6 +245,7 @@ acpi_sci_override_gsi = gsi; return; } +#endif static int __init acpi_parse_fadt(unsigned long phys, unsigned long size) @@ -277,11 +279,13 @@ acpi_table_print_madt_entry(header); +#ifdef CONFIG_ACPI_INTERPRETER if (intsrc->bus_irq == acpi_fadt.sci_int) { acpi_sci_ioapic_setup(intsrc->global_irq, intsrc->flags.polarity, intsrc->flags.trigger); return 0; } +#endif mp_override_legacy_irq ( intsrc->bus_irq, @@ -460,13 +464,14 @@ #endif /*CONFIG_X86_LOCAL_APIC*/ -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER) +#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/ /* * I/O APIC * -------- */ +#if 0 /* * ACPI interpreter is required to complete interrupt setup, * so if it is off, don't enumerate the io-apics with ACPI. @@ -476,6 +481,7 @@ if (acpi_disabled || acpi_noirq) { return 1; } +#endif /* * if "noapic" boot option, don't look for IO-APICs @@ -510,12 +516,14 @@ return result; } +#ifdef CONFIG_ACPI_INTERPRETER /* * If BIOS did not supply an INT_SRC_OVR for the SCI * pretend we got one so we can set the SCI flags. */ if (!acpi_sci_override_gsi) acpi_sci_ioapic_setup(acpi_fadt.sci_int, 0, 0); +#endif result = acpi_table_parse_madt(ACPI_MADT_NMI_SRC, acpi_parse_nmi_src); if (result < 0) { diff -Nru a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c --- a/xen/arch/x86/mpparse.c 2005-05-06 06:06:21 -04:00 +++ b/xen/arch/x86/mpparse.c 2005-05-06 06:06:21 -04:00 @@ -1017,7 +1017,7 @@ MP_processor_info(&processor); } -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER) +#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/ #define MP_ISA_BUS 0 #define MP_MAX_IOAPIC_PIN 127 @@ -1085,7 +1085,7 @@ mp_ioapic_routing[idx].irq_end = irq_base + io_apic_get_redir_entries(idx); - printk("IOAPIC[%d]: apic_id %d, version %d, address 0x%lx, " + printk("IOAPIC[%d]: apic_id %d, version %d, address 0x%x, " "IRQ %d-%d\n", idx, mp_ioapics[idx].mpc_apicid, mp_ioapics[idx].mpc_apicver, mp_ioapics[idx].mpc_apicaddr, mp_ioapic_routing[idx].irq_start, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |