diff options
author | Aleksandr Platonov <pam@wolpike.com> | 2014-01-14 14:40:07 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-01-14 14:40:07 +0100 |
commit | fc6a0ae1a65573e54ad5cbbddfbe124945ce5a38 (patch) | |
tree | b666d6f9a8dfb06bc779740d2eebb9e2b409c3ee /c/src/lib/libcpu/shared/src/cache_manager.c | |
parent | bsps/arm: Use _ARMV4_Exception_interrupt (diff) | |
download | rtems-fc6a0ae1a65573e54ad5cbbddfbe124945ce5a38.tar.bz2 |
rtems_cache_invalidate_multiple_instruction_lines
According with comment in
rtems_cache_invalidate_multiple_instruction_lines(), final_address
indicates the last address which needs to be invalidated. But if in
while loop we got final_address == i_addr condition then loop breaks and
final_address will not be invalidated.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libcpu/shared/src/cache_manager.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/shared/src/cache_manager.c b/c/src/lib/libcpu/shared/src/cache_manager.c index 69c422f5e4..c2c460a0d6 100644 --- a/c/src/lib/libcpu/shared/src/cache_manager.c +++ b/c/src/lib/libcpu/shared/src/cache_manager.c @@ -235,7 +235,7 @@ rtems_cache_invalidate_multiple_instruction_lines( const void * i_addr, size_t n final_address = (void *)((size_t)i_addr + n_bytes - 1); i_addr = (void *)((size_t)i_addr & ~(CPU_INSTRUCTION_CACHE_ALIGNMENT - 1)); - while( final_address > i_addr ) { + while( final_address >= i_addr ) { _CPU_cache_invalidate_1_instruction_line( i_addr ); i_addr = (void *)((size_t)i_addr + CPU_INSTRUCTION_CACHE_ALIGNMENT); } |