aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/apic/es7000_32.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c
index 0ffc1eca5777..5c53d053ada5 100644
--- a/arch/x86/kernel/apic/es7000_32.c
+++ b/arch/x86/kernel/apic/es7000_32.c
@@ -460,6 +460,12 @@ static unsigned long es7000_check_apicid_present(int bit)
460 return physid_isset(bit, phys_cpu_present_map); 460 return physid_isset(bit, phys_cpu_present_map);
461} 461}
462 462
463static int es7000_early_logical_apicid(int cpu)
464{
465 /* on es7000, logical apicid is the same as physical */
466 return early_per_cpu(x86_bios_cpu_apicid, cpu);
467}
468
463static unsigned long calculate_ldr(int cpu) 469static unsigned long calculate_ldr(int cpu)
464{ 470{
465 unsigned long id = per_cpu(x86_bios_cpu_apicid, cpu); 471 unsigned long id = per_cpu(x86_bios_cpu_apicid, cpu);
@@ -683,7 +689,7 @@ struct apic __refdata apic_es7000_cluster = {
683 .wait_icr_idle = native_apic_wait_icr_idle, 689 .wait_icr_idle = native_apic_wait_icr_idle,
684 .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, 690 .safe_wait_icr_idle = native_safe_apic_wait_icr_idle,
685 691
686 .x86_32_early_logical_apicid = noop_x86_32_early_logical_apicid, 692 .x86_32_early_logical_apicid = es7000_early_logical_apicid,
687}; 693};
688 694
689struct apic __refdata apic_es7000 = { 695struct apic __refdata apic_es7000 = {
@@ -747,5 +753,5 @@ struct apic __refdata apic_es7000 = {
747 .wait_icr_idle = native_apic_wait_icr_idle, 753 .wait_icr_idle = native_apic_wait_icr_idle,
748 .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, 754 .safe_wait_icr_idle = native_safe_apic_wait_icr_idle,
749 755
750 .x86_32_early_logical_apicid = noop_x86_32_early_logical_apicid, 756 .x86_32_early_logical_apicid = es7000_early_logical_apicid,
751}; 757};