Fix secondary PIC initialization order
Call arm_init_secondary before any other PIC-related functions are called. This is necessary for GICv3 where PIC_INIT_SECONDARY allocates resources needed for all further operations. Obtained from: Semihalf Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3066
This commit is contained in:
parent
b7ac293f44
commit
d1be8e59e2
@ -229,6 +229,9 @@ init_secondary(uint64_t cpu)
|
||||
pcpup->pc_curthread = pcpup->pc_idlethread;
|
||||
pcpup->pc_curpcb = pcpup->pc_idlethread->td_pcb;
|
||||
|
||||
/* Configure the interrupt controller */
|
||||
arm_init_secondary();
|
||||
|
||||
for (i = 0; i < COUNT_IPI; i++)
|
||||
arm_unmask_ipi(i);
|
||||
|
||||
@ -239,9 +242,6 @@ init_secondary(uint64_t cpu)
|
||||
vfp_init();
|
||||
#endif
|
||||
|
||||
/* Configure the interrupt controller */
|
||||
arm_init_secondary();
|
||||
|
||||
/* Enable interrupts */
|
||||
intr_enable();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user