Avi Weiss created an issue: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5581



## Summary
`bsp_start_copy_sections_compact` copies `.fast_text` into RAM.  

We do currently flush the D-cache (`rtems_cache_flush_multiple_data_lines`) but 
don't invalidate the I-cache.  


## Steps to reproduce
Code review. In `bspstarthooks.c`:
```c
...
bsp_start_copy_sections_compact();
  bsp_start_clear_bss();

  size =(size_t) bsp_section_fast_text_size;
  RTEMS_OBFUSCATE_VARIABLE( size );

  if ( size != 0 ) {
    rtems_cache_flush_multiple_data_lines( bsp_section_fast_text_begin, size );
  }
...
```

## Expected behaviour
Need to add `rtems_cache_invalidate_multiple_instruction_lines` like in 
`bsps/arm/tms570/start/tms570-pom.c`, i.e.:
```c
  rtems_cache_flush_multiple_data_lines(vec_overlay_start, 64);
  rtems_cache_invalidate_multiple_instruction_lines(vec_overlay_start, 64);
```
or use the combined wrapper `rtems_cache_instruction_sync_after_code_change` 
which already exists for this purpose.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5581
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to