svn commit: r265025 - head/sys/arm/arm
Ian Lepore
ian at FreeBSD.org
Sun Apr 27 20:26:16 UTC 2014
Author: ian
Date: Sun Apr 27 20:26:15 2014
New Revision: 265025
URL: http://svnweb.freebsd.org/changeset/base/265025
Log:
Explain why wbinv_all is SMP-safe in this case, and add a missing l2 cache
flush. (Either it was missing here, or it isn't needed in the minidump
case. Adding it here seems like the safer path to consistancy.)
Modified:
head/sys/arm/arm/dump_machdep.c
Modified: head/sys/arm/arm/dump_machdep.c
==============================================================================
--- head/sys/arm/arm/dump_machdep.c Sun Apr 27 20:16:51 2014 (r265024)
+++ head/sys/arm/arm/dump_machdep.c Sun Apr 27 20:26:15 2014 (r265025)
@@ -174,8 +174,14 @@ cb_dumpdata(struct md_pa *mdp, int seqnr
printf(" chunk %d: %dMB (%d pages)", seqnr, pgs * PAGE_SIZE / (
1024*1024), pgs);
- /* Make sure we write coherent datas. */
+ /*
+ * Make sure we write coherent data. Note that in the SMP case this
+ * only operates on the L1 cache of the current CPU, but all other CPUs
+ * have already been stopped, and their flush/invalidate was done as
+ * part of stopping.
+ */
cpu_idcache_wbinv_all();
+ cpu_l2cache_wbinv_all();
#ifdef __XSCALE__
xscale_cache_clean_minidata();
#endif
More information about the svn-src-all
mailing list