bitkeeper revision 1.1389.15.8 (4281bcbaUAXd-mXY9bU_xjLtHjFVJg)

Xen parses IOAPIC entries in the ACPI MADT.
Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-05-11 08:05:14 +00:00
1 parent 080cccdae9
commit 8efee44486
1 file changed
+12 -8
+12 -8
View File
@@ -37,7 +37,9 @@
#include <asm/irq.h>
#include <asm/mpspec.h>
int sbf_port; /* XXX XEN */
int sbf_port;
#define end_pfn_map max_page
#define CONFIG_ACPI_PCI
#ifdef CONFIG_X86_64
@@ -109,7 +111,7 @@ char *__acpi_map_table(unsigned long phys_addr, unsigned long size)
if (!phys_addr || !size)
return NULL;
if (phys_addr < (max_page << PAGE_SHIFT))
if (phys_addr < (end_pfn_map << PAGE_SHIFT))
return __va(phys_addr);
return NULL;
@@ -279,7 +281,7 @@ acpi_parse_lapic_nmi (
#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 (
@@ -302,6 +304,7 @@ acpi_parse_ioapic (
return 0;
}
#ifdef CONFIG_ACPI_INTERPRETER
/*
* Parse Interrupt Source Override for the ACPI SCI
*/
@@ -335,6 +338,7 @@ acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
acpi_sci_override_gsi = gsi;
return;
}
#endif
static int __init
acpi_parse_int_src_ovr (
@@ -349,11 +353,13 @@ acpi_parse_int_src_ovr (
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
if (acpi_skip_timer_override &&
intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
@@ -698,7 +704,7 @@ acpi_parse_madt_lapic_entries(void)
}
#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)*/
/*
* Parse IOAPIC related entries in MADT
* returns 0 on success, < 0 on error
@@ -744,12 +750,14 @@ acpi_parse_madt_ioapic_entries(void)
return count;
}
#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
/* Fill in identity legacy mapings where no override */
mp_config_acpi_legacy_irqs();
@@ -856,10 +864,6 @@ acpi_boot_table_init(void)
return error;
}
#if 0 /*def __i386__*/
check_acpi_pci();
#endif
acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.