File 0013-S390-Add-new-hwcap-values-for-new-cpu-architecture-a.patch of Package glibc.14271
From ac85efba2711ef2d13140fdac136f38e42257594 Mon Sep 17 00:00:00 2001
From: Stefan Liebler <stli@linux.ibm.com>
Date: Fri, 22 Mar 2019 11:14:07 +0100
Subject: [PATCH 13/18] 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.
(cherry picked from commit 1a7df49c92f62e14d8727f083fd055eba7c91ad9)
---
sysdeps/s390/dl-procinfo.c | 4 ++--
sysdeps/s390/dl-procinfo.h | 9 +++++++--
sysdeps/unix/sysv/linux/s390/bits/hwcap.h | 4 ++++
3 files changed, 13 insertions(+), 4 deletions(-)
Index: glibc-2.26/sysdeps/s390/dl-procinfo.c
===================================================================
--- glibc-2.26.orig/sysdeps/s390/dl-procinfo.c
+++ glibc-2.26/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
Index: glibc-2.26/sysdeps/s390/dl-procinfo.h
===================================================================
--- glibc-2.26.orig/sysdeps/s390/dl-procinfo.h
+++ glibc-2.26/sysdeps/s390/dl-procinfo.h
@@ -21,7 +21,7 @@
#define _DL_PROCINFO_H 1
#include <ldsodefs.h>
-#define _DL_HWCAP_COUNT 15
+#define _DL_HWCAP_COUNT 19
#define _DL_PLATFORMS_COUNT 8
@@ -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
Index: glibc-2.26/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
===================================================================
--- glibc-2.26.orig/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
+++ glibc-2.26/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