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

recovery from BTAC or GHB parity error

Hello,

As mentionned in the ARM Developer Guide*, a BTAC or a GHB parity error in ARM Cortex-A9 CPU only results in branch misprediction which is detected and corrected.

From my understanding, these structures store addresses to instructions. So if one entry is corrupted, it will point to a bad address potentially in an initialized memory address range (containing garbage data) or to an unmapped MMU page.

As a result, especially after BTAC and GHB have been invalidated, the first branch predictions will only forward these corrupted addresses to the PC register.

Therefore I don't quite understand how the entry parity error leads to a misprediction, and can even be corrected.

Thank you for any help!

Florian

*Source: developer.arm.com/.../ghb-and-btac-data-corruption

Parents Reply Children
No data