2 * Common functions shared between the various APIC flavours
4 * SPDX-License-Identifier: GPL-2.0
11 u32
apic_default_calc_apicid(unsigned int cpu
)
13 return per_cpu(x86_cpu_to_apicid
, cpu
);
16 u32
apic_flat_calc_apicid(unsigned int cpu
)
21 u32
default_cpu_present_to_apicid(int mps_cpu
)
23 if (mps_cpu
< nr_cpu_ids
&& cpu_present(mps_cpu
))
24 return (int)per_cpu(x86_cpu_to_apicid
, mps_cpu
);
28 EXPORT_SYMBOL_GPL(default_cpu_present_to_apicid
);
31 * Set up the logical destination ID when the APIC operates in logical
34 void default_init_apic_ldr(void)
38 apic_write(APIC_DFR
, APIC_DFR_FLAT
);
39 val
= apic_read(APIC_LDR
) & ~APIC_LDR_MASK
;
40 val
|= SET_APIC_LOGICAL_ID(1UL << smp_processor_id());
41 apic_write(APIC_LDR
, val
);