|
|
147e83 |
From 571d49008b0c44b4aabb66b2ac3ce690fd802466 Mon Sep 17 00:00:00 2001
|
|
|
147e83 |
From: Stefan Liebler <stli@linux.vnet.ibm.com>
|
|
|
147e83 |
Date: Thu, 8 Oct 2015 10:45:29 +0200
|
|
|
147e83 |
Subject: [PATCH 06/30] S390: Add hwcaps value for vector facility.
|
|
|
147e83 |
|
|
|
147e83 |
upstream-commit-id: 4e28fa80886c71e6aaf85016b82ce981c0f12e6d
|
|
|
147e83 |
https://www.sourceware.org/ml/libc-alpha/2015-07/msg00075.html
|
|
|
147e83 |
|
|
|
147e83 |
The HWCAP_S390_VX flag in hwcap field of auxiliary vector indicates
|
|
|
147e83 |
if the vector facility is available and the kernel is aware of it.
|
|
|
147e83 |
This can be tested with LD_SHOW_AUXV=1 <prog>.
|
|
|
147e83 |
Currently it does not show te, because it was not incremented
|
|
|
147e83 |
by commit "S/390: Add hwcap value for transactional execution.".
|
|
|
147e83 |
Thus _DL_HWCAP_COUNT is incremented by two.
|
|
|
147e83 |
|
|
|
147e83 |
ChangeLog:
|
|
|
147e83 |
|
|
|
147e83 |
* sysdeps/s390/dl-procinfo.c (_dl_s390_platforms): Add vector flag.
|
|
|
147e83 |
* sysdeps/s390/dl-procinfo.h: Add vector capability.
|
|
|
147e83 |
* sysdeps/unix/sysv/linux/s390/bits/hwcap.h (HWCAP_S390_VX): Define.
|
|
|
147e83 |
---
|
|
|
147e83 |
sysdeps/s390/dl-procinfo.c | 4 ++--
|
|
|
147e83 |
sysdeps/s390/dl-procinfo.h | 3 ++-
|
|
|
147e83 |
sysdeps/unix/sysv/linux/s390/bits/hwcap.h | 1 +
|
|
|
147e83 |
3 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
147e83 |
|
|
|
147e83 |
diff --git a/sysdeps/s390/dl-procinfo.c b/sysdeps/s390/dl-procinfo.c
|
|
|
147e83 |
index 9590146..96d438a 100644
|
|
|
147e83 |
--- a/sysdeps/s390/dl-procinfo.c
|
|
|
147e83 |
+++ b/sysdeps/s390/dl-procinfo.c
|
|
|
147e83 |
@@ -46,11 +46,11 @@
|
|
|
147e83 |
#if !defined PROCINFO_DECL && defined SHARED
|
|
|
147e83 |
._dl_s390_cap_flags
|
|
|
147e83 |
#else
|
|
|
147e83 |
-PROCINFO_CLASS const char _dl_s390_cap_flags[11][9]
|
|
|
147e83 |
+PROCINFO_CLASS const char _dl_s390_cap_flags[12][9]
|
|
|
147e83 |
#endif
|
|
|
147e83 |
#ifndef PROCINFO_DECL
|
|
|
147e83 |
= {
|
|
|
147e83 |
- "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te"
|
|
|
147e83 |
+ "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te", "vx"
|
|
|
147e83 |
}
|
|
|
147e83 |
#endif
|
|
|
147e83 |
#if !defined SHARED || defined PROCINFO_DECL
|
|
|
147e83 |
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
|
|
|
147e83 |
index 26de043..89766e0 100644
|
|
|
147e83 |
--- a/sysdeps/s390/dl-procinfo.h
|
|
|
147e83 |
+++ b/sysdeps/s390/dl-procinfo.h
|
|
|
147e83 |
@@ -21,7 +21,7 @@
|
|
|
147e83 |
#define _DL_PROCINFO_H 1
|
|
|
147e83 |
#include <ldsodefs.h>
|
|
|
147e83 |
|
|
|
147e83 |
-#define _DL_HWCAP_COUNT 10
|
|
|
147e83 |
+#define _DL_HWCAP_COUNT 12
|
|
|
147e83 |
|
|
|
147e83 |
#define _DL_PLATFORMS_COUNT 5
|
|
|
147e83 |
|
|
|
147e83 |
@@ -50,6 +50,7 @@ enum
|
|
|
147e83 |
HWCAP_S390_ETF3EH = 1 << 8,
|
|
|
147e83 |
HWCAP_S390_HIGH_GPRS = 1 << 9,
|
|
|
147e83 |
HWCAP_S390_TE = 1 << 10,
|
|
|
147e83 |
+ HWCAP_S390_VX = 1 << 11,
|
|
|
147e83 |
};
|
|
|
147e83 |
|
|
|
147e83 |
#define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \
|
|
|
147e83 |
diff --git a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
|
|
|
147e83 |
index 59d68b0..bd2ce3a 100644
|
|
|
147e83 |
--- a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
|
|
|
147e83 |
+++ b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
|
|
|
147e83 |
@@ -35,3 +35,4 @@
|
|
|
147e83 |
#define HWCAP_S390_ETF3EH 256
|
|
|
147e83 |
#define HWCAP_S390_HIGH_GPRS 512
|
|
|
147e83 |
#define HWCAP_S390_TE 1024
|
|
|
147e83 |
+#define HWCAP_S390_VX 2048
|
|
|
147e83 |
--
|
|
|
147e83 |
2.3.0
|
|
|
147e83 |
|