]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: Mark arch13 features as supported
authorAndreas Arnez <arnez@linux.ibm.com>
Tue, 16 Feb 2021 16:52:09 +0000 (17:52 +0100)
committerAndreas Arnez <arnez@linux.ibm.com>
Wed, 1 Sep 2021 12:44:16 +0000 (14:44 +0200)
Make the STFLE instruction report the miscellaneous-instruction-extensions
facility 3 and the vector-enhancements facility 2 as supported.  Indicate
support for the latter in the HWCAP vector as well.

VEX/priv/guest_s390_helpers.c
coregrind/m_initimg/initimg-linux.c
include/vki/vki-s390x-linux.h

index 1e04f601a88cae1af5027c2afb698e27142a1291..804b92a296d5cf288abad727fd5cc20886681039 100644 (file)
@@ -356,9 +356,7 @@ s390x_dirtyhelper_STFLE(VexGuestS390XState *guest_state, ULong *addr)
        | s390_stfle_range(51, 55)
        /* 56: unassigned */
        /* 57: MSA5, not supported */
-       | s390_stfle_range(58, 60)
-       /* 61: miscellaneous-instruction 3, not supported */
-       | s390_stfle_range(62, 63)),
+       | s390_stfle_range(58, 63)),
 
       /* ===  64 .. 127  === */
       (s390_stfle_range(64, 72)
@@ -384,11 +382,10 @@ s390x_dirtyhelper_STFLE(VexGuestS390XState *guest_state, ULong *addr)
        /* 143: unassigned */
        | s390_stfle_range(144, 145)
        /* 146: MSA8, not supported */
-       | s390_stfle_range(147, 147)
-       /* 148: vector-enhancements 2, not supported */
-       | s390_stfle_range(149, 149)
+       | s390_stfle_range(147, 149)
        /* 150: unassigned */
        /* 151: DEFLATE-conversion, not supported */
+       /* 152: vector packed decimal enhancement, not supported */
        /* 153: unassigned */
        /* 154: unassigned */
        /* 155: MSA9, not supported */
index 73c580333e0145a3c04ec18ad8dcabe3b1ba159b..7d02d55678fb232c2cf8c12a7d7602266e832cc1 100644 (file)
@@ -703,7 +703,8 @@ Addr setup_client_stack( void*  init_sp,
                   itself, is not supported by Valgrind. */
                auxv->u.a_val &= ((VKI_HWCAP_S390_TE - 1)
                                  | VKI_HWCAP_S390_VXRS
-                                 | VKI_HWCAP_S390_VXRS_EXT);
+                                 | VKI_HWCAP_S390_VXRS_EXT
+                                 | VKI_HWCAP_S390_VXRS_EXT2);
             }
 #           elif defined(VGP_arm64_linux)
             {
index 4ab2d3334ee4f347e22ffbcd7149a3a22e5d58fd..71b363029cf40ef336baec858ffeeb60e6532a82 100644 (file)
@@ -807,6 +807,7 @@ typedef vki_s390_regs vki_elf_gregset_t;
 #define VKI_HWCAP_S390_TE           1024
 #define VKI_HWCAP_S390_VXRS         2048
 #define VKI_HWCAP_S390_VXRS_EXT     8192
+#define VKI_HWCAP_S390_VXRS_EXT2   32768
 
 
 //----------------------------------------------------------------------