51f0aa
From 71956c369a72a64ff26ca90198a42f0bf2967217 Mon Sep 17 00:00:00 2001
51f0aa
From: Stefan Liebler <stli@linux.vnet.ibm.com>
51f0aa
Date: Thu, 27 Jul 2017 10:53:58 +0200
51f0aa
Subject: [PATCH 06/10] S390: Add new hwcap values for new cpu architecture -
51f0aa
 arch12.
51f0aa
51f0aa
upstream-commit f21f59124d8a4d22b20e7a926462937d89e8988e
51f0aa
51f0aa
The new hwcap values indicate support for:
51f0aa
- Vector packed decimal facility
51f0aa
- Vector enhancements facility 1
51f0aa
- Guarded storage facility
51f0aa
51f0aa
Note: arch12 is NOT the official name of the new CPU.
51f0aa
It refers to the edition number of the Principle of Operations manual.
51f0aa
51f0aa
ChangeLog:
51f0aa
51f0aa
	* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags):
51f0aa
	Add vxd, vxe, gs flag.
51f0aa
	* sysdeps/s390/dl-procinfo.h: Add HWCAP_S390_VXD, HWCAP_S390_VXE,
51f0aa
	HWCAP_S390_GS capability.
51f0aa
	* sysdeps/unix/sysv/linux/s390/bits/hwcap.h
51f0aa
	(HWCAP_S390_VXD, HWCAP_S390_VXE, HWCAP_S390_GS): Define.
51f0aa
---
51f0aa
 sysdeps/s390/dl-procinfo.c                | 5 +++--
51f0aa
 sysdeps/s390/dl-procinfo.h                | 5 ++++-
51f0aa
 sysdeps/unix/sysv/linux/s390/bits/hwcap.h | 3 +++
51f0aa
 3 files changed, 10 insertions(+), 3 deletions(-)
51f0aa
51f0aa
diff --git a/sysdeps/s390/dl-procinfo.c b/sysdeps/s390/dl-procinfo.c
51f0aa
index f353528..aa08eca 100644
51f0aa
--- a/sysdeps/s390/dl-procinfo.c
51f0aa
+++ b/sysdeps/s390/dl-procinfo.c
51f0aa
@@ -46,11 +46,12 @@
51f0aa
 #if !defined PROCINFO_DECL && defined SHARED
51f0aa
   ._dl_s390_cap_flags
51f0aa
 #else
51f0aa
-PROCINFO_CLASS const char _dl_s390_cap_flags[12][9]
51f0aa
+PROCINFO_CLASS const char _dl_s390_cap_flags[15][9]
51f0aa
 #endif
51f0aa
 #ifndef PROCINFO_DECL
51f0aa
 = {
51f0aa
-     "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te", "vx"
51f0aa
+     "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh",
51f0aa
+     "highgprs", "te", "vx", "vxd", "vxe", "gs"
51f0aa
   }
51f0aa
 #endif
51f0aa
 #if !defined SHARED || defined PROCINFO_DECL
51f0aa
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
51f0aa
index 80747f0..748c3d1 100644
51f0aa
--- a/sysdeps/s390/dl-procinfo.h
51f0aa
+++ b/sysdeps/s390/dl-procinfo.h
51f0aa
@@ -21,7 +21,7 @@
51f0aa
 #define _DL_PROCINFO_H	1
51f0aa
 #include <ldsodefs.h>
51f0aa
 
51f0aa
-#define _DL_HWCAP_COUNT 12
51f0aa
+#define _DL_HWCAP_COUNT 15
51f0aa
 
51f0aa
 #define _DL_PLATFORMS_COUNT	8
51f0aa
 
51f0aa
@@ -51,6 +51,9 @@ enum
51f0aa
   HWCAP_S390_HIGH_GPRS = 1 << 9,
51f0aa
   HWCAP_S390_TE = 1 << 10,
51f0aa
   HWCAP_S390_VX = 1 << 11,
51f0aa
+  HWCAP_S390_VXD = 1 << 12,
51f0aa
+  HWCAP_S390_VXE = 1 << 13,
51f0aa
+  HWCAP_S390_GS = 1 << 14,
51f0aa
 };
51f0aa
 
51f0aa
 #define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \
51f0aa
diff --git a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
51f0aa
index bd2ce3a..58b1929 100644
51f0aa
--- a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
51f0aa
+++ b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
51f0aa
@@ -36,3 +36,6 @@
51f0aa
 #define HWCAP_S390_HIGH_GPRS    512
51f0aa
 #define HWCAP_S390_TE           1024
51f0aa
 #define HWCAP_S390_VX           2048
51f0aa
+#define HWCAP_S390_VXD          4096
51f0aa
+#define HWCAP_S390_VXE          8192
51f0aa
+#define HWCAP_S390_GS           16384
51f0aa
-- 
51f0aa
1.8.3.1
51f0aa