|
@@ -45,6 +45,12 @@ static unsigned long bigsmp_check_apicid_present(int bit)
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static int bigsmp_early_logical_apicid(int cpu)
|
|
|
|
+{
|
|
|
|
+ /* on bigsmp, logical apicid is the same as physical */
|
|
|
|
+ return early_per_cpu(x86_cpu_to_apicid, cpu);
|
|
|
|
+}
|
|
|
|
+
|
|
static inline unsigned long calculate_ldr(int cpu)
|
|
static inline unsigned long calculate_ldr(int cpu)
|
|
{
|
|
{
|
|
unsigned long val, id;
|
|
unsigned long val, id;
|
|
@@ -252,5 +258,5 @@ struct apic apic_bigsmp = {
|
|
.wait_icr_idle = native_apic_wait_icr_idle,
|
|
.wait_icr_idle = native_apic_wait_icr_idle,
|
|
.safe_wait_icr_idle = native_safe_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 = bigsmp_early_logical_apicid,
|
|
};
|
|
};
|