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

smp_64.h (1888B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* smp.h: Sparc64 specific SMP stuff.
      3 *
      4 * Copyright (C) 1996, 2008 David S. Miller (davem@davemloft.net)
      5 */
      6
      7#ifndef _SPARC64_SMP_H
      8#define _SPARC64_SMP_H
      9
     10#include <linux/threads.h>
     11#include <asm/asi.h>
     12#include <asm/starfire.h>
     13#include <asm/spitfire.h>
     14
     15#ifndef __ASSEMBLY__
     16
     17#include <linux/cpumask.h>
     18#include <linux/cache.h>
     19
     20#endif /* !(__ASSEMBLY__) */
     21
     22#ifdef CONFIG_SMP
     23
     24#ifndef __ASSEMBLY__
     25
     26/*
     27 *	Private routines/data
     28 */
     29
     30#include <linux/bitops.h>
     31#include <linux/atomic.h>
     32#include <asm/percpu.h>
     33
     34DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
     35extern cpumask_t cpu_core_map[NR_CPUS];
     36
     37void smp_init_cpu_poke(void);
     38void scheduler_poke(void);
     39
     40void arch_send_call_function_single_ipi(int cpu);
     41void arch_send_call_function_ipi_mask(const struct cpumask *mask);
     42
     43/*
     44 *	General functions that each host system must provide.
     45 */
     46
     47int hard_smp_processor_id(void);
     48#define raw_smp_processor_id() (current_thread_info()->cpu)
     49
     50void smp_fill_in_cpu_possible_map(void);
     51void smp_fill_in_sib_core_maps(void);
     52void cpu_play_dead(void);
     53
     54void smp_fetch_global_regs(void);
     55void smp_fetch_global_pmu(void);
     56
     57struct seq_file;
     58void smp_bogo(struct seq_file *);
     59void smp_info(struct seq_file *);
     60
     61void smp_callin(void);
     62void cpu_panic(void);
     63void smp_synchronize_tick_client(void);
     64void smp_capture(void);
     65void smp_release(void);
     66
     67#ifdef CONFIG_HOTPLUG_CPU
     68int __cpu_disable(void);
     69void __cpu_die(unsigned int cpu);
     70#endif
     71
     72#endif /* !(__ASSEMBLY__) */
     73
     74#else
     75
     76#define hard_smp_processor_id()		0
     77#define smp_fill_in_sib_core_maps() do { } while (0)
     78#define smp_fetch_global_regs() do { } while (0)
     79#define smp_fetch_global_pmu() do { } while (0)
     80#define smp_fill_in_cpu_possible_map() do { } while (0)
     81#define smp_init_cpu_poke() do { } while (0)
     82#define scheduler_poke() do { } while (0)
     83
     84#endif /* !(CONFIG_SMP) */
     85
     86#endif /* !(_SPARC64_SMP_H) */