forked from Imagelibrary/rtems
bsps: Rework cache manager implementation
The previous cache manager support used a single souce file (cache_manager.c) which included an implementation header (cache_.h). This required the use of specialized include paths to find the right header file. Change this to include a generic implementation header (cacheimpl.h) in specialized source files. Use the following directories and files: * bsps/shared/cache * bsps/@RTEMS_CPU@/shared/cache * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c Update #3285.
This commit is contained in:
51
bsps/sparc/leon2/start/cache.c
Normal file
51
bsps/sparc/leon2/start/cache.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* SPARC Cache Manager Support
|
||||
*/
|
||||
|
||||
/*
|
||||
* CACHE MANAGER: The following functions are CPU-specific.
|
||||
* They provide the basic implementation for the rtems_* cache
|
||||
* management routines. If a given function has no meaning for the CPU,
|
||||
* it does nothing by default.
|
||||
*
|
||||
* FIXME: Some functions simply have not been implemented.
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define CPU_INSTRUCTION_CACHE_ALIGNMENT 0
|
||||
|
||||
#define CPU_CACHE_SUPPORT_PROVIDES_RANGE_FUNCTIONS
|
||||
|
||||
static inline void _CPU_cache_invalidate_entire_instruction ( void )
|
||||
{
|
||||
__asm__ volatile ("flush");
|
||||
}
|
||||
|
||||
static inline void _CPU_cache_invalidate_instruction_range(
|
||||
const void *i_addr,
|
||||
size_t n_bytes
|
||||
)
|
||||
{
|
||||
__asm__ volatile ("flush");
|
||||
}
|
||||
|
||||
/* XXX these need to be addressed */
|
||||
|
||||
static inline void _CPU_cache_freeze_instruction ( void )
|
||||
{
|
||||
}
|
||||
|
||||
static inline void _CPU_cache_unfreeze_instruction ( void )
|
||||
{
|
||||
}
|
||||
|
||||
static inline void _CPU_cache_enable_instruction ( void )
|
||||
{
|
||||
}
|
||||
|
||||
static inline void _CPU_cache_disable_instruction ( void )
|
||||
{
|
||||
}
|
||||
|
||||
#include "../../../shared/cache/cacheimpl.h"
|
||||
Reference in New Issue
Block a user