Hi Linus, please pull s390 updates for the 5.19 merge window. Note that this contains one small patch which touches generic entry code, and the corresponding pieces within x86. This has been Acked by Thomas Gleixner and Peter Zijlstra. Thanks, Heiko The following changes since commit af2d861d4cd2a4da5137f795ee3509e6f944a25b: Linux 5.18-rc4 (2022-04-24 14:51:22 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.19-1 for you to fetch changes up to 94d3477897481b92874654455e263e0b1728acb5: s390/head: get rid of 31 bit leftovers (2022-05-18 13:31:07 +0200) ---------------------------------------------------------------- s390 updates for 5.19 merge window - Make use of the IBM z16 processor activity instrumentation facility to count cryptography operations: add a new PMU device driver so that perf can make use of this. - Add new IBM z16 extended counter set to cpumf support. - Add vdso randomization support. - Add missing KCSAN instrumentation to barriers and spinlocks, which should make s390's KCSAN support complete. - Add support for IPL-complete-control facility: notify the hypervisor that kexec finished work and the kernel starts. - Improve error logging for PCI. - Various small changes to workaround llvm's integrated assembler limitations, and one bug, to make it finally possible to compile the kernel with llvm's integrated assembler. This also requires to raise the minimum clang version to 14.0.0. - Various other small enhancements, bug fixes, and cleanups all over the place. ---------------------------------------------------------------- Alexander Egorenkov (2): s390/sclp: add detection of IPL-complete-control facility s390/kexec: set end-of-ipl flag in last diag308 call Alexander Gordeev (1): s390/smp: sort out physical vs virtual CPU0 lowcore pointer Guilherme G. Piccoli (1): s390/consoles: improve panic notifiers reliability Haowen Bai (1): s390/cio: simplify the calculation of variables Harald Freudenberger (4): s390/zcrypt: add display of ASYM master key verification pattern s390/ap: uevent on apmask/aqpmask change s390/zcrypt: cleanup CPRB struct definitions s390/zcrypt: code cleanup Heiko Carstens (21): s390/nospec: prefer local labels in .set directives s390/extable: prefer local labels in .set directives s390/vx: remove comments from macros which break LLVM's IAS s390/boot: get rid of startup archive s390/head: adjust iplstart entry point s390/boot: change initial program check handler to disabled wait psw s390/head: initialize all new psws s390/ptrace: move short psw definitions to ptrace header file s390/boot: convert initial lowcore to C s390/boot: convert parmarea to C s390/entry: remove broken and not needed code s390/compat: cleanup compat_linux.h header file s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES s390/alternatives: provide identical sized orginal/alternative sequences s390/alternatives: remove padding generation code s390/entry: workaround llvm's IAS limitations s390/purgatory: workaround llvm's IAS limitations s390/boot: workaround llvm IAS bug s390/boot: do not emit debug info for assembly with llvm's IAS scripts/min-tool-version.sh: raise minimum clang version to 14.0.0 for s390 s390/head: get rid of 31 bit leftovers Ilya Leoshkevich (1): s390: add KCSAN instrumentation to barriers and spinlocks Julia Lawall (2): s390/crypto: fix typos in comments s390/hypfs: fix typos in comments Niklas Schnelle (4): s390/pci: make better use of zpci_dbg() levels s390/pci: don't log availability events as errors s390/pci: add PCI access type and length to error records s390/pci: add error record for CC 2 retries Pingfan Liu (1): s390/irq: utilize RCU instead of irq_lock_sparse() in show_msi_interrupt() Sven Schnelle (7): s390/mmap: increase stack/mmap gap to 128MB s390/vdso: move vdso mapping to its own function s390/vdso: map vdso above stack s390/vdso: add vdso randomization entry: Rename arch_check_user_regs() to arch_enter_from_user_mode() s390/stp: fix todoff size s390/stp: clock_delta should be signed Thomas Huth (1): s390/vfio-ap: remove superfluous MODULE_DEVICE_TABLE declaration Thomas Richter (2): s390/pai: add support for cryptography counters s390/cpumf: add new extended counter set for IBM z16 arch/s390/Makefile | 2 + arch/s390/boot/.gitignore | 3 + arch/s390/boot/Makefile | 78 ++- arch/s390/boot/boot.h | 6 +- arch/s390/boot/{compressed => }/clz_ctz.c | 0 arch/s390/boot/compressed/.gitignore | 4 - arch/s390/boot/compressed/Makefile | 86 ---- arch/s390/boot/{compressed => }/decompressor.c | 0 arch/s390/boot/{compressed => }/decompressor.h | 0 arch/s390/boot/head.S | 366 ++++++------- arch/s390/boot/ipl_data.c | 84 +++ arch/s390/boot/ipl_parm.c | 7 + arch/s390/boot/kaslr.c | 2 +- arch/s390/boot/mem_detect.c | 2 +- arch/s390/boot/startup.c | 2 +- arch/s390/boot/{compressed => }/vmlinux.lds.S | 9 + arch/s390/crypto/des_s390.c | 2 +- arch/s390/crypto/prng.c | 2 +- arch/s390/hypfs/hypfs_vm.c | 2 +- arch/s390/include/asm/alternative-asm.h | 76 +-- arch/s390/include/asm/alternative.h | 93 +--- arch/s390/include/asm/asm-extable.h | 12 +- arch/s390/include/asm/barrier.h | 16 +- arch/s390/include/asm/cio.h | 2 +- arch/s390/include/asm/compat.h | 25 +- arch/s390/include/asm/ctl_reg.h | 4 +- arch/s390/include/asm/entry-common.h | 14 +- arch/s390/include/asm/ipl.h | 6 + arch/s390/include/asm/lowcore.h | 5 +- arch/s390/include/asm/nmi.h | 2 +- arch/s390/include/asm/nospec-insn.h | 12 +- arch/s390/include/asm/pai.h | 74 +++ arch/s390/include/asm/pci_debug.h | 7 +- arch/s390/include/asm/preempt.h | 15 +- arch/s390/include/asm/processor.h | 8 +- arch/s390/include/asm/ptrace.h | 29 ++ arch/s390/include/asm/sclp.h | 1 + arch/s390/include/asm/scsw.h | 83 ++- arch/s390/include/asm/spinlock.h | 3 +- arch/s390/include/asm/stp.h | 4 +- arch/s390/include/asm/vx-insn.h | 6 +- arch/s390/include/uapi/asm/pkey.h | 2 +- arch/s390/include/uapi/asm/zcrypt.h | 42 +- arch/s390/kernel/Makefile | 1 + arch/s390/kernel/alternative.c | 61 +-- arch/s390/kernel/compat_linux.h | 89 ++-- arch/s390/kernel/entry.S | 40 +- arch/s390/kernel/irq.c | 4 +- arch/s390/kernel/machine_kexec.c | 10 +- arch/s390/kernel/nmi.c | 6 +- arch/s390/kernel/perf_cpum_cf_events.c | 148 ++++++ arch/s390/kernel/perf_pai_crypto.c | 688 +++++++++++++++++++++++++ arch/s390/kernel/relocate_kernel.S | 3 +- arch/s390/kernel/setup.c | 2 +- arch/s390/kernel/time.c | 12 +- arch/s390/kernel/vdso.c | 55 +- arch/s390/kvm/priv.c | 1 - arch/s390/lib/spinlock.c | 4 +- arch/s390/mm/mmap.c | 4 +- arch/s390/pci/pci.c | 2 +- arch/s390/pci/pci_clp.c | 2 +- arch/s390/pci/pci_debug.c | 2 +- arch/s390/pci/pci_event.c | 3 - arch/s390/pci/pci_insn.c | 108 +++- arch/s390/purgatory/head.S | 30 +- arch/x86/include/asm/entry-common.h | 4 +- drivers/s390/char/con3215.c | 25 +- drivers/s390/char/con3270.c | 31 +- drivers/s390/char/raw3270.c | 15 + drivers/s390/char/raw3270.h | 1 + drivers/s390/char/sclp_con.c | 26 +- drivers/s390/char/sclp_early.c | 4 +- drivers/s390/char/sclp_vt220.c | 42 +- drivers/s390/cio/chsc.c | 4 +- drivers/s390/crypto/ap_bus.c | 96 ++-- drivers/s390/crypto/ap_bus.h | 1 + drivers/s390/crypto/ap_queue.c | 7 +- drivers/s390/crypto/pkey_api.c | 149 +++--- drivers/s390/crypto/vfio_ap_drv.c | 2 - drivers/s390/crypto/zcrypt_api.c | 215 ++++---- drivers/s390/crypto/zcrypt_api.h | 4 +- drivers/s390/crypto/zcrypt_card.c | 2 +- drivers/s390/crypto/zcrypt_cca_key.h | 58 +-- drivers/s390/crypto/zcrypt_ccamisc.c | 272 +++++----- drivers/s390/crypto/zcrypt_ccamisc.h | 6 + drivers/s390/crypto/zcrypt_cex2a.c | 11 +- drivers/s390/crypto/zcrypt_cex2c.c | 10 +- drivers/s390/crypto/zcrypt_cex4.c | 44 +- drivers/s390/crypto/zcrypt_ep11misc.c | 168 +++--- drivers/s390/crypto/zcrypt_ep11misc.h | 2 +- drivers/s390/crypto/zcrypt_error.h | 3 +- drivers/s390/crypto/zcrypt_msgtype50.c | 31 +- drivers/s390/crypto/zcrypt_msgtype6.c | 340 ++++++------ drivers/s390/crypto/zcrypt_msgtype6.h | 26 +- drivers/s390/crypto/zcrypt_queue.c | 2 +- include/linux/entry-common.h | 8 +- kernel/entry/common.c | 2 +- scripts/min-tool-version.sh | 3 +- 98 files changed, 2553 insertions(+), 1534 deletions(-) rename arch/s390/boot/{compressed => }/clz_ctz.c (100%) delete mode 100644 arch/s390/boot/compressed/.gitignore delete mode 100644 arch/s390/boot/compressed/Makefile rename arch/s390/boot/{compressed => }/decompressor.c (100%) rename arch/s390/boot/{compressed => }/decompressor.h (100%) create mode 100644 arch/s390/boot/ipl_data.c rename arch/s390/boot/{compressed => }/vmlinux.lds.S (94%) create mode 100644 arch/s390/include/asm/pai.h create mode 100644 arch/s390/kernel/perf_pai_crypto.c