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 |