|
@@ -460,6 +460,12 @@ static unsigned long es7000_check_apicid_present(int bit)
|
|
|
return physid_isset(bit, phys_cpu_present_map);
|
|
|
}
|
|
|
|
|
|
+static int es7000_early_logical_apicid(int cpu)
|
|
|
+{
|
|
|
+ /* on es7000, logical apicid is the same as physical */
|
|
|
+ return early_per_cpu(x86_bios_cpu_apicid, cpu);
|
|
|
+}
|
|
|
+
|
|
|
static unsigned long calculate_ldr(int cpu)
|
|
|
{
|
|
|
unsigned long id = per_cpu(x86_bios_cpu_apicid, cpu);
|
|
@@ -683,7 +689,7 @@ struct apic __refdata apic_es7000_cluster = {
|
|
|
.wait_icr_idle = native_apic_wait_icr_idle,
|
|
|
.safe_wait_icr_idle = native_safe_apic_wait_icr_idle,
|
|
|
|
|
|
- .x86_32_early_logical_apicid = noop_x86_32_early_logical_apicid,
|
|
|
+ .x86_32_early_logical_apicid = es7000_early_logical_apicid,
|
|
|
};
|
|
|
|
|
|
struct apic __refdata apic_es7000 = {
|
|
@@ -747,5 +753,5 @@ struct apic __refdata apic_es7000 = {
|
|
|
.wait_icr_idle = native_apic_wait_icr_idle,
|
|
|
.safe_wait_icr_idle = native_safe_apic_wait_icr_idle,
|
|
|
|
|
|
- .x86_32_early_logical_apicid = noop_x86_32_early_logical_apicid,
|
|
|
+ .x86_32_early_logical_apicid = es7000_early_logical_apicid,
|
|
|
};
|