“f203d5a31b9ab6813ff9a7a3b37c63945b25e646”上不存在“dev/doc/design/reader/README.html”
提交 d3b6a349 编写于 作者: A Andi Kleen 提交者: Linus Torvalds

[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: NAndi Kleen <ak@suse.de>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 ec0f08ee
...@@ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) ...@@ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size)
{ {
struct acpi_table_madt *madt = NULL; struct acpi_table_madt *madt = NULL;
if (!phys_addr || !size) if (!phys_addr || !size || !cpu_has_apic)
return -EINVAL; return -EINVAL;
madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); 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,6 +751,9 @@ static int __init acpi_parse_madt_ioapic_entries(void)
return -ENODEV; return -ENODEV;
} }
if (!cpu_has_apic)
return -ENODEV;
/* /*
* if "noapic" boot option, don't look for IO-APICs * if "noapic" boot option, don't look for IO-APICs
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册