Function report |
Source Code:arch\x86\kernel\cpu\common.c |
Create Date:2022-07-28 07:55:13 |
| Last Modify:2020-03-16 20:28:31 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:get_cpu_cap
Proto:void get_cpu_cap(struct cpuinfo_x86 *c)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct cpuinfo_x86 * | c |
| 905 | If Maximum supported CPUID level, -1=no CPUID: >= 0x00000001 Then |
| 908 | x86_capability[CPUID_1_ECX] = ecx |
| 909 | x86_capability[CPUID_1_EDX] = edx |
| 913 | If Maximum supported CPUID level, -1=no CPUID: >= 0x00000006 Then x86_capability[CPUID_6_EAX] = CPUID functions returning a single datum |
| 917 | If Maximum supported CPUID level, -1=no CPUID: >= 0x00000007 Then |
| 918 | cpuid_count(0x00000007, 0, & eax, & ebx, & ecx, & edx) |
| 919 | x86_capability[CPUID_7_0_EBX] = ebx |
| 920 | x86_capability[CPUID_7_ECX] = ecx |
| 921 | x86_capability[CPUID_7_EDX] = edx |
| 924 | If eax >= 1 Then |
| 925 | cpuid_count(0x00000007, 1, & eax, & ebx, & ecx, & edx) |
| 926 | x86_capability[CPUID_7_1_EAX] = eax |
| 931 | If Maximum supported CPUID level, -1=no CPUID: >= 0x0000000d Then |
| 932 | cpuid_count(0x0000000d, 1, & eax, & ebx, & ecx, & edx) |
| 934 | x86_capability[CPUID_D_1_EAX] = eax |
| 941 | If (eax & 0xffff0000) == 0x80000000 Then |
| 942 | If eax >= 0x80000001 Then |
| 945 | x86_capability[CPUID_8000_0001_ECX] = ecx |
| 946 | x86_capability[CPUID_8000_0001_EDX] = edx |
| 950 | If Max extended CPUID function supported: >= 0x80000007 Then |
| 953 | x86_capability[CPUID_8000_0007_EBX] = ebx |
| 957 | If Max extended CPUID function supported: >= 0x80000008 Then |
| 959 | x86_capability[CPUID_8000_0008_EBX] = ebx |
| 962 | If Max extended CPUID function supported: >= 0x8000000a Then x86_capability[CPUID_8000_000A_EDX] = cpuid_edx(0x8000000a) |
| 974 | apply_forced_caps(c) |
| Name | Describe |
|---|---|
| early_identify_cpu | 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 |
| generic_identify | |
| microcode_check | The microcode loader calls this upon late microcode load to recheck features,* only when microcode has been updated. Caller holds microcode_mutex and CPU* hotplug lock. |
| early_init_intel |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |