| // SPDX-License-Identifier: GPL-2.0+ |
| /* |
| * Copyright 2020, Heinrich Schuchardt <xypron.glpk@gmx.de> |
| */ |
| |
| #include <cpu_func.h> |
| #include <asm/state.h> |
| |
| void flush_cache(unsigned long addr, unsigned long size) |
| { |
| /* Clang uses (char *) parameters, GCC (void *) */ |
| __builtin___clear_cache((void *)addr, (void *)(addr + size)); |
| } |
| |
| void invalidate_icache_all(void) |
| { |
| struct sandbox_state *state = state_get_current(); |
| |
| /* Clang uses (char *) parameters, GCC (void *) */ |
| __builtin___clear_cache((void *)state->ram_buf, |
| (void *)(state->ram_buf + state->ram_size)); |
| } |