Hello Linus, please pull s390 changes for 5.14. Thank you, Vasily The following changes since commit 614124bea77e452aa6df7a8714e8bc820b489922: Linux 5.13-rc5 (2021-06-06 15:47:27 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.14-1 for you to fetch changes up to d4a01902eb59e478ab7c7d36d7bb90d94a315f89: s390/dasd: use register pair instead of register asm (2021-06-28 11:18:29 +0200) ---------------------------------------------------------------- s390 updates for the 5.14 merge window - Rework inline asm to get rid of error prone "register asm" constructs, which are problematic especially when code instrumentation is enabled. In particular introduce and use register pair union to allocate even/odd register pairs. Unfortunately this breaks compatibility with older clang compilers and minimum clang version for s390 has been raised to 13. https://lore.kernel.org/linux-next/CAK7LNARuSmPCEy-ak0erPrPTgZdGVypBROFhtw+=3spoGoYsyw@xxxxxxxxxxxxxx/ - Fix gcc 11 warnings, which triggered various minor reworks all over the code. - Add zstd kernel image compression support. - Rework boot CPU lowcore handling. - De-duplicate and move kernel memory layout setup logic earlier. - Few fixes in preparation for FORTIFY_SOURCE performing compile-time and run-time field bounds checking for mem functions. - Remove broken and unused power management support leftovers in s390 drivers. - Disable stack-protector for decompressor and purgatory to fix buildroot build. - Fix vt220 sclp console name to match the char device name. - Enable HAVE_IOREMAP_PROT and add zpci_set_irq()/zpci_clear_irq() in zPCI code. - Remove some implausible WARN_ON_ONCEs and remove arch specific counter transaction call backs in favour of default transaction handling in perf code. - Extend/add new uevents for online/config/mode state changes of AP card / queue device in zcrypt. - Minor entry and ccwgroup code improvements. - Other small various fixes and improvements all over the code. ---------------------------------------------------------------- Alexander Gordeev (8): s390/mcck: fix calculation of SIE critical section size s390/mcck: fix invalid KVM guest condition check s390/mm: ensure switch_mm() is executed with interrupts disabled s390/smp: reallocate IPL CPU lowcore s390/smp: do not preserve boot CPU lowcore on hotplug s390/smp: remove redundant pcpu::lowcore member s390/mcck: cleanup use of cleanup_sie_mcck s390/entry.S: factor out OUTSIDE macro Dimitri John Ledkov (1): s390/boot: add zstd support Fabrice Fontaine (1): s390: disable SSP when needed Harald Freudenberger (2): s390/ap: extend AP change bindings-complete uevent with counter s390/ap/zcrypt: notify userspace with online, config and mode info Heiko Carstens (39): s390/ipl: make parameter area accessible via struct parmarea s390/boot: access kernel command line via parmarea s390/lowcore: remove superfluous __packed annotations s390/processor: always inline stap() and __load_psw_mask() s390/irqflags: always inline arch irqflags functions s390: introduce register pair union s390/bitops: use register pair instead of register asm s390/smp: use register pair instead of register asm s390/page: use register pair instead of register asm s390/diag: use register pair instead of register asm s390/checksum: use register pair instead of register asm s390/maccess: use register pair instead of register asm s390/sthyi: use register pair instead of register asm s390/sigp: use register pair instead of register asm s390/cpcmd: use register pair instead of register asm s390/ipl_parm: fix program check new psw handling s390/ipl_parm: use register pair instead of register asm s390/pgtable: use register pair instead of register asm s390/sysinfo: get rid of register asm s390/uaccess: get rid of register asm s390/facility: get rid of register asm s390/mem_detect: fix diag260() program check new psw handling s390/mem_detect: use register pair instead of register asm s390/mem_detect: fix tprot() program check new psw handling s390/ipl: use register pair instead of register asm virtio/s390: get rid of open-coded kvm hypercall s390/hypfs: use register pair instead of register asm s390/timex: get rid of register asm s390/lib,xor: get rid of register asm s390/mm,pages-states: get rid of register asm s390/cmpxchg: use register pair instead of register asm s390/string: get rid of register asm s390/lib,uaccess: get rid of register asm s390/lib,string: get rid of register asm s390/cmf: get rid of register asm s390/ioasm: get rid of register asm s390/ioasm: use symbolic names for asm operands s390/qdio: get rid of register asm s390/dasd: use register pair instead of register asm Julian Wiedmann (7): s390/zcrypt: remove zcrypt_device_count s390/ap: wire up bus->probe and bus->remove s390/ccwgroup: release the cdevs from within dev->release() s390/vfio-ap: clean up vfio_ap_drv's definition s390/ccwgroup: simplify ungrouping when driver deregisters s390/ccwgroup: use BUS_NOTIFY_UNBOUND_DRIVER to trigger ungrouping s390/hvc_iucv: Remove power management support Kees Cook (2): s390/speculation: Use statically initialized const for instructions s390/zcrypt: Switch to flexible array member Nathan Chancellor (1): scripts/min-tool-version.sh: Raise minimum clang version to 13.0.0 for s390 Niklas Schnelle (3): s390: enable HAVE_IOREMAP_PROT s390/pci: use register pair instead of register asm s390/pci: add zpci_set_irq()/zpci_clear_irq() Peter Oberparleiter (11): s390/debug: Remove pointer obfuscation s390/dcssblk: Remove power management support s390/xpram: Remove power management support s390/monreader: Remove power management support s390/monwriter: Remove power management support s390/sclp: Remove console power management support s390/sclp: Remove vt220 power management support s390/sclp: Remove memory hotplug power management support s390/sclp: Remove quiesce power management support s390/sclp: Remove sclp base power management support s390/vmlogrdr: Remove power management support Randy Dunlap (1): s390: appldata depends on PROC_SYSCTL Rob Landley (1): s390/decompressor: replace use of perl with simple sed/tr Sven Schnelle (8): s390/entry: use assignment to read intcode / asm to copy gprs s390/facilities: move stfl information from lowcore to global data s390/irq: add union/struct to access external interrupt parameters s390/traps: add struct to access transactional diagnostic block s390/crypto: fix function/prototype mismatches s390/cio: add tpi.h header file s390: add struct tpi_info to struct pt_regs s390: use struct tpi_info in lowcore.h Thomas Richter (2): s390/cpumf: remove counter transaction call backs s390/cpumf: remove WARN_ON_ONCE in counter start handler Valentin Vidic (1): s390/sclp_vt220: fix console name to match device Vasily Gorbik (4): Merge branch 's390/fixes' into features s390: setup kernel memory layout early s390/setup: cleanup reserve/remove_oldmem s390/decompressor: correct BOOT_HEAP_SIZE condition Vineeth Vijayan (1): s390/cio: dont call css_wait_for_slow_path() inside a lock Zou Wei (1): s390/sclp: convert list_for_each to entry variant arch/s390/Kconfig | 4 +- arch/s390/Makefile | 1 + arch/s390/boot/als.c | 6 +- arch/s390/boot/boot.h | 1 + arch/s390/boot/compressed/Makefile | 6 +- arch/s390/boot/compressed/decompressor.c | 8 +- arch/s390/boot/head.S | 3 + arch/s390/boot/ipl_parm.c | 59 ++++++----- arch/s390/boot/mem_detect.c | 73 +++++++------ arch/s390/boot/startup.c | 91 ++++++++++++++++ arch/s390/boot/uv.c | 25 +++++ arch/s390/hypfs/hypfs_sprp.c | 13 ++- arch/s390/include/asm/bitops.h | 10 +- arch/s390/include/asm/ccwgroup.h | 3 +- arch/s390/include/asm/checksum.h | 10 +- arch/s390/include/asm/cio.h | 1 + arch/s390/include/asm/cmpxchg.h | 44 ++++---- arch/s390/include/asm/cpu_mcf.h | 3 +- arch/s390/include/asm/facility.h | 25 +++-- arch/s390/include/asm/irqflags.h | 16 +-- arch/s390/include/asm/kasan.h | 1 - arch/s390/include/asm/lowcore.h | 38 ++++--- arch/s390/include/asm/mmu_context.h | 15 ++- arch/s390/include/asm/page.h | 15 +-- arch/s390/include/asm/pci.h | 7 +- arch/s390/include/asm/percpu.h | 27 ++--- arch/s390/include/asm/pgtable.h | 62 +++++++---- arch/s390/include/asm/processor.h | 6 +- arch/s390/include/asm/ptrace.h | 12 ++- arch/s390/include/asm/setup.h | 3 +- arch/s390/include/asm/sigp.h | 14 +-- arch/s390/include/asm/string.h | 59 ++++++----- arch/s390/include/asm/timex.h | 26 +++-- arch/s390/include/asm/tpi.h | 24 +++++ arch/s390/include/asm/types.h | 19 ++++ arch/s390/include/asm/uaccess.h | 36 +++---- arch/s390/include/uapi/asm/schid.h | 3 + arch/s390/kernel/alternative.c | 3 +- arch/s390/kernel/asm-offsets.c | 7 +- arch/s390/kernel/cpcmd.c | 42 ++++---- arch/s390/kernel/debug.c | 2 +- arch/s390/kernel/diag.c | 11 +- arch/s390/kernel/early.c | 6 +- arch/s390/kernel/entry.S | 61 +++++------ arch/s390/kernel/ipl.c | 14 +-- arch/s390/kernel/irq.c | 6 +- arch/s390/kernel/nospec-branch.c | 17 +-- arch/s390/kernel/nospec-sysfs.c | 2 +- arch/s390/kernel/perf_cpum_cf.c | 92 +--------------- arch/s390/kernel/perf_cpum_cf_common.c | 1 - arch/s390/kernel/processor.c | 4 +- arch/s390/kernel/ptrace.c | 4 +- arch/s390/kernel/setup.c | 107 ++----------------- arch/s390/kernel/smp.c | 131 +++++++++++++++-------- arch/s390/kernel/sthyi.c | 13 ++- arch/s390/kernel/syscall.c | 5 +- arch/s390/kernel/sysinfo.c | 19 ++-- arch/s390/kernel/traps.c | 4 +- arch/s390/kernel/uv.c | 8 +- arch/s390/kvm/kvm-s390.c | 12 +-- arch/s390/lib/string.c | 131 +++++++++++++---------- arch/s390/lib/uaccess.c | 25 +++-- arch/s390/lib/xor.c | 5 +- arch/s390/mm/kasan_init.c | 35 ++----- arch/s390/mm/maccess.c | 19 ++-- arch/s390/mm/page-states.c | 12 +-- arch/s390/pci/pci_insn.c | 55 +++++----- arch/s390/pci/pci_irq.c | 46 ++++++-- arch/s390/pci/pci_mmio.c | 24 ++--- arch/s390/purgatory/Makefile | 1 + drivers/s390/block/dasd_diag.c | 21 ++-- drivers/s390/block/dcssblk.c | 106 +------------------ drivers/s390/block/xpram.c | 63 +---------- drivers/s390/char/monreader.c | 125 +--------------------- drivers/s390/char/monwriter.c | 90 +--------------- drivers/s390/char/sclp.c | 174 +------------------------------ drivers/s390/char/sclp.h | 13 --- drivers/s390/char/sclp_cmd.c | 34 ------ drivers/s390/char/sclp_con.c | 53 +--------- drivers/s390/char/sclp_ftp.c | 1 - drivers/s390/char/sclp_quiesce.c | 37 +------ drivers/s390/char/sclp_rw.c | 7 -- drivers/s390/char/sclp_rw.h | 6 -- drivers/s390/char/sclp_tty.c | 4 +- drivers/s390/char/sclp_vt220.c | 56 +--------- drivers/s390/char/vmlogrdr.c | 24 ----- drivers/s390/cio/airq.c | 2 +- drivers/s390/cio/ccwgroup.c | 60 ++++------- drivers/s390/cio/chp.c | 3 + drivers/s390/cio/chsc.c | 2 - drivers/s390/cio/cio.c | 2 +- drivers/s390/cio/cio.h | 13 +-- drivers/s390/cio/cmf.c | 13 +-- drivers/s390/cio/ioasm.c | 143 +++++++++++++------------ drivers/s390/cio/qdio.h | 25 ++--- drivers/s390/cio/qdio_main.c | 62 +++++------ drivers/s390/cio/trace.h | 6 +- drivers/s390/crypto/ap_bus.c | 84 ++++++++++++--- drivers/s390/crypto/ap_bus.h | 3 + drivers/s390/crypto/ap_card.c | 2 + drivers/s390/crypto/vfio_ap_drv.c | 13 ++- drivers/s390/crypto/zcrypt_api.c | 1 - drivers/s390/crypto/zcrypt_api.h | 3 +- drivers/s390/crypto/zcrypt_card.c | 30 +++++- drivers/s390/crypto/zcrypt_ccamisc.c | 14 +-- drivers/s390/crypto/zcrypt_ccamisc.h | 4 +- drivers/s390/crypto/zcrypt_msgtype50.c | 2 + drivers/s390/crypto/zcrypt_msgtype6.c | 5 + drivers/s390/crypto/zcrypt_queue.c | 16 +-- drivers/s390/virtio/virtio_ccw.c | 30 +----- drivers/tty/hvc/hvc_iucv.c | 51 --------- scripts/min-tool-version.sh | 7 +- 112 files changed, 1250 insertions(+), 1853 deletions(-) create mode 100644 arch/s390/include/asm/tpi.h create mode 100644 arch/s390/include/asm/types.h