mirror of https://gitee.com/openkylin/linux.git
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
|
@ -1587,13 +1587,6 @@ void __init init_apic_mappings(void)
|
||||||
} else
|
} else
|
||||||
apic_phys = mp_lapic_addr;
|
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 lapic path already maps that address in
|
||||||
* acpi_register_lapic_address()
|
* acpi_register_lapic_address()
|
||||||
|
@ -1602,7 +1595,15 @@ void __init init_apic_mappings(void)
|
||||||
set_fixmap_nocache(FIX_APIC_BASE, apic_phys);
|
set_fixmap_nocache(FIX_APIC_BASE, apic_phys);
|
||||||
|
|
||||||
apic_printk(APIC_VERBOSE, "mapped APIC to %08lx (%08lx)\n",
|
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
|
* Fetch the APIC ID of the BSP in case we have a
|
||||||
* default configuration (or the MP table is broken).
|
* default configuration (or the MP table is broken).
|
||||||
|
|
Loading…
Reference in New Issue