Blame view

include/asm-alpha/smp.h 1.36 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  #ifndef __ASM_SMP_H
  #define __ASM_SMP_H
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  #include <linux/threads.h>
  #include <linux/cpumask.h>
  #include <linux/bitops.h>
  #include <asm/pal.h>
  
  /* HACK: Cabrio WHAMI return value is bogus if more than 8 bits used.. :-( */
  
  static __inline__ unsigned char
  __hard_smp_processor_id(void)
  {
  	register unsigned char __r0 __asm__("$0");
  	__asm__ __volatile__(
  		"call_pal %1 #whami"
  		: "=r"(__r0)
  		:"i" (PAL_whami)
  		: "$1", "$22", "$23", "$24", "$25");
  	return __r0;
  }
  
  #ifdef CONFIG_SMP
  
  #include <asm/irq.h>
  
  struct cpuinfo_alpha {
  	unsigned long loops_per_jiffy;
  	unsigned long last_asn;
  	int need_new_asn;
  	int asn_lock;
  	unsigned long ipi_count;
  	unsigned long prof_multiplier;
  	unsigned long prof_counter;
  	unsigned char mcheck_expected;
  	unsigned char mcheck_taken;
  	unsigned char mcheck_extra;
  } __attribute__((aligned(64)));
  
  extern struct cpuinfo_alpha cpu_data[NR_CPUS];
  
  #define PROC_CHANGE_PENALTY     20
  
  #define hard_smp_processor_id()	__hard_smp_processor_id()
39c715b71   Ingo Molnar   [PATCH] smp_proce...
44
  #define raw_smp_processor_id()	(current_thread_info()->cpu)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
46
  extern int smp_num_cpus;
c7d2d28b9   Ivan Kokshaysky   [PATCH] alpha: SM...
47
  #define cpu_possible_map	cpu_present_map
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
48

2ac6608c4   Linus Torvalds   Revert broken "st...
49
  int smp_call_function_on_cpu(void (*func) (void *info), void *info,int retry, int wait, cpumask_t cpu);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
50
51
  
  #else /* CONFIG_SMP */
2f4dfe206   Fernando Luis Vazquez Cao   Remove hardcoding...
52
  #define hard_smp_processor_id()		0
2ac6608c4   Linus Torvalds   Revert broken "st...
53
  #define smp_call_function_on_cpu(func,info,retry,wait,cpu)    ({ 0; })
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
56
57
58
59
  
  #endif /* CONFIG_SMP */
  
  #define NO_PROC_ID	(-1)
  
  #endif