Hello Linus, please pull more s390 updates for 6.11 merge window. Thank you, Vasily The following changes since commit 66ebbdfdeb093e097399b1883390079cd4c3022b: Merge tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2024-07-22 14:02:19 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.11-2 for you to fetch changes up to 6dc2e98d5f1de162d1777aee97e59d75d70d07c5: s390: Remove protvirt and kvm config guards for uv code (2024-07-23 16:02:33 +0200) ---------------------------------------------------------------- more s390 updates for 6.11 merge window - Fix KMSAN build breakage caused by the conflict between s390 and mm-stable trees - Add KMSAN page markers for ptdump - Add runtime constant support - Fix __pa/__va for modules under non-GPL licenses by exporting necessary vm_layout struct with EXPORT_SYMBOL to prevent linkage problems - Fix an endless loop in the CF_DIAG event stop in the CPU Measurement Counter Facility code when the counter set size is zero - Remove the PROTECTED_VIRTUALIZATION_GUEST config option and enable its functionality by default - Support allocation of multiple MSI interrupts per device and improve logging of architecture-specific limitations - Add support for lowcore relocation as a debugging feature to catch all null ptr dereferences in the kernel address space, improving detection beyond the current implementation's limited write access protection - Clean up and rework CPU alternatives to allow for callbacks and early patching for the lowcore relocation ---------------------------------------------------------------- Alexander Gordeev (1): s390/boot: Do not assume the decompressor range is reserved Gerd Bayer (2): s390/pci: Refactor arch_setup_msi_irqs() s390/pci: Allow allocation of more than 1 MSI interrupt Heiko Carstens (11): s390: Add runtime constant support s390/alternatives: Use consistent naming s390/alternatives: Merge both alternative header files s390/alternatives: Move text sync functions s390/uaccess: Make s390_kernel_write() usable for decompressor s390/alternatives: Rework to allow for callbacks s390/nospec: Push down alternative handling s390/alternatives: Remove alternative facility list s390/nmi: Simplify ptregs setup s390/entry: Move SIE indicator flag to thread info s390/atomic_ops: Disable flag outputs constraint for GCC versions below 14.2.0 Ilya Leoshkevich (2): s390/kmsan: Fix merge conflict with get_lowcore() introduction s390/ptdump: Add KMSAN page markers Janosch Frank (1): s390: Remove protvirt and kvm config guards for uv code Sven Schnelle (20): s390/smp: Handle restart interrupt on ipl cpu s390/smp: Switch pcpu_devices to percpu s390: Move CIF flags to struct pcpu s390/alternatives: Remove noaltinstr option s390/alternatives: Allow early alternative patching in decompressor s390: Add infrastructure to patch lowcore accesses s390/head64: Make startup code ready for lowcore relocation s390/entry: Make __sie64a() ready for lowcore relocation s390/entry: Add base register to MBEAR macro s390/entry: Add base register to SIEEXIT macro s390/entry: Add base register to CHECK_VMAP_STACK/CHECK_STACK macro s390/entry: Make pgm_check_handler() ready for lowcore relocation s390/entry: Make int handlers ready for lowcore relocation s390/entry: Make mchk_int_handler() ready for lowcore relocation s390/entry: Make restart_int_handler() ready for lowcore relocation s390/entry: Make __switch_to() ready for lowcore relocation s390/entry: Make ret_from_fork() ready for lowcore relocation s390/entry: Make system_call() ready for lowcore relocation s390/kdump: Make kdump ready for lowcore relocation s390/boot: Add cmdline option to relocate lowcore Thomas Richter (1): s390/cpum_cf: Fix endless loop in CF_DIAG event stop Vasily Gorbik (1): s390/setup: Fix __pa/__va for modules under non-GPL licenses Documentation/admin-guide/kernel-parameters.txt | 3 - arch/s390/Kconfig | 11 -- arch/s390/boot/Makefile | 3 +- arch/s390/boot/alternative.c | 3 + arch/s390/boot/boot.h | 4 + arch/s390/boot/ipl_parm.c | 3 + arch/s390/boot/startup.c | 14 +- arch/s390/boot/uv.c | 8 - arch/s390/boot/uv.h | 13 -- arch/s390/boot/vmem.c | 11 +- arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/s390/include/asm/abs_lowcore.h | 8 + arch/s390/include/asm/alternative-asm.h | 57 ------ arch/s390/include/asm/alternative.h | 154 +++++++++++++-- arch/s390/include/asm/atomic_ops.h | 3 +- arch/s390/include/asm/facility.h | 1 - arch/s390/include/asm/kmsan.h | 6 +- arch/s390/include/asm/lowcore.h | 32 ++- arch/s390/include/asm/nospec-branch.h | 9 + arch/s390/include/asm/page.h | 2 - arch/s390/include/asm/processor.h | 30 ++- arch/s390/include/asm/runtime-const.h | 77 ++++++++ arch/s390/include/asm/smp.h | 1 - arch/s390/include/asm/spinlock.h | 2 +- arch/s390/include/asm/thread_info.h | 1 + arch/s390/include/asm/uaccess.h | 9 +- arch/s390/include/asm/uv.h | 32 --- arch/s390/kernel/Makefile | 3 +- arch/s390/kernel/abs_lowcore.c | 1 + arch/s390/kernel/alternative.c | 75 +++---- arch/s390/kernel/alternative.h | 0 arch/s390/kernel/asm-offsets.c | 5 +- arch/s390/kernel/early.c | 9 +- arch/s390/kernel/entry.S | 251 +++++++++++++----------- arch/s390/kernel/head64.S | 8 +- arch/s390/kernel/ipl.c | 2 +- arch/s390/kernel/machine_kexec.c | 2 +- arch/s390/kernel/nospec-branch.c | 16 +- arch/s390/kernel/nospec-sysfs.c | 2 +- arch/s390/kernel/perf_cpum_cf.c | 14 +- arch/s390/kernel/processor.c | 20 +- arch/s390/kernel/reipl.S | 26 ++- arch/s390/kernel/setup.c | 7 +- arch/s390/kernel/smp.c | 141 ++++++------- arch/s390/kernel/uv.c | 35 ++-- arch/s390/kernel/vmlinux.lds.S | 5 + arch/s390/lib/spinlock.c | 4 +- arch/s390/mm/dump_pagetables.c | 30 +++ arch/s390/mm/maccess.c | 4 +- arch/s390/pci/pci_irq.c | 110 +++++++---- drivers/s390/char/Kconfig | 2 +- 52 files changed, 746 insertions(+), 525 deletions(-) create mode 100644 arch/s390/boot/alternative.c delete mode 100644 arch/s390/include/asm/alternative-asm.h create mode 100644 arch/s390/include/asm/runtime-const.h create mode 100644 arch/s390/kernel/alternative.h