ic iallu doesn't broadcast at all, replace the "icache invalidate all" function

This commit is contained in:
TuxSH 2018-02-18 23:45:44 +01:00
parent 0cc2cf0dc0
commit 9c588d4965
2 changed files with 9 additions and 9 deletions

View File

@ -15,6 +15,6 @@ void invalidate_dcache_all(void);
void flush_dcache_range(const void *start, const void *end);
void invalidate_dcache_range(const void *start, const void *end);
void invalidate_icache_all(void);
void invalidate_icache_inner_shareable(void);
#endif

View File

@ -213,17 +213,17 @@ invalidate_dcache_range:
ret
/*
* void __asm_invalidate_icache_all(void) (-> invalidate_icache_all)
* void __asm_invalidate_icache_all(void) (-> invalidate_icache_inner_shareable)
*
* invalidate all icache entries.
*/
.section .text.invalidate_icache_all, "ax", %progbits
.type invalidate_icache_all, %function
.global invalidate_icache_all
invalidate_icache_all:
dsb sy
.section .text.invalidate_icache_inner_shareable, "ax", %progbits
.type invalidate_icache_inner_shareable, %function
.global invalidate_icache_inner_shareable
invalidate_icache_inner_shareable:
dsb ish
isb
ic iallu
dsb sy
ic ialluis
dsb ish
isb
ret