svn commit: r304068 - head/sys/powerpc/mpc85xx

Justin Hibbits jhibbits at FreeBSD.org
Sun Aug 14 03:49:38 UTC 2016


Author: jhibbits
Date: Sun Aug 14 03:49:37 2016
New Revision: 304068
URL: https://svnweb.freebsd.org/changeset/base/304068

Log:
  Only flush bp_kernload from the dcache, no need to sync the icache on the boot CPU.
  
  __syncicache() only syncs the icache on the current CPU, it doesn't touch the
  cache on any other core.  Replace the call with cpu_flush_dcache() instead.
  Since bp_kernload is not touched again by the boot CPU in this code path, dcbf
  is no less efficient than the dcbst from __syncicache() by invalidating the
  cache line.

Modified:
  head/sys/powerpc/mpc85xx/platform_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/platform_mpc85xx.c
==============================================================================
--- head/sys/powerpc/mpc85xx/platform_mpc85xx.c	Sun Aug 14 00:40:17 2016	(r304067)
+++ head/sys/powerpc/mpc85xx/platform_mpc85xx.c	Sun Aug 14 03:49:37 2016	(r304068)
@@ -404,7 +404,7 @@ mpc85xx_smp_start_cpu(platform_t plat, s
 	 * bp_kernload is in the boot page.  Sync the cache because ePAPR
 	 * booting has the other core(s) already running.
 	 */
-	__syncicache(&bp_kernload, sizeof(bp_kernload));
+	cpu_flush_dcache(&bp_kernload, sizeof(bp_kernload));
 
 	ap_pcpu = pc;
 	__asm __volatile("msync; isync");


More information about the svn-src-head mailing list