Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\intel.c Create Date:2022-07-28 07:57:29
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:init_intel

Proto:static void init_intel(struct cpuinfo_x86 *c)

Type:void

Parameter:

TypeParameterName
struct cpuinfo_x86 *c
657  early_init_intel(c)
659  intel_workarounds(c)
666  Check for extended topology enumeration cpuid leaf, and if it* exists, use it for populating initial_apicid and cpu topology* detection.
668  If Not cpu_has(c, CPU topology enum extensions ) Then
673  detect_num_cpu_cores(c)
675  detect_ht(c)
679  init_intel_cacheinfo(c)
681  If Maximum supported CPUID level, -1=no CPUID: > 9 Then
682  eax = CPUID functions returning a single datum
684  If eax & 0xff && ( eax >> 8 & 0xff) > 1 Then set_cpu_cap(c, Intel Architectural PerfMon )
688  If cpu_has(c, "sse2" ) Then set_cpu_cap(c, "" LFENCE synchronizes RDTSC )
691  If boot_cpu_has("dts" Debug Store ) Then
694  Access to machine-specific registers (available on 586 and better only)* Note: the rd* operations modify the parameters directly (without using* pointer indirection), this allows gcc to optimize better(MSR_IA32_MISC_ENABLE, l1, l2)
695  If Not (l1 & 1 << 11 ) Then set_cpu_cap(c, Branch Trace Store )
697  If Not (l1 & 1 << 12 ) Then set_cpu_cap(c, Precise-Event Based Sampling )
701  If CPU family == 6 && boot_cpu_has(CLFLUSH instruction ) && ( x86_model == 29 || x86_model == 46 || x86_model == 47 ) Then set_cpu_bug(c, AAI65, CLFLUSH required before MONITOR )
705  If CPU family == 6 && boot_cpu_has("monitor" MONITOR/MWAIT support ) && x86_model == Apollo Lake Then set_cpu_bug(c, IPI required to wake up remote CPU )
710  If CPU family == 15 Then In bytes = x86_clflush_size * 2
712  If CPU family == 6 Then set_cpu_cap(c, REP microcode works well )
756  srat_detect_node(c)
758  If cpu_has(c, Hardware virtualization ) Then detect_vmx_virtcap(c)
761  If cpu_has(c, Intel Total Memory Encryption ) Then detect_tme(c)
764  init_intel_misc_features(c)
766  If tsx_ctrl_state == TSX_CTRL_ENABLE Then tsx_enable()
768  If tsx_ctrl_state == TSX_CTRL_DISABLE Then tsx_disable()