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();
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to