Loading arch/s390/include/asm/elf.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -111,6 +111,8 @@ #define HWCAP_S390_VXRS_PDE 65536 #define HWCAP_S390_VXRS_PDE 65536 #define HWCAP_S390_SORT 131072 #define HWCAP_S390_SORT 131072 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_VXRS_PDE2 524288 #define HWCAP_S390_NNPA 1048576 /* Internal bits, not exposed via elf */ /* Internal bits, not exposed via elf */ #define HWCAP_INT_SIE 1UL #define HWCAP_INT_SIE 1UL Loading arch/s390/kernel/processor.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,7 @@ static void show_cpu_summary(struct seq_file *m, void *v) static const char *hwcap_str[] = { static const char *hwcap_str[] = { "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te", "vx", "vxd", "vxe", "gs", "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[] = { static const char * const int_hwcap_str[] = { "sie" "sie" Loading arch/s390/kernel/setup.c +4 −0 Original line number Original line Diff line number Diff line Loading @@ -949,11 +949,15 @@ static int __init setup_hwcaps(void) elf_hwcap |= HWCAP_S390_VXRS_EXT2; elf_hwcap |= HWCAP_S390_VXRS_EXT2; if (test_facility(152)) if (test_facility(152)) elf_hwcap |= HWCAP_S390_VXRS_PDE; elf_hwcap |= HWCAP_S390_VXRS_PDE; if (test_facility(192)) elf_hwcap |= HWCAP_S390_VXRS_PDE2; } } if (test_facility(150)) if (test_facility(150)) elf_hwcap |= HWCAP_S390_SORT; elf_hwcap |= HWCAP_S390_SORT; if (test_facility(151)) if (test_facility(151)) elf_hwcap |= HWCAP_S390_DFLT; elf_hwcap |= HWCAP_S390_DFLT; if (test_facility(165)) elf_hwcap |= HWCAP_S390_NNPA; /* /* * Guarded storage support HWCAP_S390_GS is bit 12. * Guarded storage support HWCAP_S390_GS is bit 12. Loading Loading
arch/s390/include/asm/elf.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -111,6 +111,8 @@ #define HWCAP_S390_VXRS_PDE 65536 #define HWCAP_S390_VXRS_PDE 65536 #define HWCAP_S390_SORT 131072 #define HWCAP_S390_SORT 131072 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_VXRS_PDE2 524288 #define HWCAP_S390_NNPA 1048576 /* Internal bits, not exposed via elf */ /* Internal bits, not exposed via elf */ #define HWCAP_INT_SIE 1UL #define HWCAP_INT_SIE 1UL Loading
arch/s390/kernel/processor.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,7 @@ static void show_cpu_summary(struct seq_file *m, void *v) static const char *hwcap_str[] = { static const char *hwcap_str[] = { "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh", "highgprs", "te", "vx", "vxd", "vxe", "gs", "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[] = { static const char * const int_hwcap_str[] = { "sie" "sie" Loading
arch/s390/kernel/setup.c +4 −0 Original line number Original line Diff line number Diff line Loading @@ -949,11 +949,15 @@ static int __init setup_hwcaps(void) elf_hwcap |= HWCAP_S390_VXRS_EXT2; elf_hwcap |= HWCAP_S390_VXRS_EXT2; if (test_facility(152)) if (test_facility(152)) elf_hwcap |= HWCAP_S390_VXRS_PDE; elf_hwcap |= HWCAP_S390_VXRS_PDE; if (test_facility(192)) elf_hwcap |= HWCAP_S390_VXRS_PDE2; } } if (test_facility(150)) if (test_facility(150)) elf_hwcap |= HWCAP_S390_SORT; elf_hwcap |= HWCAP_S390_SORT; if (test_facility(151)) if (test_facility(151)) elf_hwcap |= HWCAP_S390_DFLT; elf_hwcap |= HWCAP_S390_DFLT; if (test_facility(165)) elf_hwcap |= HWCAP_S390_NNPA; /* /* * Guarded storage support HWCAP_S390_GS is bit 12. * Guarded storage support HWCAP_S390_GS is bit 12. Loading