You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
States 1
0:X3=1;
No
Witnesses
Positive: 0 Negative: 1
when there should be two (0:X3=0 when the LDR in P0 reads PTE(y)=(oa:PA(z)). The problem seems to be that herd7 won't automatically add an initial write for z. A workaround is to explicitly initialize z (e.g., [z]=0;) or help herd7 add the default initialization for z (for example, 0:X0=z;).
I had a quick look at this and the solution I come up with is not straightforward, primarily because pteval is architecture specific. Is this a known issue that it was intentionally ignored?
Is this a known issue that it was intentionally ignored?
I would not say that exactly. But given that there is a simple workaround, as you write yourself. I may have run across the problem and worked around it...
For the following litmus test:
herd7 produces only one execution:
when there should be two (
0:X3=0
when the LDR in P0 readsPTE(y)=(oa:PA(z)
). The problem seems to be that herd7 won't automatically add an initial write forz
. A workaround is to explicitly initializez
(e.g.,[z]=0;
) or help herd7 add the default initialization forz
(for example,0:X0=z;
).This issue was reported by @chacon01.
The text was updated successfully, but these errors were encountered: