diff options
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 3efa996b036c..c334fe75dcd6 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -961,6 +961,29 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base) | |||
961 | nr_ioapics++; | 961 | nr_ioapics++; |
962 | } | 962 | } |
963 | 963 | ||
964 | int __init acpi_probe_gsi(void) | ||
965 | { | ||
966 | int idx; | ||
967 | int gsi; | ||
968 | int max_gsi = 0; | ||
969 | |||
970 | if (acpi_disabled) | ||
971 | return 0; | ||
972 | |||
973 | if (!acpi_ioapic) | ||
974 | return 0; | ||
975 | |||
976 | max_gsi = 0; | ||
977 | for (idx = 0; idx < nr_ioapics; idx++) { | ||
978 | gsi = mp_ioapic_routing[idx].gsi_end; | ||
979 | |||
980 | if (gsi > max_gsi) | ||
981 | max_gsi = gsi; | ||
982 | } | ||
983 | |||
984 | return max_gsi + 1; | ||
985 | } | ||
986 | |||
964 | static void assign_to_mp_irq(struct mpc_intsrc *m, | 987 | static void assign_to_mp_irq(struct mpc_intsrc *m, |
965 | struct mpc_intsrc *mp_irq) | 988 | struct mpc_intsrc *mp_irq) |
966 | { | 989 | { |