diff options
| -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 8dab3527bc97..030a0007a4e0 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
| @@ -168,7 +168,7 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size) | |||
| 168 | unsigned long i; | 168 | unsigned long i; |
| 169 | int config_size; | 169 | int config_size; |
| 170 | 170 | ||
| 171 | if (!phys_addr || !size) | 171 | if (!phys_addr || !size || !cpu_has_apic) |
| 172 | return -EINVAL; | 172 | return -EINVAL; |
| 173 | 173 | ||
| 174 | mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size); | 174 | mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size); |
| @@ -693,6 +693,9 @@ static int __init acpi_parse_madt_lapic_entries(void) | |||
| 693 | { | 693 | { |
| 694 | int count; | 694 | int count; |
| 695 | 695 | ||
| 696 | if (!cpu_has_apic) | ||
| 697 | return -ENODEV; | ||
| 698 | |||
| 696 | /* | 699 | /* |
| 697 | * Note that the LAPIC address is obtained from the MADT (32-bit value) | 700 | * Note that the LAPIC address is obtained from the MADT (32-bit value) |
| 698 | * and (optionally) overriden by a LAPIC_ADDR_OVR entry (64-bit value). | 701 | * and (optionally) overriden by a LAPIC_ADDR_OVR entry (64-bit value). |
