root/arch/alpha/include/asm/smp.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. __hard_smp_processor_id

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __ASM_SMP_H
   3 #define __ASM_SMP_H
   4 
   5 #include <linux/threads.h>
   6 #include <linux/cpumask.h>
   7 #include <linux/bitops.h>
   8 #include <asm/pal.h>
   9 
  10 /* HACK: Cabrio WHAMI return value is bogus if more than 8 bits used.. :-( */
  11 
  12 static __inline__ unsigned char
  13 __hard_smp_processor_id(void)
  14 {
  15         register unsigned char __r0 __asm__("$0");
  16         __asm__ __volatile__(
  17                 "call_pal %1 #whami"
  18                 : "=r"(__r0)
  19                 :"i" (PAL_whami)
  20                 : "$1", "$22", "$23", "$24", "$25");
  21         return __r0;
  22 }
  23 
  24 #ifdef CONFIG_SMP
  25 
  26 #include <asm/irq.h>
  27 
  28 struct cpuinfo_alpha {
  29         unsigned long loops_per_jiffy;
  30         unsigned long last_asn;
  31         int need_new_asn;
  32         int asn_lock;
  33         unsigned long ipi_count;
  34         unsigned long prof_multiplier;
  35         unsigned long prof_counter;
  36         unsigned char mcheck_expected;
  37         unsigned char mcheck_taken;
  38         unsigned char mcheck_extra;
  39 } __attribute__((aligned(64)));
  40 
  41 extern struct cpuinfo_alpha cpu_data[NR_CPUS];
  42 
  43 #define hard_smp_processor_id() __hard_smp_processor_id()
  44 #define raw_smp_processor_id()  (current_thread_info()->cpu)
  45 
  46 extern int smp_num_cpus;
  47 
  48 extern void arch_send_call_function_single_ipi(int cpu);
  49 extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
  50 
  51 #else /* CONFIG_SMP */
  52 
  53 #define hard_smp_processor_id()         0
  54 #define smp_call_function_on_cpu(func,info,wait,cpu)    ({ 0; })
  55 
  56 #endif /* CONFIG_SMP */
  57 
  58 #define NO_PROC_ID      (-1)
  59 
  60 #endif

/* [<][>][^][v][top][bottom][index][help] */