This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Precise abort vs synchronous abort in armv7

I am new to arm architecture. I am reading exception handling from ARM cortex-A series programming guide. I have confusion about the technical difference between precise abort and synchronous abort or imprecise abort and synchronous abort. Are they refer to the same abort or they are separated?

What is precise asynchronous abort or imprecise asynchronous abort? These terms are very confusing.

Thank you

Parents
  • An abort is described as synchronous if it is generated as a result of execution or
    attempted execution of the instruction stream, and where the return address will
    provide details of the instruction that caused it.


    An asynchronous abort is not generated by executing instructions, while the
    return address might not always provide details of what caused the abort.

     Quoted from ARM Cortex-A series Programming Guide

Reply
  • An abort is described as synchronous if it is generated as a result of execution or
    attempted execution of the instruction stream, and where the return address will
    provide details of the instruction that caused it.


    An asynchronous abort is not generated by executing instructions, while the
    return address might not always provide details of what caused the abort.

     Quoted from ARM Cortex-A series Programming Guide

Children
  • A precise abort occurs on the instruction associated with the access that triggers the abort exception. An imprecise abort can occur on an instruction subsequent to the instruction associated with the access that triggers the abort exception.

    Quoted from Cortex-A8 Technical Reference Manual

  • Now according to my understanding, asynchronous and imprecise aborts are same thing. And if they are same, then what is precise asynchronous abort?