aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/acpi/boot.c
diff options
context:
space:
mode:
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 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
964int __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
964static void assign_to_mp_irq(struct mpc_intsrc *m, 987static void assign_to_mp_irq(struct mpc_intsrc *m,
965 struct mpc_intsrc *mp_irq) 988 struct mpc_intsrc *mp_irq)
966{ 989{