1292932Sdim// SPDX-License-Identifier: GPL-2.0+ 2292932Sdim/* 3353358Sdim * Copyright 2020, Heinrich Schuchardt <xypron.glpk@gmx.de> 4353358Sdim */ 5353358Sdim 6292932Sdim#include <cpu_func.h> 7292932Sdim#include <asm/state.h> 8292932Sdim 9292932Sdimvoid flush_cache(unsigned long addr, unsigned long size) 10292932Sdim{ 11292932Sdim /* Clang uses (char *) parameters, GCC (void *) */ 12292932Sdim __builtin___clear_cache((void *)addr, (void *)(addr + size)); 13321369Sdim} 14314564Sdim 15292932Sdimvoid invalidate_icache_all(void) 16292932Sdim{ 17292932Sdim struct sandbox_state *state = state_get_current(); 18360784Sdim 19360784Sdim /* Clang uses (char *) parameters, GCC (void *) */ 20360784Sdim __builtin___clear_cache((void *)state->ram_buf, 21360784Sdim (void *)(state->ram_buf + state->ram_size)); 22360784Sdim} 23360784Sdim