From 1a7df49c92f62e14d8727f083fd055eba7c91ad9 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Fri, 22 Mar 2019 11:14:07 +0100 Subject: [PATCH] S390: Add new hwcap values for new cpu architecture arch13. The new hwcap values indicate support for: -"Vector-Enhancements Facility 2" (tag "vxe2", hwcap 2^15) -"Vector-Packed-Decimal-Enhancement Facility" (tag "vxp", hwcap 2^16) -"Enhanced-Sort Facility" (tag "sort", hwcap 2^17) -"Deflate-Conversion Facility" (tag "dflt", hwcap 2^18) The vxe2 hwcap is also marked as important hwcap. ChangeLog: * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add vxe2, vxp, dflt, sort flags. * sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXRS_EXT2, HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, HWCAP_S390_DFLT capabilities. (HWCAP_IMPORTANT): Add HWCAP_S390_VXRS_EXT2. * sysdeps/unix/sysv/linux/s390/bits/hwcap.h (HWCAP_S390_VXRS_EXT2, HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, HWCAP_S390_DFLT): Define. --- ChangeLog | 12 ++++++++++++ sysdeps/s390/dl-procinfo.c | 4 ++-- sysdeps/s390/dl-procinfo.h | 9 +++++++-- sysdeps/unix/sysv/linux/s390/bits/hwcap.h | 4 ++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0ebd06b368..55b06adbbf2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2019-03-22 Stefan Liebler + + * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): + Add vxe2, vxp, dflt, sort flags. + * sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXRS_EXT2, + HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, HWCAP_S390_DFLT + capabilities. + (HWCAP_IMPORTANT): Add HWCAP_S390_VXRS_EXT2. + * sysdeps/unix/sysv/linux/s390/bits/hwcap.h + (HWCAP_S390_VXRS_EXT2, HWCAP_S390_VXRS_PDE, HWCAP_S390_SORT, + HWCAP_S390_DFLT): Define. + 2019-03-05 Gabriel F. T. Gomes [BZ #24372] diff --git a/sysdeps/s390/dl-procinfo.c b/sysdeps/s390/dl-procinfo.c index 8f581c19825..44c99018000 100644 --- a/sysdeps/s390/dl-procinfo.c +++ b/sysdeps/s390/dl-procinfo.c @@ -46,12 +46,12 @@ #if !defined PROCINFO_DECL && defined SHARED ._dl_s390_cap_flags #else -PROCINFO_CLASS const char _dl_s390_cap_flags[15][9] +PROCINFO_CLASS const char _dl_s390_cap_flags[19][9] #endif #ifndef PROCINFO_DECL = { "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", - "highgprs", "te", "vx", "vxd", "vxe", "gs" + "highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt" } #endif #if !defined SHARED || defined PROCINFO_DECL diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h index 99697ae6496..3b1f6a642bb 100644 --- a/sysdeps/s390/dl-procinfo.h +++ b/sysdeps/s390/dl-procinfo.h @@ -21,7 +21,7 @@ #define _DL_PROCINFO_H 1 #include -#define _DL_HWCAP_COUNT 15 +#define _DL_HWCAP_COUNT 19 #define _DL_PLATFORMS_COUNT 9 @@ -54,11 +54,16 @@ enum HWCAP_S390_VXD = 1 << 12, HWCAP_S390_VXE = 1 << 13, HWCAP_S390_GS = 1 << 14, + HWCAP_S390_VXRS_EXT2 = 1 << 15, + HWCAP_S390_VXRS_PDE = 1 << 16, + HWCAP_S390_SORT = 1 << 17, + HWCAP_S390_DFLT = 1 << 18, }; #define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \ | HWCAP_S390_EIMM | HWCAP_S390_DFP \ - | HWCAP_S390_VX | HWCAP_S390_VXE) + | HWCAP_S390_VX | HWCAP_S390_VXE \ + | HWCAP_S390_VXRS_EXT2) /* We cannot provide a general printing function. */ #define _dl_procinfo(type, word) -1 diff --git a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h index 60c38074c45..3608bea25c3 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h +++ b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h @@ -39,3 +39,7 @@ #define HWCAP_S390_VXD 4096 #define HWCAP_S390_VXE 8192 #define HWCAP_S390_GS 16384 +#define HWCAP_S390_VXRS_EXT2 32768 +#define HWCAP_S390_VXRS_PDE 65536 +#define HWCAP_S390_SORT 131072 +#define HWCAP_S390_DFLT 262144 -- 2.39.2