cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

apic_common.c (941B)


      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
      9u32 apic_default_calc_apicid(unsigned int cpu)
     10{
     11	return per_cpu(x86_cpu_to_apicid, cpu);
     12}
     13
     14u32 apic_flat_calc_apicid(unsigned int cpu)
     15{
     16	return 1U << cpu;
     17}
     18
     19bool default_check_apicid_used(physid_mask_t *map, int apicid)
     20{
     21	return physid_isset(apicid, *map);
     22}
     23
     24void default_ioapic_phys_id_map(physid_mask_t *phys_map, physid_mask_t *retmap)
     25{
     26	*retmap = *phys_map;
     27}
     28
     29int 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}
     36EXPORT_SYMBOL_GPL(default_cpu_present_to_apicid);
     37
     38int default_check_phys_apicid_present(int phys_apicid)
     39{
     40	return physid_isset(phys_apicid, phys_cpu_present_map);
     41}
     42
     43int default_apic_id_valid(u32 apicid)
     44{
     45	return (apicid < 255);
     46}