Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jul 2015 12:02:57 +0000 (UTC)
From:      Zbigniew Bodek <zbb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r285534 - head/sys/arm64/arm64
Message-ID:  <201507141202.t6EC2vaQ057626@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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();
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507141202.t6EC2vaQ057626>