Visible to Intel only — GUID: jwp1685737261004
Ixiasoft
Visible to Intel only — GUID: jwp1685737261004
Ixiasoft
3.2.2. 1946160: Atomic instructions with acquire semantics might not be ordered with respect to older stores with release semantics
Description
Under certain conditions, atomic instructions with acquire semantics might not be ordered with respect to older instructions with release semantics. The older instruction could either be a store or store atomic.
Conditions
- Load atomic, CAS or SWP with acquire but no release semantics is executed.
- There is an older instruction with release semantics and it could either be a store to non-WB memory or a store atomic instruction that is executed as a far atomic.
Impact
If the above condition are met, a memory ordering violation might happen.
Workaround
This erratum can be avoided by inserting a DMB ST before acquire atomic instructions without release semantics. This can be done through the following write sequence to several IMPLEMENTATION DEFINED registers:
LDR x0,=0x3 ; MSR S3_6_c15_c8_0,x0 LDR x0,= 0x10E3900002 ; MSR S3_6_c15_c8_2,x0 LDR x0,= 0x10FFF00083 ; MSR S3_6_c15_c8_3,x0 LDR x0,= 0x2001003FF ; MSR S3_6_c15_c8_1,x0 LDR x0,=0x4 ; MSR S3_6_c15_c8_0,x0 LDR x0,= 0x10E3800082 ; MSR S3_6_c15_c8_2,x0 LDR x0,= 0x10FFF00083 ; MSR S3_6_c15_c8_3,x0 LDR x0,= 0x2001003FF ; MSR S3_6_c15_c8_1,x0 LDR x0,=0x5 ; MSR S3_6_c15_c8_0,x0 LDR x0,= 0x10E3800200 ; MSR S3_6_c15_c8_2,x0 LDR x0,= 0x10FFF003E0 ; MSR S3_6_c15_c8_3,x0 LDR x0,= 0x2001003FF ; MSR S3_6_c15_c8_1,x0 ISB
Category
Category B