1
0
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:
Andrew Turner 2016-06-14 16:41:39 +00:00
parent 29f227c144
commit c3ab415cb2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301890

View File

@ -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);