x86: make UV support configurable
[safe/jmp/linux-2.6] / arch / x86 / include / asm / uv / uv.h
1 #ifndef _ASM_X86_UV_UV_H
2 #define _ASM_X86_UV_UV_H
3
4 enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC};
5
6 #ifdef CONFIG_X86_UV
7
8 extern enum uv_system_type get_uv_system_type(void);
9 extern int is_uv_system(void);
10 extern void uv_cpu_init(void);
11 extern void uv_system_init(void);
12 extern int uv_wakeup_secondary(int phys_apicid, unsigned int start_rip);
13 extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
14                                                  struct mm_struct *mm,
15                                                  unsigned long va,
16                                                  unsigned int cpu);
17
18 #else   /* X86_UV */
19
20 static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
21 static inline int is_uv_system(void)    { return 0; }
22 static inline void uv_cpu_init(void)    { }
23 static inline void uv_system_init(void) { }
24 static inline int uv_wakeup_secondary(int phys_apicid, unsigned int start_rip)
25 { return 1; }
26 static inline const struct cpumask *
27 uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm,
28                     unsigned long va, unsigned int cpu)
29 { return cpumask; }
30
31 #endif  /* X86_UV */
32
33 #endif  /* _ASM_X86_UV_UV_H */