Dirk Mueller
4aab495c91
- Add support for PR_CAPBSET_READ/DROP syscalls. Fixes false error messages with latest libcap 2.30. * 0001-Add-newer-constants-for-prctl-syscall.patch * 0002-Add-support-for-PR_CAPBSET_READ-and-_DROP-syscalls.patch - add 0001-Fix-makefile-consistency-check.patch 0001-s390x-Add-models-z14-and-z14-ZR1.patch 0001-s390x-Clean-up-s390-check-opcodes.pl.patch 0001-s390x-Add-CPU-model-for-z15.patch (bsc#1165834) OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=215
129 lines
5.1 KiB
Diff
129 lines
5.1 KiB
Diff
From 65d8e9ed96287235b33dfe40525a442dc978e3af Mon Sep 17 00:00:00 2001
|
|
From: Andreas Arnez <arnez@linux.ibm.com>
|
|
Date: Tue, 2 Oct 2018 13:47:50 +0200
|
|
Subject: [PATCH] s390x: Add models "z14" and "z14 ZR1"
|
|
|
|
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 | 5 ++---
|
|
VEX/priv/main_main.c | 2 ++
|
|
VEX/pub/libvex.h | 4 +++-
|
|
coregrind/m_machine.c | 2 ++
|
|
none/tests/s390x/ecag.stdout.exp-z14 | 28 ++++++++++++++++++++++++++++
|
|
tests/s390x_features.c | 2 ++
|
|
6 files changed, 39 insertions(+), 4 deletions(-)
|
|
create mode 100644 none/tests/s390x/ecag.stdout.exp-z14
|
|
|
|
Index: valgrind-3.15.0/README.s390
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/README.s390
|
|
+++ valgrind-3.15.0/README.s390
|
|
@@ -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: valgrind-3.15.0/VEX/priv/main_main.c
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/VEX/priv/main_main.c
|
|
+++ valgrind-3.15.0/VEX/priv/main_main.c
|
|
@@ -1721,6 +1721,8 @@ static const HChar* show_hwcaps_s390x (
|
|
{ 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: valgrind-3.15.0/VEX/pub/libvex.h
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/VEX/pub/libvex.h
|
|
+++ valgrind-3.15.0/VEX/pub/libvex.h
|
|
@@ -146,7 +146,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: valgrind-3.15.0/coregrind/m_machine.c
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/coregrind/m_machine.c
|
|
+++ valgrind-3.15.0/coregrind/m_machine.c
|
|
@@ -580,6 +580,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;
|
|
Index: valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z14
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z14
|
|
@@ -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: valgrind-3.15.0/tests/s390x_features.c
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/tests/s390x_features.c
|
|
+++ valgrind-3.15.0/tests/s390x_features.c
|
|
@@ -98,6 +98,8 @@ model_info models[] = {
|
|
{ "2828", "zBC12" },
|
|
{ "2964", "z13" },
|
|
{ "2965", "z13s" },
|
|
+ { "3906", "z14" },
|
|
+ { "3907", "z14 ZR1"},
|
|
};
|
|
|
|
|