[PATCH 3/8] rtems: Use size_t for cache line size

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Feb 26 15:52:44 UTC 2014


A cache line cannot have a negative size.
---
 c/src/lib/libcpu/bfin/network/ethernet.c           |    2 +-
 .../new-exceptions/bspsupport/ppc_exc_alignment.c  |    2 +-
 c/src/lib/libcpu/shared/src/cache_manager.c        |    4 ++--
 cpukit/rtems/include/rtems/rtems/cache.h           |    4 ++--
 testsuites/sptests/spcache01/init.c                |    4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/c/src/lib/libcpu/bfin/network/ethernet.c b/c/src/lib/libcpu/bfin/network/ethernet.c
index 873d105..8903e03 100644
--- a/c/src/lib/libcpu/bfin/network/ethernet.c
+++ b/c/src/lib/libcpu/bfin/network/ethernet.c
@@ -629,7 +629,7 @@ static void initializeHardware(struct bfin_ethernetSoftc *sc) {
      including other status structures, so we can safely manage both the
      processor and DMA writing to them.  So this rounds up the structure
      sizes to a multiple of the cache line size. */
-  cacheAlignment = rtems_cache_get_data_line_size();
+  cacheAlignment = (int) rtems_cache_get_data_line_size();
   if (cacheAlignment == 0)
      cacheAlignment = 1;
   rxStatusSize = cacheAlignment * ((sizeof(rxStatusT) + cacheAlignment - 1) /
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_alignment.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_alignment.c
index fc144e3..3b9d06f 100644
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_alignment.c
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_alignment.c
@@ -21,7 +21,7 @@ int ppc_exc_alignment_handler(BSP_Exception_frame *frame, unsigned excNum)
 
   /* Do we have a dcbz instruction? */
   if ((opcode & 0xffe007ff) == 0x7c0007ec) {
-    unsigned clsz = (unsigned) rtems_cache_get_data_line_size();
+    unsigned clsz = rtems_cache_get_data_line_size();
     unsigned a = (opcode >> 16) & 0x1f;
     unsigned b = (opcode >> 11) & 0x1f;
     unsigned *regs = &frame->GPR0;
diff --git a/c/src/lib/libcpu/shared/src/cache_manager.c b/c/src/lib/libcpu/shared/src/cache_manager.c
index c2c460a..8fa0477 100644
--- a/c/src/lib/libcpu/shared/src/cache_manager.c
+++ b/c/src/lib/libcpu/shared/src/cache_manager.c
@@ -149,7 +149,7 @@ rtems_cache_invalidate_entire_data( void )
 /*
  * This function returns the data cache granularity.
  */
-int
+size_t
 rtems_cache_get_data_line_size( void )
 {
 #if defined(CPU_DATA_CACHE_ALIGNMENT)
@@ -264,7 +264,7 @@ rtems_cache_invalidate_entire_instruction( void )
 /*
  * This function returns the instruction cache granularity.
  */
-int
+size_t
 rtems_cache_get_instruction_line_size( void )
 {
 #if defined(CPU_INSTRUCTION_CACHE_ALIGNMENT)
diff --git a/cpukit/rtems/include/rtems/rtems/cache.h b/cpukit/rtems/include/rtems/rtems/cache.h
index a8520d7..2faf620 100644
--- a/cpukit/rtems/include/rtems/rtems/cache.h
+++ b/cpukit/rtems/include/rtems/rtems/cache.h
@@ -47,7 +47,7 @@ extern "C" {
  * @retval 0 No data cache is present.
  * @retval positive The data cache line size in bytes.
  */
-int rtems_cache_get_data_line_size( void );
+size_t rtems_cache_get_data_line_size( void );
 
 /**
  * @brief Returns the instruction cache line size in bytes.
@@ -58,7 +58,7 @@ int rtems_cache_get_data_line_size( void );
  * @retval 0 No instruction cache is present.
  * @retval positive The instruction cache line size in bytes.
  */
-int rtems_cache_get_instruction_line_size( void );
+size_t rtems_cache_get_instruction_line_size( void );
 
 /**
  * @brief Flushes multiple data cache lines.
diff --git a/testsuites/sptests/spcache01/init.c b/testsuites/sptests/spcache01/init.c
index d9eb053..f302837 100644
--- a/testsuites/sptests/spcache01/init.c
+++ b/testsuites/sptests/spcache01/init.c
@@ -165,7 +165,7 @@ static void test_timing(void)
   uint64_t d[3];
 
   printf(
-    "data cache line size %i bytes\n",
+    "data cache line size %zi bytes\n",
     rtems_cache_get_data_line_size()
   );
 
@@ -290,7 +290,7 @@ static void test_timing(void)
   );
 
   printf(
-    "instruction cache line size %i bytes\n",
+    "instruction cache line size %zi bytes\n",
     rtems_cache_get_instruction_line_size()
   );
 
-- 
1.7.7




More information about the devel mailing list