Branch data Line data Source code
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 : : 9 : 0 : u32 apic_default_calc_apicid(unsigned int cpu) 10 : : { 11 : 0 : return per_cpu(x86_cpu_to_apicid, cpu); 12 : : } 13 : : 14 : 774 : u32 apic_flat_calc_apicid(unsigned int cpu) 15 : : { 16 : 774 : return 1U << cpu; 17 : : } 18 : : 19 : 0 : bool default_check_apicid_used(physid_mask_t *map, int apicid) 20 : : { 21 : 0 : return physid_isset(apicid, *map); 22 : : } 23 : : 24 : 0 : void default_ioapic_phys_id_map(physid_mask_t *phys_map, physid_mask_t *retmap) 25 : : { 26 : 0 : *retmap = *phys_map; 27 : 0 : } 28 : : 29 : 0 : int default_cpu_present_to_apicid(int mps_cpu) 30 : : { 31 [ # # # # ]: 0 : if (mps_cpu < nr_cpu_ids && cpu_present(mps_cpu)) 32 : 0 : return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu); 33 : : else 34 : 0 : return BAD_APICID; 35 : : } 36 : : EXPORT_SYMBOL_GPL(default_cpu_present_to_apicid); 37 : : 38 : 30 : int default_check_phys_apicid_present(int phys_apicid) 39 : : { 40 : 30 : return physid_isset(phys_apicid, phys_cpu_present_map); 41 : : } 42 : : 43 : 0 : int default_apic_id_valid(u32 apicid) 44 : : { 45 : 0 : return (apicid < 255); 46 : : }