bsps/sparc: Use inline functions for cache manager

This commit is contained in:
Sebastian Huber
2015-04-27 10:11:47 +02:00
parent 4bf2a6aa09
commit 7f53035504
3 changed files with 33 additions and 47 deletions

View File

@@ -10,7 +10,7 @@ include_libcpu_HEADERS += include/libcpu/byteorder.h
include_libcpu_HEADERS += include/libcpu/access.h
noinst_PROGRAMS += cache.rel
cache_rel_SOURCES = cache/cache.c cache/cache_.h \
cache_rel_SOURCES = cache/cache_.h \
../shared/src/cache_manager.c
cache_rel_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/cache
cache_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)

View File

@@ -1,42 +0,0 @@
/*
* Cache Management Support Routines for the SPARC
*/
#include <rtems.h>
#include "cache_.h"
#if defined(HAS_INSTRUCTION_CACHE)
void _CPU_cache_invalidate_entire_instruction ( void )
{
__asm__ volatile ("flush");
}
/* XXX these need to be addressed */
void _CPU_cache_invalidate_instruction_range(
const void *i_addr,
size_t n_bytes
)
{
}
void _CPU_cache_freeze_instruction ( void )
{
}
void _CPU_cache_unfreeze_instruction ( void )
{
}
void _CPU_cache_enable_instruction ( void )
{
}
void _CPU_cache_disable_instruction ( void )
{
}
#endif
/* end of file */

View File

@@ -14,12 +14,40 @@
* FIXME: Some functions simply have not been implemented.
*/
/* This define is set in a Makefile */
#if defined(HAS_INSTRUCTION_CACHE)
#define CPU_CACHE_SUPPORT_PROVIDES_RANGE_FUNCTIONS
#define CPU_INSTRUCTION_CACHE_ALIGNMENT 0
#endif
#include <libcpu/cache.h>
#define CPU_INSTRUCTION_CACHE_ALIGNMENT 0
static inline void _CPU_cache_invalidate_entire_instruction ( void )
{
__asm__ volatile ("flush");
}
/* XXX these need to be addressed */
static inline void _CPU_cache_invalidate_1_instruction_line (
const void * i_addr )
{
}
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 )
{
}
#endif /* defined(HAS_INSTRUCTION_CACHE) */
#endif
/* end of include file */