stm32: Simplify D-cache clean and invalidate macros.
The inline functions that these are wrappers around already account for cache line size. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
parent
bf68bb95f9
commit
5fe99013b6
@ -632,12 +632,12 @@
|
||||
|
||||
// D-cache clean/invalidate helpers
|
||||
#if __DCACHE_PRESENT == 1
|
||||
#define MP_HAL_CLEANINVALIDATE_DCACHE(addr, size) \
|
||||
(SCB_CleanInvalidateDCache_by_Addr((uint32_t *)((uint32_t)addr & ~0x1f), \
|
||||
((uint32_t)((uint8_t *)addr + size + 0x1f) & ~0x1f) - ((uint32_t)addr & ~0x1f)))
|
||||
#define MP_HAL_CLEAN_DCACHE(addr, size) \
|
||||
(SCB_CleanDCache_by_Addr((uint32_t *)((uint32_t)addr & ~0x1f), \
|
||||
((uint32_t)((uint8_t *)addr + size + 0x1f) & ~0x1f) - ((uint32_t)addr & ~0x1f)))
|
||||
// Note: The SCB_Clean<...> functions automatically align their arguments to cover full cache lines.
|
||||
// CLEANINVALIDATE will write back (flush) any dirty lines in this region to RAM, then
|
||||
// invalidate (evict) the whole region from the cache.
|
||||
#define MP_HAL_CLEANINVALIDATE_DCACHE(addr, size) SCB_CleanInvalidateDCache_by_Addr((volatile void *)(addr), (size))
|
||||
// CLEAN will write back (flush) any dirty lines in this region to RAM.
|
||||
#define MP_HAL_CLEAN_DCACHE(addr, size) SCB_CleanDCache_by_Addr((volatile void *)(addr), (size))
|
||||
#else
|
||||
#define MP_HAL_CLEANINVALIDATE_DCACHE(addr, size)
|
||||
#define MP_HAL_CLEAN_DCACHE(addr, size)
|
||||
|
Loading…
Reference in New Issue
Block a user