This commit adds s390.cat and s390.cfg files to allow users to check litmus tests for s390-specific code. Note that this change only enables herd7 checking of C-language litmus tests. Larger changes are required to enable the litmus7 and klitmus7 tools to check litmus tests on real hardare. Suggested-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Suggested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> [ paulmck: Add fixes suggested by Alan Stern. ] --- tools/memory-model/s390.cat | 18 ++++++++++++++++++ tools/memory-model/s390.cfg | 21 +++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tools/memory-model/s390.cat create mode 100644 tools/memory-model/s390.cfg diff --git a/tools/memory-model/s390.cat b/tools/memory-model/s390.cat new file mode 100644 index 000000000000..216bf33d3ffe --- /dev/null +++ b/tools/memory-model/s390.cat @@ -0,0 +1,18 @@ +s390 + +include "fences.cat" +include "cos.cat" + +(* Fundamental coherence ordering *) +let com = rf | co | fr +acyclic po-loc | com as coherence + +(* Atomic *) +empty rmw & (fre;coe) as atom + +(* Fences *) +let mb = [M] ; fencerel(Mb) ; [M] + +(* TSO with multicopy atomicity (tso-mca) *) +let po-ghb = ([R] ; po ; [M]) | ([M] ; po ; [W]) +acyclic mb | po-ghb | fr | rf | co as tso-mca diff --git a/tools/memory-model/s390.cfg b/tools/memory-model/s390.cfg new file mode 100644 index 000000000000..d77e05d2395c --- /dev/null +++ b/tools/memory-model/s390.cfg @@ -0,0 +1,21 @@ +macros linux-kernel.def +bell linux-kernel.bell +model s390.cat +graph columns +squished true +showevents noregs +movelabel true +fontsize 8 +xscale 2.0 +yscale 1.5 +arrowsize 0.8 +showinitrf false +showfinalrf false +showinitwrites false +splines spline +pad 0.1 +edgeattr hb,color,indigo +edgeattr co,color,blue +edgeattr mb,color,darkgreen +edgeattr wmb,color,darkgreen +edgeattr rmb,color,darkgreen -- 2.5.2