blob: 3bb9491b76590d6d9b5281f43e6e0e0d1ff4ccd2 [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);
Russ Anderson78c06172010-02-26 10:49:12 -060014extern void uv_nmi_init(void);
Tejun Heobdbcdd42009-01-21 17:26:06 +090015extern void uv_system_init(void);
Tejun Heobdbcdd42009-01-21 17:26:06 +090016extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
17 struct mm_struct *mm,
18 unsigned long va,
19 unsigned int cpu);
20
Nick Piggin03b48632009-01-20 04:36:04 +010021#else /* X86_UV */
Tejun Heobdbcdd42009-01-21 17:26:06 +090022
23static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
24static inline int is_uv_system(void) { return 0; }
25static inline void uv_cpu_init(void) { }
26static inline void uv_system_init(void) { }
Tejun Heobdbcdd42009-01-21 17:26:06 +090027static inline const struct cpumask *
28uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm,
29 unsigned long va, unsigned int cpu)
30{ return cpumask; }
31
Nick Piggin03b48632009-01-20 04:36:04 +010032#endif /* X86_UV */
Tejun Heobdbcdd42009-01-21 17:26:06 +090033
34#endif /* _ASM_X86_UV_UV_H */