函数逻辑报告 |
Source Code:arch\x86\kernel\cpu\intel.c |
Create Date:2022-07-27 08:57:52 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:init_intel
函数原型:static void init_intel(struct cpuinfo_x86 *c)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct cpuinfo_x86 * | c |
657 | early_init_intel(c) |
659 | intel_workarounds(c) |
668 | 如果非cpu_has(c, CPU topology enum extensions )则 |
673 | detect_num_cpu_cores(c) |
679 | init_intel_cacheinfo(c) |
681 | 如果Maximum supported CPUID level, -1=no CPUID: 大于9则 |
684 | 如果eax按位与0xff且eax右移8位按位与0xff的值大于1则set_cpu_cap(c, Intel Architectural PerfMon ) |
688 | 如果cpu_has(c, "sse2" )则set_cpu_cap(c, "" LFENCE synchronizes RDTSC ) |
691 | 如果boot_cpu_has("dts" Debug Store )则 |
695 | 如果非l1按位与1左移11位的值则set_cpu_cap(c, Branch Trace Store ) |
697 | 如果非l1按位与1左移12位的值则set_cpu_cap(c, Precise-Event Based Sampling ) |
701 | 如果CPU family 恒等于6且boot_cpu_has(CLFLUSH instruction )且x86_model恒等于29或x86_model恒等于46或x86_model恒等于47的值则set_cpu_bug(c, AAI65, CLFLUSH required before MONITOR ) |
705 | 如果CPU family 恒等于6且boot_cpu_has("monitor" MONITOR/MWAIT support )且x86_model恒等于Apollo Lake 则set_cpu_bug(c, IPI required to wake up remote CPU ) |
710 | 如果CPU family 恒等于15则In bytes 等于x86_clflush_size乘2 |
712 | 如果CPU family 恒等于6则set_cpu_cap(c, REP microcode works well ) |
756 | srat_detect_node(c) |
758 | 如果cpu_has(c, Hardware virtualization )则detect_vmx_virtcap(c) |
761 | 如果cpu_has(c, Intel Total Memory Encryption )则detect_tme(c) |
766 | 如果tsx_ctrl_state恒等于TSX_CTRL_ENABLE则tsx_enable() |
768 | 如果tsx_ctrl_state恒等于TSX_CTRL_DISABLE则tsx_disable() |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |