linux-brain/arch/s390/kernel
Niklas Schnelle b050848bba s390: make PCI mio support a machine flag
[ Upstream commit 3322ba0d7bea1e24ae464418626f6a15b69533ab ]

Kernel support for the newer PCI mio instructions can be toggled off
with the pci=nomio command line option which needs to integrate with
common code PCI option parsing. However this option then toggles static
branches which can't be toggled yet in an early_param() call.

Thus commit 9964f396f1 ("s390: fix setting of mio addressing control")
moved toggling the static branches to the PCI init routine.

With this setup however we can't check for mio support outside the PCI
code during early boot, i.e. before switching the static branches, which
we need to be able to export this as an ELF HWCAP.

Improve on this by turning mio availability into a machine flag that
gets initially set based on CONFIG_PCI and the facility bit and gets
toggled off if pci=nomio is found during PCI option parsing allowing
simple access to this machine flag after early init.

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-22 12:26:29 +02:00
..
syscalls s390: wire up clone3 system call 2019-07-23 10:45:53 +02:00
vdso32 s390/vdso: drop unnecessary cc-ldoption 2019-05-03 17:17:58 +02:00
vdso64 s390/vdso: fix vDSO clock_getres() 2020-06-30 15:37:05 -04:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
Makefile s390: clean .bss before running uncompressed kernel 2019-08-21 12:58:52 +02:00
alternative.c s390: add automatic detection of the spectre defense 2018-03-28 08:38:24 +02:00
asm-offsets.c s390/vdso: fix vDSO clock_getres() 2020-06-30 15:37:05 -04:00
audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
audit.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
base.S s390/base: remove unused s390_base_mcck_handler 2019-09-03 13:53:56 +02:00
cache.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_linux.c s390: use generic UID16 implementation 2019-01-18 09:33:18 +01:00
compat_linux.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_ptrace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_signal.c signal: Remove task parameter from force_sig 2019-05-27 09:36:28 -05:00
cpcmd.c s390/cpcmd: fix inline assembly register clobbering 2021-04-14 08:24:17 +02:00
crash_dump.c memblock: memblock_phys_alloc(): don't panic 2019-03-12 10:04:01 -07:00
debug.c s390/debug: fix debug area life cycle 2021-09-15 09:47:28 +02:00
diag.c s390/ftrace: fix potential crashes when switching tracers 2020-05-02 08:48:44 +02:00
dis.c s390/disassembler: increase ebpf disasm buffer size 2021-05-11 14:04:01 +02:00
dumpstack.c s390/unwind: remove stack recursion warning 2019-08-06 13:58:35 +02:00
early.c s390: make PCI mio support a machine flag 2021-09-22 12:26:29 +02:00
early_printk.c s390/sclp: avoid using strncmp with hardcoded length 2019-08-29 15:34:58 +02:00
ebcdic.c s390: ebcdic: convert comments to UTF-8 2018-08-23 18:48:43 -07:00
entry.S s390/entry: save the caller of psw_idle 2021-04-28 13:19:15 +02:00
entry.h PM: hibernate: powerpc: Expose pfn_is_nosave() prototype 2019-06-14 10:48:56 +02:00
fpu.c s390: correct some inline assembly constraints 2019-04-17 10:40:57 +02:00
ftrace.c s390/ftrace: fix ftrace_update_ftrace_func implementation 2021-07-28 13:30:58 +02:00
guarded_storage.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
head64.S s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
idle.c s390/idle: fix cpu idle time calculation 2019-10-31 17:26:48 +01:00
ima_arch.c s390/kexec_file: Disable kexec_load when IPLed secure 2019-04-29 10:44:03 +02:00
ipl.c s390/protvirt: avoid memory sharing for diag 308 set/store 2019-08-06 13:58:34 +02:00
ipl_vmparm.c s390/ipl: provide uapi header for list directed IPL 2019-04-26 12:34:05 +02:00
irq.c s390/irq: replace setup_irq() by request_irq() 2020-10-01 13:17:40 +02:00
jump_label.c s390/jump_label: print real address in a case of a jump label bug 2021-09-22 12:26:29 +02:00
kdebugfs.c s390: no need to check return value of debugfs_create functions 2019-01-28 15:58:55 +01:00
kexec_elf.c kexec: Fix file verification on S390 2019-09-10 13:27:51 +01:00
kexec_image.c kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE 2019-08-19 21:54:15 -07:00
kprobes.c s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
lgr.c s390: kernel: add SPDX identifiers to the remaining files 2017-11-24 15:37:12 +01:00
machine_kexec.c s390: disable preemption when switching to nodat stack with CALL_ON_STACK 2020-01-04 19:18:31 +01:00
machine_kexec_file.c s390/kexec_file: fix initrd location for kdump kernel 2020-05-27 17:46:49 +02:00
machine_kexec_reloc.c s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-27 17:46:47 +02:00
mcount.S s390/ftrace: fix ftrace_update_ftrace_func implementation 2021-07-28 13:30:58 +02:00
module.c s390/module: avoid using strncmp with hardcoded length 2019-08-29 15:34:57 +02:00
nmi.c s390: simplify disabled_wait 2019-05-02 13:54:11 +02:00
nospec-branch.c s390 updates for the 5.2 merge window 2019-05-06 16:42:54 -07:00
nospec-sysfs.c s390: Convert IS_ENABLED uses to __is_defined 2019-04-11 13:36:53 +02:00
os_info.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf_cpum_cf.c s390/cpumf: Adjust registration of s390 PMU device drivers 2019-12-31 16:45:43 +01:00
perf_cpum_cf_common.c s390/cpum_cf: move common functions into a separate file 2019-02-22 09:19:55 +01:00
perf_cpum_cf_diag.c s390/cpumf: Adjust registration of s390 PMU device drivers 2019-12-31 16:45:43 +01:00
perf_cpum_cf_events.c s390/cpumf: Add extended counter set definitions for model 8561 and 8562 2019-07-11 20:40:01 +02:00
perf_cpum_sf.c s390/cpum_sf.c: fix file permission for cpum_sfb_size 2020-11-24 13:29:23 +01:00
perf_event.c s390: add error handling to perf_callchain_kernel 2019-12-31 16:44:30 +01:00
perf_regs.c s390/perf: fix gcc 8 array-bounds warning 2018-07-02 11:24:54 +02:00
pgm_check.S s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad 2019-04-29 10:47:10 +02:00
process.c s390: prevent leaking kernel address in BEAR 2020-04-13 10:48:06 +02:00
processor.c s390/cpuinfo: fix wrong output when CPU0 is offline 2020-04-23 10:36:33 +02:00
ptrace.c s390/ptrace: return -ENOSYS when invalid syscall is supplied 2021-04-28 13:19:14 +02:00
reipl.S s390: add missing ENDPROC statements to assembler functions 2019-05-02 13:54:11 +02:00
relocate_kernel.S s390: add missing ENDPROC statements to assembler functions 2019-05-02 13:54:11 +02:00
runtime_instr.c s390/runtime_instrumentation: fix storage key handling 2020-08-26 10:41:02 +02:00
setup.c s390/sclp_vt220: fix console name to match device 2021-07-20 16:10:43 +02:00
signal.c signal: Remove task parameter from force_sig 2019-05-27 09:36:28 -05:00
smp.c s390/smp: __smp_rescan_cpus() - move cpumask away from stack 2021-03-17 17:03:45 +01:00
stacktrace.c s390/stacktrace: use common arch_stack_walk infrastructure 2019-08-21 12:58:53 +02:00
sthyi.c s390/sthyi: Fix machine name validity indication 2018-10-15 12:17:00 +02:00
suspend.c s390: unify linker symbols usage 2018-02-27 08:05:23 +01:00
swsusp.S s390: enforce CONFIG_SMP 2019-06-07 10:09:37 +02:00
sys_s390.c s390: autogenerate compat syscall wrappers 2019-01-18 09:33:19 +01:00
sysinfo.c s390: no need to check return value of debugfs_create functions 2019-01-28 15:58:55 +01:00
time.c s390/stp: add locking to sysfs functions 2020-11-05 11:43:30 +01:00
topology.c s390/topology: avoid firing events before kobjs are created 2019-09-23 23:27:52 +02:00
trace.c s390/ftrace: fix potential crashes when switching tracers 2020-05-02 08:48:44 +02:00
traps.c Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2019-07-08 21:48:15 -07:00
unwind_bc.c s390/unwind: filter out unreliable bogus %r14 2020-01-04 19:18:29 +01:00
uprobes.c s390/uprobes: implement arch_uretprobe_is_alive() 2018-04-23 07:57:16 +02:00
vdso.c s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
vmlinux.lds.S s390: put _stext and _etext into .text section 2019-08-06 13:58:35 +02:00
vtime.c s390/vtime: fix increased steal time accounting 2021-03-24 11:26:35 +01:00