hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/x86/include/asm/uv/uv.h
....@@ -2,41 +2,42 @@
22 #ifndef _ASM_X86_UV_UV_H
33 #define _ASM_X86_UV_UV_H
44
5
-#include <asm/tlbflush.h>
6
-
7
-enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC};
8
-
9
-struct cpumask;
10
-struct mm_struct;
5
+enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC};
116
127 #ifdef CONFIG_X86_UV
138 #include <linux/efi.h>
149
10
+#define UV_PROC_NODE "sgi_uv"
11
+
12
+static inline int uv(int uvtype)
13
+{
14
+ /* uv(0) is "any" */
15
+ if (uvtype >= 0 && uvtype <= 30)
16
+ return 1 << uvtype;
17
+ return 1;
18
+}
19
+
20
+extern unsigned long uv_systab_phys;
21
+
1522 extern enum uv_system_type get_uv_system_type(void);
1623 static inline bool is_early_uv_system(void)
1724 {
18
- return !((efi.uv_systab == EFI_INVALID_TABLE_ADDR) || !efi.uv_systab);
25
+ return uv_systab_phys && uv_systab_phys != EFI_INVALID_TABLE_ADDR;
1926 }
2027 extern int is_uv_system(void);
21
-extern int is_uv_hubless(void);
28
+extern int is_uv_hubbed(int uvtype);
2229 extern void uv_cpu_init(void);
2330 extern void uv_nmi_init(void);
2431 extern void uv_system_init(void);
25
-extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
26
- const struct flush_tlb_info *info);
2732
28
-#else /* X86_UV */
33
+#else /* !X86_UV */
2934
3035 static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
3136 static inline bool is_early_uv_system(void) { return 0; }
3237 static inline int is_uv_system(void) { return 0; }
33
-static inline int is_uv_hubless(void) { return 0; }
38
+static inline int is_uv_hubbed(int uv) { return 0; }
3439 static inline void uv_cpu_init(void) { }
3540 static inline void uv_system_init(void) { }
36
-static inline const struct cpumask *
37
-uv_flush_tlb_others(const struct cpumask *cpumask,
38
- const struct flush_tlb_info *info)
39
-{ return cpumask; }
4041
4142 #endif /* X86_UV */
4243