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.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 91bb9a99338d..92a542653956 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -83,6 +83,8 @@ int acpi_lapic;
83int acpi_ioapic; 83int acpi_ioapic;
84int acpi_strict; 84int acpi_strict;
85 85
86static int disable_irq0_through_ioapic __initdata;
87
86u8 acpi_sci_flags __initdata; 88u8 acpi_sci_flags __initdata;
87int acpi_sci_override_gsi __initdata; 89int acpi_sci_override_gsi __initdata;
88int acpi_skip_timer_override __initdata; 90int acpi_skip_timer_override __initdata;
@@ -992,6 +994,10 @@ void __init mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, u32 gsi)
992 int pin; 994 int pin;
993 struct mp_config_intsrc mp_irq; 995 struct mp_config_intsrc mp_irq;
994 996
997 /* Skip the 8254 timer interrupt (IRQ 0) if requested. */
998 if (bus_irq == 0 && disable_irq0_through_ioapic)
999 return;
1000
995 /* 1001 /*
996 * Convert 'gsi' to 'ioapic.pin'. 1002 * Convert 'gsi' to 'ioapic.pin'.
997 */ 1003 */
@@ -1058,6 +1064,10 @@ void __init mp_config_acpi_legacy_irqs(void)
1058 for (i = 0; i < 16; i++) { 1064 for (i = 0; i < 16; i++) {
1059 int idx; 1065 int idx;
1060 1066
1067 /* Skip the 8254 timer interrupt (IRQ 0) if requested. */
1068 if (i == 0 && disable_irq0_through_ioapic)
1069 continue;
1070
1061 for (idx = 0; idx < mp_irq_entries; idx++) { 1071 for (idx = 0; idx < mp_irq_entries; idx++) {
1062 struct mp_config_intsrc *irq = mp_irqs + idx; 1072 struct mp_config_intsrc *irq = mp_irqs + idx;
1063 1073