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");
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to