Commit | Line | Data |
---|---|---|
64063505 TG |
1 | /* |
2 | * Common functions shared between the various APIC flavours | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0 | |
5 | */ | |
6 | #include <linux/irq.h> | |
7 | #include <asm/apic.h> | |
8 | ||
9f9e3bb1 TG |
9 | u32 apic_default_calc_apicid(unsigned int cpu) |
10 | { | |
11 | return per_cpu(x86_cpu_to_apicid, cpu); | |
12 | } | |
13 | ||
9f9e3bb1 TG |
14 | u32 apic_flat_calc_apicid(unsigned int cpu) |
15 | { | |
16 | return 1U << cpu; | |
17 | } | |
18 | ||
83a10522 TG |
19 | bool default_check_apicid_used(physid_mask_t *map, int apicid) |
20 | { | |
21 | return physid_isset(apicid, *map); | |
22 | } | |
23 | ||
83a10522 TG |
24 | void default_ioapic_phys_id_map(physid_mask_t *phys_map, physid_mask_t *retmap) |
25 | { | |
26 | *retmap = *phys_map; | |
27 | } | |
28 | ||
64063505 TG |
29 | int default_cpu_present_to_apicid(int mps_cpu) |
30 | { | |
31 | if (mps_cpu < nr_cpu_ids && cpu_present(mps_cpu)) | |
32 | return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu); | |
33 | else | |
34 | return BAD_APICID; | |
35 | } | |
83a10522 | 36 | EXPORT_SYMBOL_GPL(default_cpu_present_to_apicid); |
64063505 TG |
37 | |
38 | int default_check_phys_apicid_present(int phys_apicid) | |
39 | { | |
40 | return physid_isset(phys_apicid, phys_cpu_present_map); | |
41 | } | |
83a10522 | 42 | |
a774635d | 43 | int default_apic_id_valid(u32 apicid) |
83a10522 TG |
44 | { |
45 | return (apicid < 255); | |
46 | } |