Function report |
Source Code:arch\x86\kernel\cpu\centaur.c |
Create Date:2022-07-28 07:59:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:init_centaur
Proto:static void init_centaur(struct cpuinfo_x86 *c)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct cpuinfo_x86 * | c |
151 | fcr_set = 0 |
152 | fcr_clr = 0 |
160 | clear_cpu_cap(c, 0 * 32 + 31) |
162 | early_init_centaur(c) |
163 | init_intel_cacheinfo(c) |
164 | detect_num_cpu_cores(c) |
169 | If Maximum supported CPUID level, -1=no CPUID: > 9 Then |
177 | If eax & 0xff && ( eax >> 8 & 0xff) > 1 Then set_cpu_cap(c, Intel Architectural PerfMon ) |
183 | Case CPU family == 5 |
185 | Case x86_model == 4 |
186 | name = "C6" |
189 | pr_notice("Disabling bugged TSC.\n") |
190 | clear_cpu_cap(c, Time Stamp Counter ) |
191 | Break |
192 | Case x86_model == 8 |
194 | Default |
195 | name = "2" |
196 | Break |
197 | Case x86_stepping == 7...9 |
198 | name = "2A" |
199 | Break |
200 | Case x86_stepping == 10...15 |
201 | name = "2B" |
202 | Break |
207 | Break |
208 | Case x86_model == 9 |
209 | name = "3" |
213 | Break |
214 | Default |
215 | name = "??" |
224 | wrmsr(Centaur-Hauls/IDT defined MSRs. , newlo, hi) |
225 | Else |
229 | set_cpu_cap(c, Centaur MCRs (= MTRRs) ) |
231 | set_cpu_cap(c, CMPXCHG8 instruction ) |
233 | If x86_model >= 8 Then set_cpu_cap(c, 3DNow ) |
236 | If CPUID functions returning a single datum >= 0x80000005 Then |
240 | KB - valid for CPUS which support this call: = (cc >> 24) + (dd >> 24) |
242 | sprintf(x86_model_id, "WinChip %s", name) |
243 | Break |
245 | Case CPU family == 6 |
253 | If cpu_has(c, Hardware virtualization ) Then centaur_detect_vmx_virtcap(c) |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |