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) */ 87