[coreboot-gerrit] Patch set updated for coreboot: 0781831 armv7: fixes for dcache_op_by_mva()

David Hendricks (dhendrix@chromium.org) gerrit at coreboot.org
Tue Mar 26 04:57:45 CET 2013


David Hendricks (dhendrix at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2913

-gerrit

commit 078183143549f1af6bd0b97d718f336e500aeeea
Author: David Hendricks <dhendrix at 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():
    - Add missing data and instruction sync barriers.
    - Removes unneded -1 from loop terminating condition.
    
    Change-Id: I098388614397c1e53079c017d56b1cf3ef273676
    Signed-off-by: David Hendricks <dhendrix at chromium.org>
---
 src/arch/armv7/lib/cache.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/arch/armv7/lib/cache.c b/src/arch/armv7/lib/cache.c
index 2686db7..c93da36 100644
--- a/src/arch/armv7/lib/cache.c
+++ b/src/arch/armv7/lib/cache.c
@@ -183,7 +183,9 @@ 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) {
+
+	dsb();
+	for (i = addr & ~(line - 1); i < addr + len; i += line) {
 		switch(op) {
 		case OP_DCCIMVAC:
 			dccimvac(addr);
@@ -192,6 +194,7 @@ static void dcache_op_mva(unsigned long addr,
 			break;
 		}
 	}
+	isb();
 }
 
 void dcache_clean_by_mva(unsigned long addr, unsigned long len)



More information about the coreboot-gerrit mailing list