Function report |
Source Code:arch\x86\kernel\smpboot.c |
Create Date:2022-07-28 08:24:39 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Wake up AP by INIT, INIT, STARTUP sequence.* Instead of waiting for STARTUP after INITs, BSP will execute the BIOS* boot-strap code which is not a desired behavior for waking up BSP. To* void the boot-strap code, wake up CPU0 by NMI instead.
Proto:static int wakeup_cpu_via_init_nmi(int cpu, unsigned long start_ip, int apicid, int *cpu0_nmi_registered)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
int | cpu | |
unsigned long | start_ip | |
int | apicid | |
int * | cpu0_nmi_registered |
965 | If cpu Then |
967 | Go to out |
975 | boot_error = register_nmi_handler(NMI_LOCAL, wakeup_cpu0_nmi, 0, "wake_cpu0") |
978 | If Not boot_error Then |
979 | enable_start_cpu0 = 1 |
980 | cpu0_nmi_registered = 1 |
981 | If dest_logical is used by the IPI functions == APIC_DEST_LOGICAL Then id = cpu0_logical_apicid |
988 | out : |
989 | preempt_enable() |
991 | Return boot_error |
Name | Describe |
---|---|
do_boot_cpu | NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad* (ie clustered apic addressing mode), this is a LOGICAL apic ID.* Returns zero if CPU booted OK, else error code from* ->wakeup_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 |