Cortex-R52+ asynchronous external abort

Hi

The R52+ CPU goes to data abort and the DFSR is 0xA11 (asynchronous external abort for write access). I saw some tickets indicating that cache could lead to asynchronous abort.

I wonder whether the write-through cache can generate such asynchronous external abort ?

BR, Grace

Parents
  • I don't know specifically for the Cortex-R52, but in general yes - you could see async aborts with write-through caches.  

    I suspect the problem you've read about is the write-back of dirty data on cache line eviction.  That specific problem doesn't happen with write-through caches, as there are no dirty lines.  However, you can get a similar problem whenever the write is buffered in someway.  That is, when the store instruction is permitted to be retired before he write it caused has fully happened in the memory system.  If a buffered store ultimately leads to an external abort, you've lost the relationship to the instruction that caused the write making it asynchronous.

Reply
  • I don't know specifically for the Cortex-R52, but in general yes - you could see async aborts with write-through caches.  

    I suspect the problem you've read about is the write-back of dirty data on cache line eviction.  That specific problem doesn't happen with write-through caches, as there are no dirty lines.  However, you can get a similar problem whenever the write is buffered in someway.  That is, when the store instruction is permitted to be retired before he write it caused has fully happened in the memory system.  If a buffered store ultimately leads to an external abort, you've lost the relationship to the instruction that caused the write making it asynchronous.

Children