.. | .. |
---|
14 | 14 | void (*c_init)(struct cpuinfo_x86 *); |
---|
15 | 15 | void (*c_identify)(struct cpuinfo_x86 *); |
---|
16 | 16 | void (*c_detect_tlb)(struct cpuinfo_x86 *); |
---|
17 | | - void (*c_bsp_resume)(struct cpuinfo_x86 *); |
---|
18 | 17 | int c_x86_vendor; |
---|
19 | 18 | #ifdef CONFIG_X86_32 |
---|
20 | 19 | /* Optional vendor specific routine to obtain the cache size. */ |
---|
.. | .. |
---|
39 | 38 | |
---|
40 | 39 | #define cpu_dev_register(cpu_devX) \ |
---|
41 | 40 | static const struct cpu_dev *const __cpu_dev_##cpu_devX __used \ |
---|
42 | | - __attribute__((__section__(".x86_cpu_dev.init"))) = \ |
---|
| 41 | + __section(".x86_cpu_dev.init") = \ |
---|
43 | 42 | &cpu_devX; |
---|
44 | 43 | |
---|
45 | 44 | extern const struct cpu_dev *const __x86_cpu_dev_start[], |
---|
.. | .. |
---|
61 | 60 | static inline void tsx_init(void) { } |
---|
62 | 61 | #endif /* CONFIG_CPU_SUP_INTEL */ |
---|
63 | 62 | |
---|
| 63 | +extern void init_spectral_chicken(struct cpuinfo_x86 *c); |
---|
| 64 | + |
---|
64 | 65 | extern void get_cpu_cap(struct cpuinfo_x86 *c); |
---|
65 | 66 | extern void get_cpu_address_sizes(struct cpuinfo_x86 *c); |
---|
66 | 67 | extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c); |
---|
67 | 68 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); |
---|
68 | | -extern u32 get_scattered_cpuid_leaf(unsigned int level, |
---|
69 | | - unsigned int sub_leaf, |
---|
70 | | - enum cpuid_regs_idx reg); |
---|
71 | 69 | extern void init_intel_cacheinfo(struct cpuinfo_x86 *c); |
---|
72 | 70 | extern void init_amd_cacheinfo(struct cpuinfo_x86 *c); |
---|
| 71 | +extern void init_hygon_cacheinfo(struct cpuinfo_x86 *c); |
---|
73 | 72 | |
---|
74 | 73 | extern void detect_num_cpu_cores(struct cpuinfo_x86 *c); |
---|
75 | 74 | extern int detect_extended_topology_early(struct cpuinfo_x86 *c); |
---|
.. | .. |
---|
79 | 78 | extern void check_null_seg_clears_base(struct cpuinfo_x86 *c); |
---|
80 | 79 | |
---|
81 | 80 | unsigned int aperfmperf_get_khz(int cpu); |
---|
| 81 | +void cpu_select_mitigations(void); |
---|
82 | 82 | |
---|
83 | 83 | extern void x86_spec_ctrl_setup_ap(void); |
---|
84 | 84 | extern void update_srbds_msr(void); |
---|
| 85 | +extern void update_gds_msr(void); |
---|
85 | 86 | |
---|
86 | 87 | extern u64 x86_read_arch_cap_msr(void); |
---|
87 | 88 | |
---|