summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-11-25 08:36:58 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-11-25 16:08:16 +0100
commit42fe0d3fbbf8ace7e917eb09b36d278f30b713c8 (patch)
treeaf8190963147bea19b8afde68d1421888a37fae8 /c/src/lib/libbsp/arm/shared
parentlibcsupport: malloc_is_system_state_OK() (diff)
downloadrtems-42fe0d3fbbf8ace7e917eb09b36d278f30b713c8.tar.bz2
bsps/arm: L2C 310 avoid infinite loops
Diffstat (limited to 'c/src/lib/libbsp/arm/shared')
-rw-r--r--c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
index 63940c3d88..35c80026d4 100644
--- a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
+++ b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
@@ -882,6 +882,10 @@ l2c_310_flush_range( const void* d_addr, const size_t n_bytes )
L2C_310_MIN( ADDR_LAST, adx + L2C_310_MAX_LOCKING_BYTES );
volatile L2CC *l2cc = (volatile L2CC *) BSP_ARM_L2C_310_BASE;
+ if ( n_bytes == 0 ) {
+ return;
+ }
+
for (;
adx <= ADDR_LAST;
adx = block_end + 1,
@@ -946,6 +950,10 @@ l2c_310_invalidate_range( const void* d_addr, const size_t n_bytes )
L2C_310_MIN( ADDR_LAST, adx + L2C_310_MAX_LOCKING_BYTES );
volatile L2CC *l2cc = (volatile L2CC *) BSP_ARM_L2C_310_BASE;
+ if ( n_bytes == 0 ) {
+ return;
+ }
+
for (;
adx <= ADDR_LAST;
adx = block_end + 1,