diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2021-01-13 16:14:01 +0300 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2021-07-27 10:39:19 +0300 |
commit | b3bc7980f4ad12c0cd4e2c7a5541ed2a061a0770 (patch) | |
tree | 24acb72981d4714010fa5f32b93592a8fc23ff69 /arch/s390 | |
parent | 0d374381d00b92ad73771bb9b09db21e7bb64500 (diff) | |
download | linux-b3bc7980f4ad12c0cd4e2c7a5541ed2a061a0770.tar.xz |
s390: report more CPU capabilities
Add hardware capability bits and feature tags to /proc/cpuinfo
for NNPA and Vector-Packed-Decimal-Enhancement Facility 2.
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/processor.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/setup.c | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index bd00c94620d3..6e55e4a2d6bd 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h @@ -111,6 +111,8 @@ #define HWCAP_S390_VXRS_PDE 65536 #define HWCAP_S390_SORT 131072 #define HWCAP_S390_DFLT 262144 +#define HWCAP_S390_VXRS_PDE2 524288 +#define HWCAP_S390_NNPA 1048576 /* Internal bits, not exposed via elf */ #define HWCAP_INT_SIE 1UL diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c index 82df39b17bb5..9cd63efce1c1 100644 --- a/arch/s390/kernel/processor.c +++ b/arch/s390/kernel/processor.c @@ -115,7 +115,7 @@ static void show_cpu_summary(struct seq_file *m, void *v) static const char *hwcap_str[] = { "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te", "vx", "vxd", "vxe", "gs", - "vxe2", "vxp", "sort", "dflt" + "vxe2", "vxp", "sort", "dflt", "vxp2", "nnpa" }; static const char * const int_hwcap_str[] = { "sie" diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index c5bbf968669e..32ce8d40b2fb 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -949,11 +949,15 @@ static int __init setup_hwcaps(void) elf_hwcap |= HWCAP_S390_VXRS_EXT2; if (test_facility(152)) elf_hwcap |= HWCAP_S390_VXRS_PDE; + if (test_facility(192)) + elf_hwcap |= HWCAP_S390_VXRS_PDE2; } if (test_facility(150)) elf_hwcap |= HWCAP_S390_SORT; if (test_facility(151)) elf_hwcap |= HWCAP_S390_DFLT; + if (test_facility(165)) + elf_hwcap |= HWCAP_S390_NNPA; /* * Guarded storage support HWCAP_S390_GS is bit 12. |