svn commit: r277018 - projects/arm_intrng/sys/arm/arm

Andrew Turner andrew at FreeBSD.org
Sun Jan 11 19:41:53 UTC 2015


Author: andrew
Date: Sun Jan 11 19:41:52 2015
New Revision: 277018
URL: https://svnweb.freebsd.org/changeset/base/277018

Log:
  Restore the non-intrng behaviour to enable IPIs depending on the config.

Modified:
  projects/arm_intrng/sys/arm/arm/mp_machdep.c

Modified: projects/arm_intrng/sys/arm/arm/mp_machdep.c
==============================================================================
--- projects/arm_intrng/sys/arm/arm/mp_machdep.c	Sun Jan 11 19:28:37 2015	(r277017)
+++ projects/arm_intrng/sys/arm/arm/mp_machdep.c	Sun Jan 11 19:41:52 2015	(r277018)
@@ -149,7 +149,9 @@ init_secondary(int cpu)
 {
 	struct pcpu *pc;
 	uint32_t loop_counter;
+#ifndef ARM_INTRNG
 	int start = 0, end = 0;
+#endif
 
 	cpu_setup(NULL);
 	setttb(pmap_pa);
@@ -200,6 +202,11 @@ init_secondary(int cpu)
 	mtx_unlock_spin(&ap_boot_mtx);
 
 	/* Enable ipi */
+#ifdef ARM_INTRNG
+	for (int i = 0; i < ARM_IPI_COUNT; i++)
+		arm_unmask_ipi(i);
+#else
+
 #ifdef IPI_IRQ_START
 	start = IPI_IRQ_START;
 #ifdef IPI_IRQ_END
@@ -209,12 +216,9 @@ init_secondary(int cpu)
 #endif
 #endif
 				
-	for (int i = 0; i < ARM_IPI_COUNT; i++)
-#ifdef ARM_INTRNG
-		arm_unmask_ipi(i);
-#else
+	for (int i = start; i <= end; i++)
 		arm_unmask_irq(i);
-#endif
+#endif /* !ARM_INTRNG */
 	enable_interrupts(PSR_I);
 
 	loop_counter = 0;


More information about the svn-src-projects mailing list