blob: c0a01b5d985bec4078e60c1856fcb1c1e7c99376 [file] [log] [blame]
Tejun Heobdbcdd42009-01-21 17:26:06 +09001#ifndef _ASM_X86_UV_UV_H
2#define _ASM_X86_UV_UV_H
3
4enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC};
5
Randy Dunlap58105ef2009-01-31 12:32:26 -08006struct cpumask;
7struct mm_struct;
8
Nick Piggin03b48632009-01-20 04:36:04 +01009#ifdef CONFIG_X86_UV
Tejun Heobdbcdd42009-01-21 17:26:06 +090010
11extern enum uv_system_type get_uv_system_type(void);
12extern int is_uv_system(void);
13extern void uv_cpu_init(void);
14extern void uv_system_init(void);
Tejun Heobdbcdd42009-01-21 17:26:06 +090015extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
16 struct mm_struct *mm,
17 unsigned long va,
18 unsigned int cpu);
19
Nick Piggin03b48632009-01-20 04:36:04 +010020#else /* X86_UV */
Tejun Heobdbcdd42009-01-21 17:26:06 +090021
22static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
23static inline int is_uv_system(void) { return 0; }
24static inline void uv_cpu_init(void) { }
25static inline void uv_system_init(void) { }
Tejun Heobdbcdd42009-01-21 17:26:06 +090026static inline const struct cpumask *
27uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm,
28 unsigned long va, unsigned int cpu)
29{ return cpumask; }
30
Nick Piggin03b48632009-01-20 04:36:04 +010031#endif /* X86_UV */
Tejun Heobdbcdd42009-01-21 17:26:06 +090032
33#endif /* _ASM_X86_UV_UV_H */