Hello Linus, please pull s390 changes for 6.7. Thank you, Vasily The following changes since commit ce9ecca0238b140b88f43859b211c9fdfd8e5b70: Linux 6.6-rc2 (2023-09-17 14:40:24 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.7-1 for you to fetch changes up to 991a211aa99f468cd291a97b8dcb448ebc77f6c4: s390/cio: replace deprecated strncpy with strscpy (2023-10-25 15:08:30 +0200) ---------------------------------------------------------------- s390 updates for the 6.7 merge window - Get rid of private VM_FAULT flags - Add word-at-a-time implementation - Add DCACHE_WORD_ACCESS support - Cleanup control register handling - Disallow CPU hotplug of CPU 0 to simplify its handling complexity, following a similar restriction in x86 - Optimize pai crypto map allocation - Update the list of crypto express EP11 coprocessor operation modes - Fixes and improvements for secure guests AP pass-through - Several fixes to address incorrect page marking for address translation with the "cmma no-dat" feature, preventing potential incorrect guest TLB flushes - Fix early IPI handling - Several virtual vs physical address confusion fixes - Various small fixes and improvements all over the code ---------------------------------------------------------------- Alexander Gordeev (2): s390/crash: remove unused parameter s390/crash: fix virtual vs physical address confusion Harald Freudenberger (3): s390/ap: re-init AP queues on config on s390/zcrypt: introduce new internal AP queue se_bound attribute s390/ap: show APFS value on error reply 0x8B Heiko Carstens (55): s390/smp,mcck: fix early IPI handling s390/setup: use strlcat() instead of strcat() s390/ctlreg: move control register code to separate file s390/ctlreg: rename ctl_reg.h to ctlreg.h s390/ctlreg: cleanup inline assemblies s390/ctlreg: add local and system prefix to some functions s390/ctlreg: add local_ctl_load() and local_ctl_store() s390/ctlreg: use local_ctl_load() and local_ctl_store() where possible s390/ctlreg: change parameters of __local_ctl_load() and __local_ctl_store() s390/kprobes,ptrace: open code struct per_reg s390/ctlreg: add type checking to __local_ctl_load() and __local_ctl_store() s390/ctlreg: add struct ctlreg s390/ctltreg: make initialization of control register save area explicit s390/ctlreg: allow to call system_ctl_set/clear_bit() early s390/early: use system_ctl_set_bit() instead of local_ctl_set_bit() s390/ctlreg: add system_ctl_load() s390/setup: make use of system_ctl_load() s390/ctlreg: add missing defines s390/irq: use CR0 defines to define CR0_IRQ_SUBCLASS_MASK s390/ctlreg: add control register bits s390: use control register bit defines s390/extable: reduce number of extable macros s390: provide word-at-a-time implementation s390: add support for DCACHE_WORD_ACCESS s390/mm: remove __GFP_HIGHMEM masking s390/mm: make vmemmap_free() only for CONFIG_MEMORY_HOTPLUG available s390/mm,fault: remove and improve comments, adjust whitespace s390/mm,fault: reverse x-mas tree coding style s390/mm,fault: use __ratelimit() instead of printk_ratelimit() s390/mm,fault: use pr_warn_ratelimited() s390/mm,fault: use pr_warn(), pr_cont(), ... instead of open-coding s390/mm,fault: have balanced braces, remove unnecessary blanks s390/mm,fault: include linux/mmu_context.h s390/mm,fault: remove line break s390/mm,fault: remove noinline attribute from all functions s390/mm,fault: replace WARN_ON_ONCE() with unreachable() s390/mm,fault: use get_fault_address() everywhere s390/mm,fault: use static key for store indication s390/mm: move translation-exception identification structure to fault.h s390/mm,fault: improve readability by using teid union s390/mm,fault: use get_kernel_nofault() to dereference in dump_pagetable() s390/mm,fault: remove VM_FAULT_PFAULT s390/mm,fault: get rid of do_low_address() s390/mm,fault: call do_fault_error() only from do_exception() s390/mm,fault: simplify kfence fault handling s390/mm,fault: remove VM_FAULT_BADCONTEXT s390/mm,fault: remove VM_FAULT_SIGNAL s390/mm,fault: remove VM_FAULT_BADMAP and VM_FAULT_BADACCESS s390/mm,fault: move VM_FAULT_ERROR handling to do_exception() s390/diag: add missing virt_to_phys() translation to diag224() s390/cmma: fix initial kernel address space page table walk s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc() s390/mm: add missing arch_set_page_dat() call to gmap allocations s390/cmma: fix detection of DAT pages s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir Ilya Leoshkevich (2): s390/smp: keep the original lowcore for CPU 0 s390: delete the unused store_prefix() function Ingo Franzki (1): s390/zcrypt: update list of EP11 operation modes Justin Stitt (2): s390/sclp: replace deprecated strncpy with strtomem s390/cio: replace deprecated strncpy with strscpy Peter Oberparleiter (2): s390/cio: export CMG value as decimal s390/cio: fix virtual vs physical address confusion Sumanth Korikkar (1): s390/sclp: handle default case in sclp memory notifier Thomas Richter (4): s390/pai_crypto: dynamically allocate percpu pai crypto map data structure s390/pai_crypto: use PERF_ATTACH_TASK define for per task detection s390/pai: initialize event count once at initialization s390/pai_crypto: remove per-cpu variable assignement in event initialization Tobias Huschle (1): s390/smp: disallow CPU hotplug of CPU 0 Vasily Gorbik (1): s390/vmem: remove unused variable arch/s390/Kconfig | 1 + arch/s390/boot/startup.c | 2 +- arch/s390/boot/vmem.c | 17 +- arch/s390/include/asm/asm-extable.h | 27 +- arch/s390/include/asm/ctl_reg.h | 146 ----------- arch/s390/include/asm/ctlreg.h | 251 ++++++++++++++++++ arch/s390/include/asm/fault.h | 28 ++ arch/s390/include/asm/fpu/internal.h | 1 - arch/s390/include/asm/irq.h | 23 +- arch/s390/include/asm/kprobes.h | 3 +- arch/s390/include/asm/lowcore.h | 15 +- arch/s390/include/asm/mmu_context.h | 10 +- arch/s390/include/asm/pgtable.h | 3 +- arch/s390/include/asm/smp.h | 1 - arch/s390/include/asm/uaccess.h | 1 - arch/s390/include/asm/word-at-a-time.h | 64 +++++ arch/s390/kernel/Makefile | 2 +- arch/s390/kernel/crash_dump.c | 6 +- arch/s390/kernel/ctlreg.c | 121 +++++++++ arch/s390/kernel/diag.c | 3 +- arch/s390/kernel/early.c | 22 +- arch/s390/kernel/guarded_storage.c | 6 +- arch/s390/kernel/ipl.c | 2 +- arch/s390/kernel/irq.c | 4 +- arch/s390/kernel/kprobes.c | 21 +- arch/s390/kernel/machine_kexec.c | 6 +- arch/s390/kernel/nmi.c | 24 +- arch/s390/kernel/perf_cpum_cf.c | 2 +- arch/s390/kernel/perf_pai_crypto.c | 138 +++++++--- arch/s390/kernel/perf_pai_ext.c | 10 +- arch/s390/kernel/ptrace.c | 45 ++-- arch/s390/kernel/setup.c | 23 +- arch/s390/kernel/smp.c | 132 +--------- arch/s390/kernel/time.c | 4 +- arch/s390/kvm/gaccess.c | 45 +--- arch/s390/kvm/kvm-s390.c | 6 +- arch/s390/kvm/priv.c | 2 +- arch/s390/lib/uaccess.c | 15 +- arch/s390/mm/dump_pagetables.c | 2 +- arch/s390/mm/extable.c | 18 ++ arch/s390/mm/fault.c | 460 +++++++++++++-------------------- arch/s390/mm/gmap.c | 24 +- arch/s390/mm/init.c | 4 +- arch/s390/mm/maccess.c | 2 +- arch/s390/mm/page-states.c | 25 +- arch/s390/mm/pageattr.c | 2 +- arch/s390/mm/pgalloc.c | 8 +- arch/s390/mm/vmem.c | 15 +- arch/s390/pci/pci.c | 2 +- drivers/s390/char/diag_ftp.c | 2 +- drivers/s390/char/sclp.c | 14 +- drivers/s390/char/sclp_cmd.c | 3 +- drivers/s390/char/sclp_early.c | 2 +- drivers/s390/char/sclp_early_core.c | 7 +- drivers/s390/cio/chp.c | 2 +- drivers/s390/cio/chsc.c | 8 +- drivers/s390/cio/crw.c | 4 +- drivers/s390/cio/isc.c | 4 +- drivers/s390/crypto/ap_bus.c | 21 +- drivers/s390/crypto/ap_bus.h | 3 + drivers/s390/crypto/ap_queue.c | 58 ++++- drivers/s390/crypto/zcrypt_api.c | 10 +- drivers/s390/crypto/zcrypt_cex4.c | 4 + drivers/s390/crypto/zcrypt_error.h | 18 +- net/iucv/iucv.c | 4 +- 65 files changed, 1111 insertions(+), 847 deletions(-) delete mode 100644 arch/s390/include/asm/ctl_reg.h create mode 100644 arch/s390/include/asm/ctlreg.h create mode 100644 arch/s390/include/asm/fault.h create mode 100644 arch/s390/include/asm/word-at-a-time.h create mode 100644 arch/s390/kernel/ctlreg.c