- Updated to 2.6.22-rc2-git7:
[linux-flexiantxendom0-3.2.10.git] / include / xen / cpu_hotplug.h
1 #ifndef __XEN_CPU_HOTPLUG_H__
2 #define __XEN_CPU_HOTPLUG_H__
3
4 #include <linux/kernel.h>
5 #include <linux/cpumask.h>
6
7 #if defined(CONFIG_X86) && defined(CONFIG_SMP)
8 extern cpumask_t cpu_initialized_map;
9 #define cpu_set_initialized(cpu) cpu_set(cpu, cpu_initialized_map)
10 #else
11 #define cpu_set_initialized(cpu) ((void)0)
12 #endif
13
14 #if defined(CONFIG_HOTPLUG_CPU)
15
16 int cpu_up_check(unsigned int cpu);
17 void init_xenbus_allowed_cpumask(void);
18 int smp_suspend(void);
19 void smp_resume(void);
20
21 void cpu_bringup(void);
22
23 #else /* !defined(CONFIG_HOTPLUG_CPU) */
24
25 #define cpu_up_check(cpu)               (0)
26 #define init_xenbus_allowed_cpumask()   ((void)0)
27
28 static inline int smp_suspend(void)
29 {
30         if (num_online_cpus() > 1) {
31                 printk(KERN_WARNING "Can't suspend SMP guests "
32                        "without CONFIG_HOTPLUG_CPU\n");
33                 return -EOPNOTSUPP;
34         }
35         return 0;
36 }
37
38 static inline void smp_resume(void)
39 {
40 }
41
42 #endif /* !defined(CONFIG_HOTPLUG_CPU) */
43
44 #endif /* __XEN_CPU_HOTPLUG_H__ */