Blob Blame History Raw
From: Heiko Carstens <hca@linux.ibm.com>
Date: Wed, 13 Jan 2021 14:14:01 +0100
Subject: s390: report more CPU capabilities
Git-commit: b3bc7980f4ad12c0cd4e2c7a5541ed2a061a0770
Patch-mainline: v5.15-rc1
References: jsc#SLE-18634

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>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 arch/s390/include/asm/elf.h  |    2 ++
 arch/s390/kernel/processor.c |    2 +-
 arch/s390/kernel/setup.c     |    4 ++++
 3 files changed, 7 insertions(+), 1 deletion(-)

--- 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
--- a/arch/s390/kernel/processor.c
+++ b/arch/s390/kernel/processor.c
@@ -115,7 +115,7 @@ static void show_cpu_summary(struct seq_
 	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"
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -854,11 +854,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.