diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-11-25 08:36:58 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-11-25 16:08:16 +0100 |
commit | 42fe0d3fbbf8ace7e917eb09b36d278f30b713c8 (patch) | |
tree | af8190963147bea19b8afde68d1421888a37fae8 /c/src/lib/libbsp/arm/shared | |
parent | libcsupport: malloc_is_system_state_OK() (diff) | |
download | rtems-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_.h | 8 |
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, |