x86: apic: Fixmap apic address even if apic disabled
In case if apic were disabled by boot option we still need read_apic operation. So fixmap a fake apic area if needed. [ Impact: fix boot crash ] Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Cc: yinghai@kernel.org Cc: eswierk@aristanetworks.com LKML-Reference: <20090511134140.GH4624@lenovo> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
97a5271465
commit
cec6be6d10
1 changed files with 9 additions and 8 deletions
|
@ -1587,13 +1587,6 @@ void __init init_apic_mappings(void)
|
|||
} else
|
||||
apic_phys = mp_lapic_addr;
|
||||
|
||||
/* lets check if we may NOP'ify apic operations */
|
||||
if (!cpu_has_apic) {
|
||||
pr_info("APIC: disable apic facility\n");
|
||||
apic_disable();
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* acpi lapic path already maps that address in
|
||||
* acpi_register_lapic_address()
|
||||
|
@ -1602,7 +1595,15 @@ void __init init_apic_mappings(void)
|
|||
set_fixmap_nocache(FIX_APIC_BASE, apic_phys);
|
||||
|
||||
apic_printk(APIC_VERBOSE, "mapped APIC to %08lx (%08lx)\n",
|
||||
APIC_BASE, apic_phys);
|
||||
APIC_BASE, apic_phys);
|
||||
|
||||
/* lets check if we may NOP'ify apic operations */
|
||||
if (!cpu_has_apic) {
|
||||
pr_info("APIC: disable apic facility\n");
|
||||
apic_disable();
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fetch the APIC ID of the BSP in case we have a
|
||||
* default configuration (or the MP table is broken).
|
||||
|
|
Loading…
Reference in a new issue