diff options
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libcpu/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libcpu/shared/src/cache_manager.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/ChangeLog b/c/src/lib/libcpu/ChangeLog index 304a2a5a87..f8ad21f3e6 100644 --- a/c/src/lib/libcpu/ChangeLog +++ b/c/src/lib/libcpu/ChangeLog @@ -1,3 +1,8 @@ +2000-10-12 Nick Simon <Nick.SIMON@syntegra.bt.co.uk> + + * shared/src/cache_manager.c: Minor bug fix -- changed > to >= so the + last address is invalidated. + 2000-08-10 Charles-Antoine Gauthier <charles.gauthier@nrc.ca> * shared/src/cache_manager.c (rtems_cache_flush_multiple_data_lines, diff --git a/c/src/lib/libcpu/shared/src/cache_manager.c b/c/src/lib/libcpu/shared/src/cache_manager.c index ba39f25a39..01ee06ce81 100644 --- a/c/src/lib/libcpu/shared/src/cache_manager.c +++ b/c/src/lib/libcpu/shared/src/cache_manager.c @@ -95,7 +95,7 @@ rtems_cache_invalidate_multiple_data_lines( const void * d_addr, size_t n_bytes final_address = (void *)((size_t)d_addr + n_bytes - 1); d_addr = (void *)((size_t)d_addr & ~(CPU_DATA_CACHE_ALIGNMENT - 1)); - while( final_address > d_addr ) { + while( final_address >= d_addr ) { _CPU_cache_invalidate_1_data_line( d_addr ); d_addr = (void *)((size_t)d_addr + CPU_DATA_CACHE_ALIGNMENT); } |