[rtems commit] bsps/cache: Clarify range functions support

Sebastian Huber sebh at rtems.org
Mon Apr 27 08:32:55 UTC 2015


Module:    rtems
Branch:    master
Commit:    4bf2a6aa09c47636b3fc06758449c886140d1b9d
Changeset: http://git.rtems.org/rtems/commit/?id=4bf2a6aa09c47636b3fc06758449c886140d1b9d

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Apr 27 09:40:16 2015 +0200

bsps/cache: Clarify range functions support

---

 c/src/lib/libcpu/shared/include/cache.h     | 2 --
 c/src/lib/libcpu/shared/src/cache_manager.c | 8 ++++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/c/src/lib/libcpu/shared/include/cache.h b/c/src/lib/libcpu/shared/include/cache.h
index 2699791..9220a20 100644
--- a/c/src/lib/libcpu/shared/include/cache.h
+++ b/c/src/lib/libcpu/shared/include/cache.h
@@ -21,9 +21,7 @@
 #ifndef __LIBCPU_CACHE_h
 #define __LIBCPU_CACHE_h
 
-void _CPU_cache_flush_data_range(const void *d_addr, size_t n_bytes);
 void _CPU_cache_flush_1_data_line(const void *d_addr);
-void _CPU_cache_invalidate_data_range(const void *d_addr, size_t n_bytes);
 void _CPU_cache_invalidate_1_data_line(const void *d_addr);
 void _CPU_cache_freeze_data(void);
 void _CPU_cache_unfreeze_data(void);
diff --git a/c/src/lib/libcpu/shared/src/cache_manager.c b/c/src/lib/libcpu/shared/src/cache_manager.c
index 3f7a066..202ea8e 100644
--- a/c/src/lib/libcpu/shared/src/cache_manager.c
+++ b/c/src/lib/libcpu/shared/src/cache_manager.c
@@ -20,9 +20,13 @@
  *  rtems/c/src/lib/libcpu/CPU/cache_.h
  *
  *  The cache implementation header file can define
- *  CPU_CACHE_SUPPORT_PROVIDES_RANGE_FUNCTIONS
+ *
+ *    #define CPU_CACHE_SUPPORT_PROVIDES_RANGE_FUNCTIONS
+ *
  *  if it provides cache maintenance functions which operate on multiple lines.
- *  Otherwise a generic loop with single line operations will be used.
+ *  Otherwise a generic loop with single line operations will be used.  It is
+ *  strongly recommended to provide the implementation in terms of static
+ *  inline functions for performance reasons.
  *
  *  The functions below are implemented with CPU dependent inline routines
  *  found in the cache.c files for each CPU. In the event that a CPU does



More information about the vc mailing list