David Hendricks (dhendrix@chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2913
-gerrit
commit 51a2844d0c29f31875058e90720c6222ccea264a Author: David Hendricks dhendrix@chromium.org Date: Mon Mar 25 19:50:11 2013 -0700
armv7: fixes for dcache_op_by_mva()
This fixes a couple issues with dcache_op_by_mva(): - Adds missing DSB at the end - Removes unneded -1 from loop terminating condition.
Change-Id: I098388614397c1e53079c017d56b1cf3ef273676 Signed-off-by: David Hendricks dhendrix@chromium.org --- src/arch/armv7/lib/cache.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/arch/armv7/lib/cache.c b/src/arch/armv7/lib/cache.c index 2686db7..33b857d 100644 --- a/src/arch/armv7/lib/cache.c +++ b/src/arch/armv7/lib/cache.c @@ -183,7 +183,7 @@ static void dcache_op_mva(unsigned long addr, unsigned long line, i;
line = line_bytes(); - for (i = addr & ~(line - 1); i < addr + len - 1; i += line) { + for (i = addr & ~(line - 1); i < addr + len; i += line) { switch(op) { case OP_DCCIMVAC: dccimvac(addr); @@ -192,6 +192,8 @@ static void dcache_op_mva(unsigned long addr, break; } } + + dsb(); }
void dcache_clean_by_mva(unsigned long addr, unsigned long len)