You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.0 KiB
83 lines
3.0 KiB
commit cb44a620ef2336449af60694b6696efced161774 |
|
Author: Stefan Liebler <stli@linux.ibm.com> |
|
Date: Tue Oct 5 16:14:10 2021 +0200 |
|
|
|
S390: Add PCI_MIO and SIE HWCAPs |
|
|
|
Both new HWCAPs were introduced in these kernel commits: |
|
- 7e8403ecaf884f307b627f3c371475913dd29292 |
|
"s390: add HWCAP_S390_PCI_MIO to ELF hwcaps" |
|
- 7e82523f2583e9813e4109df3656707162541297 |
|
"s390/hwcaps: make sie capability regular hwcap" |
|
|
|
Also note that the kernel commit 511ad531afd4090625def4d9aba1f5227bd44b8e |
|
"s390/hwcaps: shorten HWCAP defines" has shortened the prefix of the macros |
|
from "HWCAP_S390_" to "HWCAP_". For compatibility reasons, we do not |
|
change the prefix in public glibc header file. |
|
|
|
(cherry picked from commit f2e06656d04a9fcb0603802a4f8ce7aa3a1f055e) |
|
|
|
diff --git a/sysdeps/s390/dl-procinfo.c b/sysdeps/s390/dl-procinfo.c |
|
index c174e27b3559c57c..155f0bd99eccb3f9 100644 |
|
--- a/sysdeps/s390/dl-procinfo.c |
|
+++ b/sysdeps/s390/dl-procinfo.c |
|
@@ -46,13 +46,13 @@ |
|
#if !defined PROCINFO_DECL && defined SHARED |
|
._dl_s390_cap_flags |
|
#else |
|
-PROCINFO_CLASS const char _dl_s390_cap_flags[21][9] |
|
+PROCINFO_CLASS const char _dl_s390_cap_flags[23][9] |
|
#endif |
|
#ifndef PROCINFO_DECL |
|
= { |
|
"esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", |
|
"highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt", |
|
- "vxp2", "nnpa" |
|
+ "vxp2", "nnpa", "pcimio", "sie" |
|
} |
|
#endif |
|
#if !defined SHARED || defined PROCINFO_DECL |
|
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h |
|
index 2d9c3058083e5dda..e4e3e334a5b3d47c 100644 |
|
--- a/sysdeps/s390/dl-procinfo.h |
|
+++ b/sysdeps/s390/dl-procinfo.h |
|
@@ -21,7 +21,7 @@ |
|
#define _DL_PROCINFO_H 1 |
|
#include <ldsodefs.h> |
|
|
|
-#define _DL_HWCAP_COUNT 21 |
|
+#define _DL_HWCAP_COUNT 23 |
|
|
|
#define _DL_PLATFORMS_COUNT 10 |
|
|
|
@@ -63,6 +63,8 @@ enum |
|
HWCAP_S390_DFLT = 1 << 18, |
|
HWCAP_S390_VXRS_PDE2 = 1 << 19, |
|
HWCAP_S390_NNPA = 1 << 20, |
|
+ HWCAP_S390_PCI_MIO = 1 << 21, |
|
+ HWCAP_S390_SIE = 1 << 22, |
|
}; |
|
|
|
#define HWCAP_IMPORTANT (HWCAP_S390_ZARCH | HWCAP_S390_LDISP \ |
|
diff --git a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h |
|
index e9bd3684db862d1b..00e73a3e3bfdb711 100644 |
|
--- a/sysdeps/unix/sysv/linux/s390/bits/hwcap.h |
|
+++ b/sysdeps/unix/sysv/linux/s390/bits/hwcap.h |
|
@@ -22,6 +22,11 @@ |
|
|
|
/* |
|
* The following must match the kernels asm/elf.h. |
|
+ * Note: The kernel commit 511ad531afd4090625def4d9aba1f5227bd44b8e |
|
+ * "s390/hwcaps: shorten HWCAP defines" has shortened the prefix of the macros |
|
+ * from "HWCAP_S390_" to "HWCAP_". For compatibility reasons, we do not |
|
+ * change the prefix in public glibc header file. |
|
+ * |
|
* Note that these are *not* the same as the STORE FACILITY LIST bits. |
|
*/ |
|
#define HWCAP_S390_ESAN3 1 |
|
@@ -48,3 +53,5 @@ |
|
#define HWCAP_S390_DFLT 262144 |
|
#define HWCAP_S390_VXRS_PDE2 524288 |
|
#define HWCAP_S390_NNPA 1048576 |
|
+#define HWCAP_S390_PCI_MIO 2097152 |
|
+#define HWCAP_S390_SIE 4194304
|
|
|