summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/setup.c
diff options
context:
space:
mode:
authorNiklas Schnelle <schnelle@linux.ibm.com>2021-07-08 15:43:13 +0200
committerHeiko Carstens <hca@linux.ibm.com>2021-07-27 09:39:19 +0200
commit7e8403ecaf884f307b627f3c371475913dd29292 (patch)
tree5ecd9ac93b4b7e5f0308e6a04956a68daf338be7 /arch/s390/kernel/setup.c
parent3322ba0d7bea1e24ae464418626f6a15b69533ab (diff)
downloadlinux-7e8403ecaf884f307b627f3c371475913dd29292.tar.bz2
s390: add HWCAP_S390_PCI_MIO to ELF hwcaps
In order to support the use of enhanced PCI instructions in both kernel- and userspace we need both hardware support and proper setup in the kernel. The latter can be toggled off with the pci=nomio command line option. Thus availability of this feature in userspace depends on all of kernel configuration (CONFIG_PCI), hardware support and the current kernel command line and can thus not rely solely on a facility bit. Instead let's introduce a new ELF hardware capability bit HWCAP_S390_PCI_MIO to tell userspace whether these PCI instructions can be used. Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r--arch/s390/kernel/setup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 32ce8d40b2fb..1c0ab3030801 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -964,6 +964,8 @@ static int __init setup_hwcaps(void)
*/
if (MACHINE_HAS_GS)
elf_hwcap |= HWCAP_S390_GS;
+ if (MACHINE_HAS_PCI_MIO)
+ elf_hwcap |= HWCAP_S390_PCI_MIO;
get_cpu_id(&cpu_id);
add_device_randomness(&cpu_id, sizeof(cpu_id));