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
136 lines
5.5 KiB
Diff
136 lines
5.5 KiB
Diff
From 3a2711c659ac839934f13e0529e14d6c15325383 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Arnez <arnez@linux.ibm.com>
|
|
Date: Thu, 27 Feb 2020 15:52:53 +0100
|
|
Subject: [PATCH] s390x: Add CPU model for z15
|
|
|
|
Make the z15 CPU models known to Valgrind. Add test case output for z15
|
|
to the "ecag" test. Also ensure that the facility bits for CPU facilities
|
|
unsupported by Valgrind are unset, particularly for the new
|
|
deflate-conversion facility.
|
|
---
|
|
VEX/priv/guest_s390_helpers.c | 3 +++
|
|
VEX/pub/libvex.h | 3 ++-
|
|
VEX/pub/libvex_s390x_common.h | 3 +++
|
|
auxprogs/s390-check-opcodes.pl | 2 +-
|
|
coregrind/m_machine.c | 2 ++
|
|
none/tests/s390x/Makefile.am | 2 +-
|
|
none/tests/s390x/ecag.stdout.exp-z15 | 28 ++++++++++++++++++++++++++++
|
|
tests/s390x_features.c | 2 ++
|
|
8 files changed, 42 insertions(+), 3 deletions(-)
|
|
create mode 100644 none/tests/s390x/ecag.stdout.exp-z15
|
|
|
|
Index: valgrind-3.15.0/VEX/priv/guest_s390_helpers.c
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/VEX/priv/guest_s390_helpers.c
|
|
+++ valgrind-3.15.0/VEX/priv/guest_s390_helpers.c
|
|
@@ -379,6 +379,9 @@ s390x_dirtyhelper_STFLE(VexGuestS390XSta
|
|
s390_set_facility_bit(addr, S390_FAC_CTREXE, 0);
|
|
s390_set_facility_bit(addr, S390_FAC_TREXE, 0);
|
|
s390_set_facility_bit(addr, S390_FAC_MSA4, 0);
|
|
+ s390_set_facility_bit(addr, S390_FAC_VXE, 0);
|
|
+ s390_set_facility_bit(addr, S390_FAC_VXE2, 0);
|
|
+ s390_set_facility_bit(addr, S390_FAC_DFLT, 0);
|
|
|
|
return cc;
|
|
}
|
|
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
|
|
@@ -148,7 +148,8 @@ typedef
|
|
#define VEX_S390X_MODEL_Z13S 13
|
|
#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_Z15 16
|
|
+#define VEX_S390X_MODEL_UNKNOWN 17 /* 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/VEX/pub/libvex_s390x_common.h
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/VEX/pub/libvex_s390x_common.h
|
|
+++ valgrind-3.15.0/VEX/pub/libvex_s390x_common.h
|
|
@@ -104,6 +104,9 @@
|
|
#define S390_FAC_TREXE 73 // transactional execution
|
|
#define S390_FAC_MSA4 77 // message-security-assist 4
|
|
#define S390_FAC_VX 129 // vector facility
|
|
+#define S390_FAC_VXE 135 // vector enhancements facility 1
|
|
+#define S390_FAC_VXE2 148 // vector enhancements facility 2
|
|
+#define S390_FAC_DFLT 151 // deflate-conversion 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
|
|
@@ -582,6 +582,8 @@ static UInt VG_(get_machine_model)(void)
|
|
{ "2965", VEX_S390X_MODEL_Z13S },
|
|
{ "3906", VEX_S390X_MODEL_Z14 },
|
|
{ "3907", VEX_S390X_MODEL_Z14_ZR1 },
|
|
+ { "8561", VEX_S390X_MODEL_Z15 },
|
|
+ { "8562", VEX_S390X_MODEL_Z15 },
|
|
};
|
|
|
|
Int model, n, fh;
|
|
Index: valgrind-3.15.0/none/tests/s390x/Makefile.am
|
|
===================================================================
|
|
--- valgrind-3.15.0.orig/none/tests/s390x/Makefile.am
|
|
+++ valgrind-3.15.0/none/tests/s390x/Makefile.am
|
|
@@ -39,7 +39,7 @@ EXTRA_DIST = \
|
|
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
|
|
$(addsuffix .vgtest,$(INSN_TESTS)) \
|
|
ecag.stdout.exp-z10ec ecag.stdout.exp-z196 ecag.stdout.exp-zec12 \
|
|
- ecag.stdout.exp-z13 ecag.stdout.exp-z14 \
|
|
+ ecag.stdout.exp-z13 ecag.stdout.exp-z14 ecag.stdout.exp-z15 \
|
|
op00.stderr.exp1 op00.stderr.exp2 op00.vgtest \
|
|
fixbr.vgtest fixbr.stderr.exp fixbr.stdout.exp \
|
|
fpext.vgtest fpext.stderr.exp fpext.stdout.exp \
|
|
Index: valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z15
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z15
|
|
@@ -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: 4194304
|
|
+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: 268435456
|
|
+L3 total cachesize insn: 268435456
|
|
+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: 1006632960
|
|
+L4 total cachesize insn: 1006632960
|
|
+L4 set. assoc. data: 60
|
|
+L4 set. assoc. insn: 60
|
|
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
|
|
@@ -100,6 +100,8 @@ model_info models[] = {
|
|
{ "2965", "z13s" },
|
|
{ "3906", "z14" },
|
|
{ "3907", "z14 ZR1"},
|
|
+ { "8561", "z15" },
|
|
+ { "8562", "z15" },
|
|
};
|
|
|
|
|