Fix FS#12391 : Memory corruption on PP502x after commit_discard_idcache()
commit0fec8414a35d980665e5bc47183f9f888158e087
authorBoris Gjenero <boris.gjenero@gmail.com>
Sat, 27 Oct 2012 16:24:14 +0000 (27 12:24 -0400)
committerMarcin Bukat <marcin.bukat@gmail.com>
Thu, 24 Jan 2013 10:26:23 +0000 (24 11:26 +0100)
tree8484dd2be3f824f924537c6896a66463103a09ac
parent1789b717bab157a03ed5fcf448df035c59729cf7
Fix FS#12391 : Memory corruption on PP502x after commit_discard_idcache()

In commit_discard_idcache(), cache lines were marked as invalid. When
some cache lines are marked as invalid, memory corruption can occur.
This caused instability when using PP502x ATA DMA because of the many
more calls to that function. Here, commit_discard_idcache() is changed
to avoid the problem. Also, the cache is filled after being enabled to
to ensure there are never any cache lines that aren't marked as valid.

Change-Id: Ia26300acef6b0573c1f40299c496ee5cbda3dac8
Reviewed-on: http://gerrit.rockbox.org/339
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
Tested-by: Szymon Dziok <b0hoon@o2.pl>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
firmware/target/arm/pp/system-pp502x.c