From: Stefano Babic Date: Thu, 22 Feb 2018 11:30:41 +0000 (+0100) Subject: bootcount: flush after storing the bootcounter X-Git-Tag: v2018.09-rc1~63^2~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1947c2d2a08fb07330d15fc30416969afbe61bbc;p=oweals%2Fu-boot.git bootcount: flush after storing the bootcounter If the bootcounter address is in a cached memory, a flush of dcache must occur after updateing the bootcounter. Issue found on i.MX6 where bootcounter is put into the internal (cached) IRAM. Signed-off-by: Stefano Babic --- diff --git a/drivers/bootcount/bootcount.c b/drivers/bootcount/bootcount.c index e00d81c934..a3162c97ed 100644 --- a/drivers/bootcount/bootcount.c +++ b/drivers/bootcount/bootcount.c @@ -18,6 +18,9 @@ __weak void bootcount_store(ulong a) raw_bootcount_store(reg, a); raw_bootcount_store(reg + 4, BOOTCOUNT_MAGIC); #endif /* defined(CONFIG_SYS_BOOTCOUNT_SINGLEWORD */ + flush_dcache_range(CONFIG_SYS_BOOTCOUNT_ADDR, + CONFIG_SYS_BOOTCOUNT_ADDR + + CONFIG_SYS_CACHELINE_SIZE); } __weak ulong bootcount_load(void)