函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bsp_init_hygon

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

返回类型:void

参数:

类型参数名称
struct cpuinfo_x86 *c
214  如果非rdmsrl_safe(MSR_K8_TSEG_ADDR, & tseg)则
215  pfn等于tseg右移PAGE_SHIFT determines the page size
217  pr_debug("tseg: %010llx\n", tseg)
218  如果pfn_range_is_mapped(pfn, pfn + 1)则set_memory_4k((unsignedlong)__va(tseg), 1)
223  如果cpu_has(c, TSC ticks at a constant rate )则
226  rdmsrl(MSR_K7_HWCR, val)
227  如果非val按位与BIT(24)的值则打印警告信息(FW_BUG* Add this to a message where you are sure the firmware is buggy or behaves* really stupid or out of spec"TSC doesn't count with P0 frequency!\n")
231  如果cpu_has(c, MWAIT extension (MONITORX/MWAITX instructions) )则use_mwaitx_delay()
234  如果boot_cpu_has(Topology extensions CPUID leafs )则
237  ecx等于cpuid_ecx(0x8000001e)
238  des_per_socket: Stores the number of nodes per socket.* Refer to CPUID Fn8000_001E_ECX Node Identifiers[10:8]等于ecx右移8位按位与7的值加1
239  否则如果boot_cpu_has(NodeId MSR )则
242  rdmsrl(MSR_FAM10H_NODE_ID, value)
243  des_per_socket: Stores the number of nodes per socket.* Refer to CPUID Fn8000_001E_ECX Node Identifiers[10:8]等于value右移3位按位与7的值加1
246  如果非boot_cpu_has("" Speculative Store Bypass Disable )且非boot_cpu_has(Virtualized Speculative Store Bypass Disable )则
255  x86_amd_ls_cfg_ssbd_mask等于1ULL左移10位