diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-03-03 00:08:56 +0300 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-03-03 00:08:56 +0300 |
| commit | c02368a9d059322f913a58111eade87a656fefd5 (patch) | |
| tree | 2f02dbbe69b86535f58d2010d9adfb20a9c16fb9 /arch/x86/kernel/acpi/boot.c | |
| parent | f17c75453b2d195eba0a90d9f16a3ba88c85b3b4 (diff) | |
| parent | 778ef1e6cbb049c9bcbf405936ee6f2b6e451892 (diff) | |
| download | linux-c02368a9d059322f913a58111eade87a656fefd5.tar.xz | |
Merge branch 'linus' into irq/genirq
Diffstat (limited to 'arch/x86/kernel/acpi/boot.c')
| -rw-r--r-- | arch/x86/kernel/acpi/boot.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index d37593c2f438..7678f10c4568 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 mp_config_intsrc *m, struct mp_config_intsrc *mp_irq) { |
