diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/include/cache_.h')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/include/cache_.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/include/cache_.h b/c/src/lib/libbsp/sparc/leon3/include/cache_.h index 70c1e2c9fc..c7813678b9 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/cache_.h +++ b/c/src/lib/libbsp/sparc/leon3/include/cache_.h @@ -134,7 +134,10 @@ static inline void _CPU_cache_unfreeze_data(void) static inline void _CPU_cache_invalidate_entire_instruction(void) { - __asm__ volatile ("flush"); + uint32_t cache_reg = leon3_get_cache_control_register(); + + cache_reg |= LEON3_REG_CACHE_CTRL_FI; + leon3_set_cache_control_register(cache_reg); } static inline void _CPU_cache_invalidate_instruction_range( |