This patch series adds litmus tests to test that MTTCG is properly following the consistency semantics. This series has the one possible re-ordering test on x86 and some subset of tests for ARM64.
We run these tests using the qemu-user binary of the corresponding architecture(set the QEMU env variable in run.sh). These tests were generated using the litmus tool available here: http://diy.inria.fr/sources/index.html The tests can be run locally by running 'make tests' in the test directory. This has been added to travis-ci so that the test is run automatically. The tests have been verified to pass with the fence generation patch series. The tests will fail otherwise. Pranith Kumar (4): tests/tcg: Add x86 mttcg litmus test Enable x86 mttcg litmus tests in travis CI tests/tcg: Add mttcg ARM64 litmus tests Enable aarch64 mttcg litmus tests in travis CI .travis.yml | 6 + tests/tcg/mttcg/aarch64/ARMARM00.c | 501 +++++++++++++ tests/tcg/mttcg/aarch64/ARMARM01.c | 504 +++++++++++++ tests/tcg/mttcg/aarch64/ARMARM02.c | 571 +++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM03.c | 498 +++++++++++++ tests/tcg/mttcg/aarch64/ARMARM04+BIS.c | 556 +++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM04+TER.c | 538 ++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM04.c | 556 +++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM05.c | 553 ++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM06+AP+AA.c | 581 +++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM06+AP+AP.c | 581 +++++++++++++++ tests/tcg/mttcg/aarch64/ARMARM06.c | 581 +++++++++++++++ tests/tcg/mttcg/aarch64/Makefile | 52 ++ tests/tcg/mttcg/aarch64/README.txt | 22 + tests/tcg/mttcg/aarch64/affinity.c | 159 +++++ tests/tcg/mttcg/aarch64/affinity.h | 34 + tests/tcg/mttcg/aarch64/comp.sh | 30 + tests/tcg/mttcg/aarch64/litmus_rand.c | 64 ++ tests/tcg/mttcg/aarch64/litmus_rand.h | 29 + tests/tcg/mttcg/aarch64/outs.c | 148 ++++ tests/tcg/mttcg/aarch64/outs.h | 49 ++ tests/tcg/mttcg/aarch64/run.sh | 351 +++++++++ tests/tcg/mttcg/aarch64/show.awk | 2 + tests/tcg/mttcg/aarch64/utils.c | 1148 ++++++++++++++++++++++++++++++ tests/tcg/mttcg/aarch64/utils.h | 275 +++++++ tests/tcg/mttcg/x86/Makefile | 42 ++ tests/tcg/mttcg/x86/README.txt | 22 + tests/tcg/mttcg/x86/SAL.c | 491 +++++++++++++ tests/tcg/mttcg/x86/affinity.c | 159 +++++ tests/tcg/mttcg/x86/affinity.h | 34 + tests/tcg/mttcg/x86/comp.sh | 10 + tests/tcg/mttcg/x86/litmus_rand.c | 64 ++ tests/tcg/mttcg/x86/litmus_rand.h | 29 + tests/tcg/mttcg/x86/outs.c | 148 ++++ tests/tcg/mttcg/x86/outs.h | 49 ++ tests/tcg/mttcg/x86/run.sh | 56 ++ tests/tcg/mttcg/x86/show.awk | 2 + tests/tcg/mttcg/x86/utils.c | 1148 ++++++++++++++++++++++++++++++ tests/tcg/mttcg/x86/utils.h | 275 +++++++ 39 files changed, 10918 insertions(+) create mode 100644 tests/tcg/mttcg/aarch64/ARMARM00.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM01.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM02.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM03.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM04+BIS.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM04+TER.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM04.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM05.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM06+AP+AA.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM06+AP+AP.c create mode 100644 tests/tcg/mttcg/aarch64/ARMARM06.c create mode 100644 tests/tcg/mttcg/aarch64/Makefile create mode 100644 tests/tcg/mttcg/aarch64/README.txt create mode 100644 tests/tcg/mttcg/aarch64/affinity.c create mode 100644 tests/tcg/mttcg/aarch64/affinity.h create mode 100644 tests/tcg/mttcg/aarch64/comp.sh create mode 100644 tests/tcg/mttcg/aarch64/litmus_rand.c create mode 100644 tests/tcg/mttcg/aarch64/litmus_rand.h create mode 100644 tests/tcg/mttcg/aarch64/outs.c create mode 100644 tests/tcg/mttcg/aarch64/outs.h create mode 100755 tests/tcg/mttcg/aarch64/run.sh create mode 100644 tests/tcg/mttcg/aarch64/show.awk create mode 100644 tests/tcg/mttcg/aarch64/utils.c create mode 100644 tests/tcg/mttcg/aarch64/utils.h create mode 100644 tests/tcg/mttcg/x86/Makefile create mode 100644 tests/tcg/mttcg/x86/README.txt create mode 100644 tests/tcg/mttcg/x86/SAL.c create mode 100644 tests/tcg/mttcg/x86/affinity.c create mode 100644 tests/tcg/mttcg/x86/affinity.h create mode 100644 tests/tcg/mttcg/x86/comp.sh create mode 100644 tests/tcg/mttcg/x86/litmus_rand.c create mode 100644 tests/tcg/mttcg/x86/litmus_rand.h create mode 100644 tests/tcg/mttcg/x86/outs.c create mode 100644 tests/tcg/mttcg/x86/outs.h create mode 100755 tests/tcg/mttcg/x86/run.sh create mode 100644 tests/tcg/mttcg/x86/show.awk create mode 100644 tests/tcg/mttcg/x86/utils.c create mode 100644 tests/tcg/mttcg/x86/utils.h -- 2.9.2