Does anyone know what ERG is on the Apple A5, A5X, A6, and A6X processors?
We encountered an unclear error with the LDREX / STREX instructions, and the behavior is different from A5 and A6. The only explanation I have is that they have a different ERG, but it cannot find anything. I also could not find a way to get this value, the MRC command seems to be disabled in user mode on iOS.
Thank!
In OMAP 4460 (ARM Cortex-A9, similar to Apple A5 / A5X) ERG is 32 bytes (which is the same as cache line size).
, A6/A6X ( , , Apple), - 64 , ERG.
512 (2 ).
ERG ldrex/strex.
ldrex, ERG, ldrex, .
, , ldrex/strex , ldrex/strex (, , ldex).
ldrex/strex ( ERG ), .
.
ldrex/strex, ARM " " " ". , ldrex/strex , - ldrexs , strex, - ERG ldrex/strex.
ARM , , , ldrex/strex.