函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\centaur.c Create Date:2022-07-27 08:59:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:init_centaur

函数原型:static void init_centaur(struct cpuinfo_x86 *c)

返回类型:void

参数:

类型参数名称
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)
166  detect_ht(c)
169  如果Maximum supported CPUID level, -1=no CPUID: 大于9则
170  eax等于CPUID functions returning a single datum
177  如果eax按位与0xff且eax右移8位按位与0xff的值大于1则set_cpu_cap(c, Intel Architectural PerfMon )
183  :CPU family 恒等于5
185  :x86_model恒等于4
186  name等于"C6"
187  fcr_set等于ECX8按位或DSMC按位或EDCTLB按位或EMMX按位或ERETSTK
188  fcr_clr等于DPDC
189  打印注释信息("Disabling bugged TSC.\n")
191  退出
192  :x86_model恒等于8
194  默认
195  name等于"2"
196  退出
197  :x86_stepping == 7...9
198  name等于"2A"
199  退出
200  :x86_stepping == 10...15
201  name等于"2B"
202  退出
204  fcr_set等于ECX8按位或DSMC按位或DTLOCK按位或EMMX按位或EBRPRED按位或ERETSTK按位或E2MMX按位或EAMD3D
206  fcr_clr等于DPDC
207  退出
208  :x86_model恒等于9
209  name等于"3"
210  fcr_set等于ECX8按位或DSMC按位或DTLOCK按位或EMMX按位或EBRPRED按位或ERETSTK按位或E2MMX按位或EAMD3D
212  fcr_clr等于DPDC
213  退出
214  默认
215  name等于"??"
219  newlo等于lo按位或fcr_set的值按位与fcr_clr的反
221  如果newlo不等于lo
222  打印信息("Centaur FCR was 0x%X now 0x%X\n", lo, newlo)
225  否则
226  打印信息("Centaur FCR is 0x%X\n", lo)
233  如果x86_model大于等于8则set_cpu_cap(c, 3DNow )
236  如果CPUID functions returning a single datum大于等于0x80000005则
238  cpuid(0x80000005, & aa, & bb, & cc, & dd)
240  KB - valid for CPUS which support this call: 等于cc右移24位的值加dd右移24位的值
243  退出
245  :CPU family 恒等于6
246  init_c3(c)
247  退出
250  set_cpu_cap(c, "" LFENCE synchronizes RDTSC )
253  如果cpu_has(c, Hardware virtualization )则centaur_detect_vmx_virtcap(c)