Function report |
Source Code:arch\x86\kernel\apic\apic.c |
Create Date:2022-07-28 08:27:24 |
Last Modify:2020-03-16 21:21:31 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:generic_processor_info
Proto:int generic_processor_info(int apicid, int version)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
int | apicid | |
int | version |
2398 | max = nr_cpu_ids |
2399 | boot_cpu_detected = physid_isset(Processor that is doing the boot up , Bitmask of physically existing CPUs:) |
2437 | If Not boot_cpu_detected && num_processors >= nr_cpu_ids - 1 && apicid != Processor that is doing the boot up Then |
2439 | thiscpu = max + disabled_cpus - 1 |
2441 | pr_warn("APIC: NR_CPUS/possible_cpus limit of %i almost reached. Keeping one slot for boot cpu. Processor %d/0x%x ignored.\n", max, thiscpu, apicid) |
2445 | disabled_cpus++ |
2446 | Return -ENODEV |
2449 | If num_processors >= nr_cpu_ids Then |
2450 | thiscpu = max + disabled_cpus |
2452 | pr_warn("APIC: NR_CPUS/possible_cpus limit of %i reached. Processor %d/0x%x ignored.\n", max, thiscpu, apicid) |
2455 | disabled_cpus++ |
2456 | Return -EINVAL |
2459 | If apicid == Processor that is doing the boot up Then |
2467 | cpu = 0 |
2471 | Else |
2472 | cpu = Should use this API to allocate logical CPU IDs to keep nr_logical_cpuids* and cpuid_to_apicid[] synchronized. |
2473 | If cpu < 0 Then |
2474 | disabled_cpus++ |
2475 | Return -EINVAL |
2482 | If version == 0x0 Then |
2485 | version = 0x10 |
2488 | If version != boot_cpu_apic_version Then |
2489 | pr_warn("BIOS bug: APIC version mismatch, boot CPU: %x, CPU %d: version %x\n", boot_cpu_apic_version, cpu, version) |
2493 | If apicid > The highest APIC ID seen during enumeration. Then The highest APIC ID seen during enumeration. = apicid |
2498 | early_per_cpu(x86_bios_cpu_apicid, cpu) = apicid |
2504 | set_cpu_possible(cpu, true) |
2506 | set_cpu_present(cpu, true) |
2507 | num_processors++ |
2509 | Return cpu |
Name | Describe |
---|---|
MP_processor_info | |
jailhouse_get_smp_config |
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 |