mirror of
https://git.FreeBSD.org/src.git
synced 2024-11-24 07:40:52 +00:00
Move the arm call to intr_pic_init_secondary earlier in the secondary CPU
initialisation. This ensures it will complete before signalling to the boot CPU it has booted. This fixes a race with the GIC where the arm_gic_map may not be populated before it is used to bind interrupts leading to some interrupts becoming bound to no CPUs. Approved by: re (kib) Sponsored by: ABT Systems Ltd
This commit is contained in:
parent
29f227c144
commit
c3ab415cb2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301890
@ -199,6 +199,9 @@ init_secondary(int cpu)
|
||||
vfp_init();
|
||||
#endif
|
||||
|
||||
/* Configure the interrupt controller */
|
||||
intr_pic_init_secondary();
|
||||
|
||||
mtx_lock_spin(&ap_boot_mtx);
|
||||
|
||||
atomic_add_rel_32(&smp_cpus, 1);
|
||||
@ -237,7 +240,6 @@ init_secondary(int cpu)
|
||||
cpu_initclocks_ap();
|
||||
|
||||
CTR0(KTR_SMP, "go into scheduler");
|
||||
intr_pic_init_secondary();
|
||||
|
||||
/* Enter the scheduler */
|
||||
sched_throw(NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user