函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\common.c Create Date:2022-07-27 08:55:38
Last Modify:2020-03-16 20:28:31 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Do minimum CPU detection early.* Fields really needed: vendor, cpuid_level, family, model, mask,* cache alignment.* The others are not touched to avoid unwanted side effects.* WARNING: this function is only called on the boot CPU. Don't add code

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

返回类型:void

参数:

类型参数名称
struct cpuinfo_x86 *c
1199  x86_clflush_size等于64
1200  x86_phys_bits等于36
1201  x86_virt_bits等于48
1207  In bytes 等于x86_clflush_size
1209  memset( & x86_capability, 0, x86_capability的长度)
1210  Max extended CPUID function supported: 等于0
1212  如果非Probe for the CPUID instruction identify_cpu_without_cpuid(c)
1216  如果Probe for the CPUID instruction
1217  cpu_detect(c)
1218  get_cpu_vendor(c)
1219  get_cpu_cap(c)
1220  get_cpu_address_sizes(c)
1221  setup_force_cpu_cap(CPU has CPUID instruction itself )
1223  如果c_early_initc_early_init(c)
1226  Index into per_cpu list: 等于0
1227  filter_cpuid_features(c, false)
1229  如果c_bsp_initc_bsp_init(c)
1231  否则
1232  setup_clear_cpu_cap(CPU has CPUID instruction itself )
1235  setup_force_cpu_cap("" Always-present feature )
1237  cpu_set_bug_bits(c)
1239  Called on the boot CPU once per system bootup, to set up the initial* FPU state that is later cloned into all processes:
1246  setup_clear_cpu_cap(Process Context Identifiers )
1261  如果非pgtable_l5_enabled()则setup_clear_cpu_cap(5-level page tables )
1264  The NOPL instruction is supposed to exist on all CPUs of family >= 6;* unfortunately, that's not true in practice because of early VIA* chips and (more importantly) broken virtualizers that are not easy* to detect
调用者
名称描述
early_cpu_init