diff options
Diffstat (limited to 'include/bsp/cache_.h')
-rw-r--r-- | include/bsp/cache_.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/bsp/cache_.h b/include/bsp/cache_.h new file mode 100644 index 0000000000..ed2053858e --- /dev/null +++ b/include/bsp/cache_.h @@ -0,0 +1,43 @@ +/* + * COPYRIGHT (c) 2014 Hesham ALMatary <heshamelmatary@gmail.com> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifndef LIBBSP_OR1K_SHARED_CACHE_H +#define LIBBSP_OR1K_SHARED_CACHE_H + +#include <assert.h> +#include <bsp.h> +#include <rtems/rtems/intr.h> + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* These two defines also ensure that the rtems_cache_* functions have bodies */ +#define CPU_DATA_CACHE_ALIGNMENT 32 +#define CPU_INSTRUCTION_CACHE_ALIGNMENT 32 + +#define CPU_CACHE_SUPPORT_PROVIDES_CACHE_SIZE_FUNCTIONS 1 + +static inline size_t +_CPU_cache_get_data_cache_size( const uint32_t level ) +{ + return (level == 0 || level == 1)? 8192 : 0; +} + +static inline size_t +_CPU_cache_get_instruction_cache_size( const uint32_t level ) +{ + return (level == 0 || level == 1)? 8192 : 0; +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBBSP_OR1K_SHARED_CACHE_H */ |