diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/armv7/cache.c | 13 | ||||
-rw-r--r-- | src/arch/armv7/include/arch/cache.h | 7 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/arch/armv7/cache.c b/src/arch/armv7/cache.c index b4a937bf43..1f466ce232 100644 --- a/src/arch/armv7/cache.c +++ b/src/arch/armv7/cache.c @@ -213,16 +213,15 @@ static unsigned int line_bytes(void) * perform cache maintenance on a particular memory range rather than the * entire cache. */ -static void dcache_op_mva(unsigned long addr, - unsigned long len, enum dcache_op op) +static void dcache_op_mva(void const *addr, size_t len, enum dcache_op op) { unsigned long line, linesize; linesize = line_bytes(); - line = addr & ~(linesize - 1); + line = (uint32_t)addr & ~(linesize - 1); dsb(); - while (line < addr + len) { + while ((void *)line < addr + len) { switch(op) { case OP_DCCIMVAC: dccimvac(line); @@ -241,17 +240,17 @@ static void dcache_op_mva(unsigned long addr, isb(); } -void dcache_clean_by_mva(unsigned long addr, unsigned long len) +void dcache_clean_by_mva(void const *addr, size_t len) { dcache_op_mva(addr, len, OP_DCCMVAC); } -void dcache_clean_invalidate_by_mva(unsigned long addr, unsigned long len) +void dcache_clean_invalidate_by_mva(void const *addr, size_t len) { dcache_op_mva(addr, len, OP_DCCIMVAC); } -void dcache_invalidate_by_mva(unsigned long addr, unsigned long len) +void dcache_invalidate_by_mva(void const *addr, size_t len) { dcache_op_mva(addr, len, OP_DCIMVAC); } diff --git a/src/arch/armv7/include/arch/cache.h b/src/arch/armv7/include/arch/cache.h index 0756f11813..1cd9958fc4 100644 --- a/src/arch/armv7/include/arch/cache.h +++ b/src/arch/armv7/include/arch/cache.h @@ -32,6 +32,7 @@ #ifndef ARMV7_CACHE_H #define ARMV7_CACHE_H +#include <stddef.h> #include <stdint.h> /* SCTLR bits */ @@ -290,13 +291,13 @@ static inline void write_sctlr(uint32_t val) void dcache_clean_invalidate_all(void); /* dcache clean by modified virtual address to PoC */ -void dcache_clean_by_mva(unsigned long addr, unsigned long len); +void dcache_clean_by_mva(void const *addr, size_t len); /* dcache clean and invalidate by modified virtual address to PoC */ -void dcache_clean_invalidate_by_mva(unsigned long addr, unsigned long len); +void dcache_clean_invalidate_by_mva(void const *addr, size_t len); /* dcache invalidate by modified virtual address to PoC */ -void dcache_invalidate_by_mva(unsigned long addr, unsigned long len); +void dcache_invalidate_by_mva(void const *addr, size_t len); void dcache_clean_all(void); |