diff options
author | Andi Kleen <ak@suse.de> | 2006-04-07 13:49:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-09 14:53:51 -0400 |
commit | d3b6a349d233aecf2c52f7f4c150ca09f684f2d8 (patch) | |
tree | 3ab86b3ffc1dbe2eaa69c5bb041644975df60da7 | |
parent | ec0f08eeea6ac1d8c925f47e3677e4c985fd8f63 (diff) |
[PATCH] x86-64/i386: Don't process APICs/IO-APICs in ACPI when APIC is disabled.
When nolapic was passed or the local APIC was disabled
for another reason ACPI would still parse the IO-APICs
until these were explicitely disabled with noapic.
Usually this resulted in a non booting configuration unless
"nolapic noapic" was used.
I also disabled the local APIC parsing in this case, although
that's only cosmetic (suppresses a few printks)
This hopefully makes nolapic work in all cases.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/i386/kernel/acpi/boot.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 033066176b3e..8dab3527bc97 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
@@ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | |||
215 | { | 215 | { |
216 | struct acpi_table_madt *madt = NULL; | 216 | struct acpi_table_madt *madt = NULL; |
217 | 217 | ||
218 | if (!phys_addr || !size) | 218 | if (!phys_addr || !size || !cpu_has_apic) |
219 | return -EINVAL; | 219 | return -EINVAL; |
220 | 220 | ||
221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | 221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); |
@@ -751,6 +751,9 @@ static int __init acpi_parse_madt_ioapic_entries(void) | |||
751 | return -ENODEV; | 751 | return -ENODEV; |
752 | } | 752 | } |
753 | 753 | ||
754 | if (!cpu_has_apic) | ||
755 | return -ENODEV; | ||
756 | |||
754 | /* | 757 | /* |
755 | * if "noapic" boot option, don't look for IO-APICs | 758 | * if "noapic" boot option, don't look for IO-APICs |
756 | */ | 759 | */ |