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
This kind of processor micro-architecture discussion should be routed to support@arm.com if you are a valid Arm licensee.