svn commit: r285534 - head/sys/arm64/arm64

Zbigniew Bodek zbb at FreeBSD.org
Tue Jul 14 12:02:57 UTC 2015


Author: zbb
Date: Tue Jul 14 12:02:56 2015
New Revision: 285534
URL: https://svnweb.freebsd.org/changeset/base/285534

Log:
  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

Modified:
  head/sys/arm64/arm64/mp_machdep.c

Modified: head/sys/arm64/arm64/mp_machdep.c
==============================================================================
--- head/sys/arm64/arm64/mp_machdep.c	Tue Jul 14 11:59:43 2015	(r285533)
+++ head/sys/arm64/arm64/mp_machdep.c	Tue Jul 14 12:02:56 2015	(r285534)
@@ -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();
 


More information about the svn-src-head mailing list