]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: Add models "z14" and "z14 ZR1"
authorAndreas Arnez <arnez@linux.ibm.com>
Tue, 2 Oct 2018 11:47:50 +0000 (13:47 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Wed, 12 Jun 2019 18:12:21 +0000 (20:12 +0200)
Add IBM z14 and IBM z14 ZR1 to the list of known machine models.  Add an
expected output variant for z14 to the s390x-specific "ecag" test case.
In README.s390, refer to a current version of the z/Architecture
Principles of Operation that describes the instructions introduced with
IBM z14.

README.s390
VEX/priv/main_main.c
VEX/pub/libvex.h
coregrind/m_machine.c
none/tests/s390x/ecag.stdout.exp-z14 [new file with mode: 0644]
tests/s390x_features.c

index 4679bb317141e482fc38fbbd9fb011b3d551e863..ac9485a6258f964b5cacd7974ed6d257319dd1d6 100644 (file)
@@ -12,7 +12,6 @@ Limitations
 - 31-bit client programs are not supported.
 - Hexadecimal floating point is not supported.
 - Transactional memory is not supported.
-- Instructions operating on vector registers are not supported.
 - memcheck, cachegrind, drd, helgrind, massif, lackey, and none are
   supported. 
 - On machine models predating z10, cachegrind will assume a z10 cache
@@ -49,6 +48,6 @@ Reading Material
 (1) Linux for zSeries ELF ABI Supplement
     http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
 (2) z/Architecture Principles of Operation
-    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr010.pdf
+    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr011.pdf
 (3) z/Architecture Reference Summary
-    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf
+    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs009.pdf
index ac3006d6917b311204ef3e3f9c7f16db312614ea..97c0bacd67e9051bf78ea3448efe1a4d629e2d36 100644 (file)
@@ -1719,6 +1719,8 @@ static const HChar* show_hwcaps_s390x ( UInt hwcaps )
       { VEX_HWCAPS_S390X_FPEXT, "fpext" },
       { VEX_HWCAPS_S390X_LSC,   "lsc" },
       { VEX_HWCAPS_S390X_PFPO,  "pfpo" },
+      { VEX_HWCAPS_S390X_VX,    "vx" },
+      { VEX_HWCAPS_S390X_MSA5,  "msa5" },
    };
    /* Allocate a large enough buffer */
    static HChar buf[sizeof prefix + 
index 1e112f50974c3dd1b878859d8390951997bc8b92..37afd185a794efec650a8f84bb4bad38b51e0368 100644 (file)
@@ -144,7 +144,9 @@ typedef
 #define VEX_S390X_MODEL_ZBC12    11
 #define VEX_S390X_MODEL_Z13      12
 #define VEX_S390X_MODEL_Z13S     13
-#define VEX_S390X_MODEL_UNKNOWN  14     /* always last in list */
+#define VEX_S390X_MODEL_Z14      14
+#define VEX_S390X_MODEL_Z14_ZR1  15
+#define VEX_S390X_MODEL_UNKNOWN  16     /* always last in list */
 #define VEX_S390X_MODEL_MASK     0x3F
 
 #define VEX_HWCAPS_S390X_LDISP (1<<6)   /* Long-displacement facility */
index 56a28d108d70dcc10b352cfded4b7c334d350ec6..cbb88472daca7234c8ffb8247476976c2ed538bd 100644 (file)
@@ -578,6 +578,8 @@ static UInt VG_(get_machine_model)(void)
       { "2828", VEX_S390X_MODEL_ZBC12 },
       { "2964", VEX_S390X_MODEL_Z13 },
       { "2965", VEX_S390X_MODEL_Z13S },
+      { "3906", VEX_S390X_MODEL_Z14 },
+      { "3907", VEX_S390X_MODEL_Z14_ZR1 },
    };
 
    Int    model, n, fh;
diff --git a/none/tests/s390x/ecag.stdout.exp-z14 b/none/tests/s390x/ecag.stdout.exp-z14
new file mode 100644 (file)
index 0000000..98f5328
--- /dev/null
@@ -0,0 +1,28 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 131072
+L1 total cachesize insn: 131072
+L1 set. assoc.     data: 8
+L1 set. assoc.     insn: 8
+L2 topology: separate data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 4194304
+L2 total cachesize insn: 2097152
+L2 set. assoc.     data: 8
+L2 set. assoc.     insn: 8
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 134217728
+L3 total cachesize insn: 134217728
+L3 set. assoc.     data: 32
+L3 set. assoc.     insn: 32
+L4 topology: unified data and instruction; shared
+L4 cache line size data: 256
+L4 cache line size insn: 256
+L4 total cachesize data: 704643072
+L4 total cachesize insn: 704643072
+L4 set. assoc.     data: 42
+L4 set. assoc.     insn: 42
index 25734abb1cb093dc63d6e07e5439b76ac7c20714..301785facaf14b115dfc47042fa299f0803946f8 100644 (file)
@@ -98,6 +98,8 @@ model_info models[] = {
    { "2828", "zBC12"  },
    { "2964", "z13"    },
    { "2965", "z13s"   },
+   { "3906", "z14"    },
+   { "3907", "z14 ZR1"},
 };