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:19
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Activate a secondary processor.

Proto:static void notrace start_secondary(void *unused)

Type:void

Parameter:

TypeParameterName
void *unused
218  cr4_init()
222  load_cr3(swapper_pg_dir)
223  lush everything
225  The load_current_idt() must be called with interrupts disabled* to avoid races
226  pu_init() initializes state that is per-CPU. Some data is already* initialized (naturally) in the bootstrap process, such as the GDT* and IDT. We reload them nevertheless, this function acts as a* 'CPU state barrier', nothing should get across.
227  early_percpu_clock_init()
228  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
229  Report back to the Boot Processor during boot time or to the caller processor* during CPU online.
231  enable_start_cpu0 = 0
234  The "volatile" is due to gcc bugs ()
238  check_tsc_sync_target()
240  speculative_store_bypass_ht_init()
248  lock_vector_lock()
249  set_cpu_online(smp_processor_id(), true)
250  lapic_online()
251  unlock_vector_lock()
252  cpu_set_state_online(smp_processor_id())
253  nmi_init()
256  The local_irq_*() APIs are equal to the raw_local_irq*()* if !TRACE_IRQFLAGS.()
259  boot_init_stack_canary()
261  setup_percpu_clockev()
263  wmb()
264  cpu_startup_entry(CPUHP_AP_ONLINE_IDLE)