[GIT PULL] more s390 updates for 6.11 merge window

From: Vasily Gorbik
Date: Fri Jul 26 2024 - 10:17:58 EST


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