blob: 411e6993499d7888862ee1b040e6203954fed20a [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (c) 2017, Linaro Limited
*/
#ifndef __KERNEL_CACHE_HELPERS_H
#define __KERNEL_CACHE_HELPERS_H
#ifndef __ASSEMBLER__
#include <types_ext.h>
#endif
/* Data Cache set/way op type defines */
#define DCACHE_OP_INV 0x0
#define DCACHE_OP_CLEAN_INV 0x1
#define DCACHE_OP_CLEAN 0x2
#ifndef __ASSEMBLER__
void dcache_cleaninv_range(void *addr, size_t size);
void dcache_clean_range(void *addr, size_t size);
void dcache_inv_range(void *addr, size_t size);
void dcache_clean_range_pou(void *addr, size_t size);
void icache_inv_all(void);
void icache_inv_range(void *addr, size_t size);
void icache_inv_user_range(void *addr, size_t size);
void dcache_op_louis(unsigned long op_type);
void dcache_op_all(unsigned long op_type);
void dcache_op_level1(unsigned long op_type);
void dcache_op_level2(unsigned long op_type);
void dcache_op_level3(unsigned long op_type);
#endif /*!__ASSEMBLER__*/
#endif /*__KERNEL_CACHE_HELPERS_H*/