summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/acpi/boot.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-10 00:41:02 +0100
committerIngo Molnar <mingo@elte.hu>2009-02-10 00:41:02 +0100
commit92e2d508464b6293ad274fb606f766a458894142 (patch)
tree39bf383364530e5cdeacb205d32d69a4b78e253d /arch/x86/kernel/acpi/boot.c
parent5d96218b4a5ee0c5ff0ac87f3ba90cfa86ca0ca1 (diff)
parentd315760ffa261c15ff92699ac6f514112543d7ca (diff)
downloadlinux-92e2d508464b6293ad274fb606f766a458894142.tar.gz
linux-92e2d508464b6293ad274fb606f766a458894142.tar.bz2
linux-92e2d508464b6293ad274fb606f766a458894142.zip
Merge branch 'x86/urgent' into core/percpu
Conflicts: arch/x86/kernel/acpi/boot.c
Diffstat (limited to 'arch/x86/kernel/acpi/boot.c')
-rw-r--r--arch/x86/kernel/acpi/boot.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 4cb5964f1499..c193ec3c695e 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -973,6 +973,29 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
nr_ioapics++;
}
+int __init acpi_probe_gsi(void)
+{
+ int idx;
+ int gsi;
+ int max_gsi = 0;
+
+ if (acpi_disabled)
+ return 0;
+
+ if (!acpi_ioapic)
+ return 0;
+
+ max_gsi = 0;
+ for (idx = 0; idx < nr_ioapics; idx++) {
+ gsi = mp_ioapic_routing[idx].gsi_end;
+
+ if (gsi > max_gsi)
+ max_gsi = gsi;
+ }
+
+ return max_gsi + 1;
+}
+
static void assign_to_mp_irq(struct mpc_intsrc *m,
struct mpc_intsrc *mp_irq)
{