--- a/kernel/eka/kernel/arm/cache_external.cpp Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/cache_external.cpp Sat Feb 20 00:10:51 2010 +0200
@@ -136,9 +136,14 @@
* different master ports.
* Status:
* Not fixed in Kernel as there is no software workaround for this erratum.
+ *
+ * - 727915: Background Clean & Invalidate by Way operation can cause data corruption
+ * Status:
+ * There was no need to fix anything as PL310 cache maintenance doesn't use any
+ * _Maintain_ByWay operation. (It is only used in ExternalCache::AtomicSync on
+ * L210 & L220.)
*/
-
#include <arm.h>
#include "cache_maintenance.h"
#include <nkern.h>
@@ -314,6 +319,7 @@
#if defined(__ARM_PL310_CACHE__)
// On Pl310, we hold the lock while maintaining cache. Therefore, we cannot
// do that on a way basis as it takes too long to complete.
+ // This will also ensure that PL310 erratum 727915 is sorted out.
#if defined(__ARM_PL310_ERRATUM_588369_FIXED)
Maintain_All((TInt*)(Base+ARML2C_CleanInvalidateByIndexWay));