forked from Imagelibrary/rtems
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.
This commit is contained in:
committed by
Sebastian Huber
parent
3a7f5887f3
commit
fc6a0ae1a6
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user