linux/arch/parisc/include/asm/smp.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __ASM_SMP_H
   3#define __ASM_SMP_H
   4
   5extern int init_per_cpu(int cpuid);
   6
   7#if defined(CONFIG_SMP)
   8
   9/* Page Zero Location PDC will look for the address to branch to when we poke
  10** slave CPUs still in "Icache loop".
  11*/
  12#define PDC_OS_BOOT_RENDEZVOUS     0x10
  13#define PDC_OS_BOOT_RENDEZVOUS_HI  0x28
  14
  15#ifndef ASSEMBLY
  16#include <linux/bitops.h>
  17#include <linux/threads.h>      /* for NR_CPUS */
  18#include <linux/cpumask.h>
  19typedef unsigned long address_t;
  20
  21
  22/*
  23 *      Private routines/data
  24 *
  25 *      physical and logical are equivalent until we support CPU hotplug.
  26 */
  27#define cpu_number_map(cpu)     (cpu)
  28#define cpu_logical_map(cpu)    (cpu)
  29
  30extern void smp_send_all_nop(void);
  31
  32extern void arch_send_call_function_single_ipi(int cpu);
  33extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
  34
  35#endif /* !ASSEMBLY */
  36
  37#define raw_smp_processor_id()  (current_thread_info()->cpu)
  38
  39#else /* CONFIG_SMP */
  40
  41static inline void smp_send_all_nop(void) { return; }
  42
  43#endif
  44
  45#define NO_PROC_ID              0xFF            /* No processor magic marker */
  46#define ANY_PROC_ID             0xFF            /* Any processor magic marker */
  47static inline int __cpu_disable (void) {
  48  return 0;
  49}
  50static inline void __cpu_die (unsigned int cpu) {
  51  while(1)
  52    ;
  53}
  54
  55#endif /*  __ASM_SMP_H */
  56