Function report |
Source Code:arch\x86\kernel\cpu\common.c |
Create Date:2022-07-28 07:55:25 |
Last Modify:2020-03-16 20:28:31 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:This does the hard work of actually picking apart the CPU stuff...
Proto:static void identify_cpu(struct cpuinfo_x86 *c)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct cpuinfo_x86 * | c |
1433 | loops_per_jiffy = loops_per_jiffy |
1435 | CPU vendor = X86_VENDOR_UNKNOWN |
1436 | x86_model = x86_stepping = 0 |
1437 | x86_vendor_id[0] = '\0' |
1438 | x86_model_id[0] = '\0' |
1439 | cpuid returned max cores value: = 1 |
1440 | CPUID returned core id bits: = 0 |
1441 | cu_id = 0xff |
1443 | x86_clflush_size = 64 |
1444 | x86_phys_bits = 36 |
1445 | x86_virt_bits = 48 |
1452 | In bytes = x86_clflush_size |
1453 | memset( & x86_capability, 0, size of x86_capability ) |
1455 | generic_identify(c) |
1457 | If c_identify Then c_identify(c) |
1461 | apply_forced_caps(c) |
1464 | apicid = phys_pkg_id(initial_apicid, 0) |
1484 | setup_smep(c) |
1485 | setup_smap(c) |
1486 | setup_umip(c) |
1494 | filter_cpuid_features(c, true) |
1497 | If Not x86_model_id[0] Then |
1500 | If p Then strcpy(x86_model_id, p) |
1502 | Else sprintf(x86_model_id, "%02x/%02x", CPU family , x86_model) |
1513 | x86_init_cache_qos(c) |
1520 | apply_forced_caps(c) |
1528 | If c != common cpu data for all cpus Then |
1530 | When i < N 32-bit words worth of info cycle x86_capability[i] &= x86_capability[i] |
1534 | When i < N 32-bit words worth of info + N 32-bit bug flags cycle x86_capability[i] |= x86_capability[i] |
1539 | mcheck_cpu_init(c) |
1541 | select_idle_routine(c) |
1544 | numa_add_cpu(smp_processor_id()) |
Name | Describe |
---|---|
identify_boot_cpu | |
identify_secondary_cpu |
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 |