Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Aug 2016 03:49:37 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r304068 - head/sys/powerpc/mpc85xx
Message-ID:  <201608140349.u7E3nbnY004536@repo.freebsd.org>

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



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