Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\smpboot.c Create Date:2022-07-28 08:24:41
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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.

Proto:static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle, int *cpu0_nmi_registered)

Type:int

Parameter:

TypeParameterName
intapicid
intcpu
struct task_struct *idle
int *cpu0_nmi_registered
1027  start_ip = SMP trampoline
1029  boot_error = 0
1032  sp = task_pt_regs(idle)
1033  address = Provide the original GDT
1034  initial_code = Activate a secondary processor.
1035  initial_stack = sp
1038  init_espfix_ap(cpu)
1041  duce the number of lines printed when booting a large cpu count system
1048  If warm_reset Then
1050  pr_debug("Setting warm reset code and vector.\n")
1052  smpboot_setup_warm_reset_vector(start_ip)
1057  apic_write(APIC_ESR, 0)
1068  pumask_clear_cpu - clear a cpu in a cpumask*@cpu: cpu number (< nr_cpu_ids)*@dstp: the cpumask pointer
1069  smp_mb()
1077  If wakeup_secondary_cpu Then boot_error = wakeup_secondary_cpu(apicid, start_ip)
1079  Else boot_error = 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.
1083  If Not boot_error Then
1087  boot_error = -1
1088  timeout = jiffies + 10 * HZ
1098  schedule()
1102  If Not boot_error Then
1113  schedule()
1117  If warm_reset Then
1121  smpboot_restore_warm_reset_vector()
1124  Return boot_error
Caller
NameDescribe
native_cpu_up