[GIT PULL] s390 updates for 5.15 merge window

From: Heiko Carstens
Date: Mon Aug 30 2021 - 09:12:03 EST


Hi Linus,

please pull s390 updates for the 5.15 merge window. There are some small
changes outside of s390, but everything has been agreed on (see provided
links below).

Thanks,
Heiko

The following changes since commit ff1176468d368232b684f75e82563369208bc371:

Linux 5.14-rc3 (2021-07-25 15:35:14 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.15-1

for you to fetch changes up to 927932240aa1739ac8c92b142a5e2dcc490f36e0:

s390: remove SCHED_CORE from defconfigs (2021-08-30 12:55:05 +0200)

----------------------------------------------------------------
s390 updates for 5.15 merge window

- Improve ftrace code patching so that stop_machine is not required anymore.
This requires a small common code patch acked by Steven Rostedt:
https://lore.kernel.org/linux-s390/20210730220741.4da6fdf6@xxxxxxxxxxxxxxxx/

- Enable KCSAN for s390. This comes with a small common code change to fix a
compile warning. Acked by Marco Elver:
https://lore.kernel.org/r/20210729142811.1309391-1-hca@xxxxxxxxxxxxx/

- Add KFENCE support for s390. This also comes with a minimal x86 patch from
Marco Elver who said also this can be carried via the s390 tree:
https://lore.kernel.org/linux-s390/YQJdarx6XSUQ1tFZ@xxxxxxxxxxxxxxxx/

- More changes to prepare the decompressor for relocation.

- Enable DAT also for CPU restart path.

- Final set of register asm removal patches; leaving only three locations where
needed and sane.

- Add NNPA, Vector-Packed-Decimal-Enhancement Facility 2, PCI MIO support to
hwcaps flags.

- Cleanup hwcaps implementation.

- Add new instructions to in-kernel disassembler.

- Various QDIO cleanups.

- Add SCLP debug feature.

- Various other cleanups and improvements all over the place.

----------------------------------------------------------------
Alexander Egorenkov (19):
s390/boot: move all linker symbol declarations from c to h files
s390/boot: make stacks part of the decompressor's image
s390/cio: remove unused include linux/spinlock.h from cio.h
s390/sclp: use only one sclp early buffer to send commands
s390/boot: move uv function declarations to boot/uv.h
s390/boot: disable Secure Execution in dump mode
s390/uv: de-duplicate checks for Protected Host Virtualization
s390/boot: get rid of magic numbers for startup offsets
s390/boot: move sclp early buffer from fixed address in asm to C
s390/boot: introduce boot data 'initrd_data'
s390/dump: introduce boot data 'oldmem_data'
s390/setup: remove unused symbolic constants for C code from setup.h
s390/setup: drop _OFFSET macros
s390/setup: generate asm offsets from struct parmarea
s390/boot: move EP_OFFSET and EP_STRING to head.S
s390/boot: make _diag308_reset_dma() position-independent
s390/boot: move dma sections from decompressor to decompressed kernel
s390/setup: don't reserve memory that occupied decompressor's head
s390/sclp: reserve memory occupied by sclp early buffer

Alexander Gordeev (4):
s390/kasan: fix large PMD pages address alignment check
s390/boot: factor out offset_vmlinux_info() function
s390/smp: enable DAT before CPU restart callback is called
s390/smp: do not use nodat_stack for secondary CPU start

David Hildenbrand (1):
s390/mm: remove unused cmma functions

Harald Freudenberger (2):
s390/zcrypt: fix wrong offset index for APKA master key valid state
s390/ap: fix state machine hang after failure to enable irq

Heiko Carstens (34):
s390/mm: use pr_err() instead of printk() for pte_ERROR & friends
s390/mm: don't print hashed values for pte_ERROR() & friends
s390/jump_label: print real address in a case of a jump label bug
s390/dasd: remove debug printk
s390/debug: remove unused print defines
s390/cpacf: get rid of register asm
s390/syscall: provide generic system call functions
s390/vdso: use system call functions
s390/ctl_reg: add ctlreg5 and ctlreg15 unions
s390: report more CPU capabilities
s390/disassembler: add instructions
s390/hwcaps: shorten HWCAP defines
s390/hwcaps: introduce HWCAP bit numbers
s390/hwcaps: use named initializers for hwcap string arrays
s390/hwcaps: add sanity checks
s390/hwcaps: move setup_hwcaps()
s390/hwcaps: split setup_hwcaps()
s390/hwcaps: open code initialization of first six hwcap bits
s390/hwcaps: use consistent coding style / remove comments
s390/hwcaps: remove z/Architecture mode active check
s390/hwcaps: remove hwcap stfle check
s390/hwcaps: make sie capability regular hwcap
s390/boot: get rid of arithmetics on function pointers
s390/delay: get rid of not needed header includes
s390/mm: implement set_memory_4k()
kcsan: use u64 instead of cycles_t
s390/mm: use page_to_virt() in __kernel_map_pages()
s390: rename dma section to amode31
s390: fix typo in linker script
s390/mm,pageattr: fix walk_pte_level() early exit
s390/diag: make restart_part2 a local label
KVM: s390: generate kvm hypercall functions
s390: update defconfigs
s390: remove SCHED_CORE from defconfigs

Ilya Leoshkevich (4):
s390/headers: fix code style in module.h
s390: enable KCSAN
ftrace: Introduce ftrace_need_init_nop()
s390/ftrace: implement hotpatching

Julian Wiedmann (18):
s390/qdio: fix roll-back after timeout on ESTABLISH ccw
s390/qdio: cancel the ESTABLISH ccw after timeout
s390/qdio: improve roll-back after error on ESTABLISH ccw
s390/qdio: propagate error when cancelling a ccw fails
s390/qdio: remove remaining tasklet & timer code
s390/qdio: remove unneeded siga-sync for Output Queue
s390/qdio: clarify reporting of errors to the drivers
s390/qdio: remove unused macros
s390/qdio: use absolute data address in ESTABLISH ccw
s390/qdio: remove unused sync-after-IRQ infrastructure
s390/qdio: clean up SIGA capability tracking
s390/qdio: fine-tune the queue sync
s390/qdio: use dev_info() in qdio_print_subchannel_info()
s390/qdio: consolidate QIB code
s390/qdio: remove unused support for SLIB parameters
s390/ap: use the common device_driver pointer
s390/ap: use the common driver-data pointer
s390/zcrypt: remove gratuitious NULL check in .remove() callbacks

Marco Elver (1):
kfence, x86: only define helpers if !MODULE

Masahiro Yamada (1):
s390: move the install rule to arch/s390/Makefile

Niklas Schnelle (8):
s390: make PCI mio support a machine flag
s390: add HWCAP_S390_PCI_MIO to ELF hwcaps
s390/pci: cleanup resources only if necessary
s390/pci: reset zdev->zbus on registration failure
s390/pci: fix misleading rc in clp_set_pci_fn()
s390/pci: handle FH state mismatch only on disable
s390/pci: simplify CLP List PCI handling
s390/pci: improve DMA translation init and exit

Peter Oberparleiter (4):
s390/debug: keep debug data on resize
s390/debug: fix debug area life cycle
s390/debug: add early tracing support
s390/sclp: add tracing of SCLP interactions

Randy Dunlap (1):
s390/crypto: fix all kernel-doc warnings in vfio_ap_ops.c

Sebastian Andrzej Siewior (2):
s390: replace deprecated CPU-hotplug functions
s390/sclp: replace deprecated CPU-hotplug functions

Sven Schnelle (4):
kfence: add function to mask address bits
s390: add support for KFENCE
s390: add kfence region to pagetable dumper
s390: remove do_signal() prototype and do_notify_resume() function

Vineeth Vijayan (2):
s390/cio: add rescan functionality on channel subsystem
s390/cio: add dev_busid sysfs entry for each subchannel

arch/s390/Kconfig | 2 +
arch/s390/Makefile | 3 +-
arch/s390/boot/Makefile | 7 +-
arch/s390/boot/boot.h | 14 +-
arch/s390/boot/compressed/Makefile | 1 +
arch/s390/boot/compressed/decompressor.c | 5 -
arch/s390/boot/compressed/decompressor.h | 5 +
arch/s390/boot/compressed/vmlinux.lds.S | 35 +--
arch/s390/boot/head.S | 56 +---
arch/s390/boot/ipl_report.c | 6 +-
arch/s390/boot/kaslr.c | 6 +-
arch/s390/boot/mem_detect.c | 8 +-
arch/s390/boot/pgm_check_info.c | 5 +-
arch/s390/boot/sclp_early_core.c | 9 +
arch/s390/boot/startup.c | 78 ++---
arch/s390/boot/uv.c | 40 ++-
arch/s390/boot/uv.h | 19 ++
arch/s390/configs/debug_defconfig | 3 +-
arch/s390/configs/defconfig | 1 -
arch/s390/hypfs/hypfs_diag0c.c | 12 +-
arch/s390/include/asm/cio.h | 1 -
arch/s390/include/asm/cpacf.h | 208 +++++++------
arch/s390/include/asm/cpufeature.h | 2 +-
arch/s390/include/asm/ctl_reg.h | 17 ++
arch/s390/include/asm/debug.h | 122 ++++++--
arch/s390/include/asm/diag.h | 15 +-
arch/s390/include/asm/elf.h | 76 +++--
arch/s390/include/asm/extable.h | 4 +-
arch/s390/include/asm/ftrace.h | 46 +--
arch/s390/include/asm/ftrace.lds.h | 21 ++
arch/s390/include/asm/ipl.h | 1 +
arch/s390/include/asm/kfence.h | 42 +++
arch/s390/include/asm/kvm_para.h | 229 +++++---------
arch/s390/include/asm/linkage.h | 4 +-
arch/s390/include/asm/lowcore.h | 3 +-
arch/s390/include/asm/module.h | 14 +-
arch/s390/include/asm/page.h | 3 -
arch/s390/include/asm/pci.h | 7 +-
arch/s390/include/asm/pci_dma.h | 2 -
arch/s390/include/asm/pgtable.h | 10 +-
arch/s390/include/asm/processor.h | 2 +
arch/s390/include/asm/qdio.h | 19 +-
arch/s390/include/asm/sclp.h | 10 +-
arch/s390/include/asm/sections.h | 4 +-
arch/s390/include/asm/set_memory.h | 6 +
arch/s390/include/asm/setup.h | 46 +--
arch/s390/include/asm/syscall.h | 59 ++++
arch/s390/include/asm/uv.h | 8 -
arch/s390/include/asm/vdso/gettimeofday.h | 22 +-
arch/s390/kernel/Makefile | 2 +-
arch/s390/kernel/asm-offsets.c | 8 +
arch/s390/kernel/crash_dump.c | 46 +--
arch/s390/kernel/debug.c | 247 ++++++++++-----
arch/s390/kernel/diag.c | 27 +-
arch/s390/kernel/dis.c | 2 +
arch/s390/kernel/early.c | 4 +
arch/s390/kernel/entry.S | 11 +-
arch/s390/kernel/entry.h | 11 +-
arch/s390/kernel/ftrace.c | 222 +++++++++++++-
arch/s390/kernel/ftrace.h | 26 ++
arch/s390/kernel/head64.S | 17 ++
arch/s390/kernel/ipl.c | 5 +-
arch/s390/kernel/ipl_vmparm.c | 2 +
arch/s390/kernel/irq.c | 4 +-
arch/s390/kernel/jump_label.c | 2 +-
arch/s390/kernel/machine_kexec.c | 5 +-
arch/s390/kernel/module.c | 45 +++
arch/s390/kernel/os_info.c | 2 +-
arch/s390/kernel/perf_cpum_cf.c | 4 +-
arch/s390/kernel/processor.c | 177 ++++++++++-
arch/s390/kernel/setup.c | 286 ++++++++----------
arch/s390/kernel/signal.c | 6 -
arch/s390/kernel/smp.c | 64 ++--
.../{boot/text_dma.S => kernel/text_amode31.S} | 60 ++--
arch/s390/kernel/topology.c | 4 +-
arch/s390/kernel/traps.c | 2 +-
arch/s390/kernel/uv.c | 15 -
arch/s390/kernel/vdso32/Makefile | 1 +
arch/s390/kernel/vdso64/Makefile | 1 +
arch/s390/kernel/vmlinux.lds.S | 35 +++
arch/s390/lib/delay.c | 11 +-
arch/s390/mm/dump_pagetables.c | 16 +
arch/s390/mm/fault.c | 13 +-
arch/s390/mm/init.c | 3 +-
arch/s390/mm/kasan_init.c | 43 ++-
arch/s390/mm/maccess.c | 4 +-
arch/s390/mm/page-states.c | 43 ---
arch/s390/mm/pageattr.c | 19 +-
arch/s390/mm/vmem.c | 2 +-
arch/s390/pci/pci.c | 73 +++--
arch/s390/pci/pci_bus.c | 8 +-
arch/s390/pci/pci_clp.c | 186 ++++++------
arch/s390/pci/pci_dma.c | 25 +-
arch/s390/pci/pci_event.c | 5 +-
arch/s390/pci/pci_sysfs.c | 19 +-
arch/s390/purgatory/Makefile | 1 +
arch/s390/tools/opcodes.txt | 18 ++
arch/x86/include/asm/kfence.h | 4 +
drivers/iommu/s390-iommu.c | 18 +-
drivers/s390/block/dasd_ioctl.c | 4 +-
drivers/s390/char/sclp.c | 230 +++++++++++++-
drivers/s390/char/sclp.h | 2 -
drivers/s390/char/sclp_cmd.c | 2 +-
drivers/s390/char/sclp_config.c | 4 +-
drivers/s390/char/sclp_early_core.c | 19 +-
drivers/s390/char/zcore.c | 2 +-
drivers/s390/cio/css.c | 30 ++
drivers/s390/cio/qdio.h | 40 +--
drivers/s390/cio/qdio_debug.c | 3 -
drivers/s390/cio/qdio_main.c | 331 +++++----------------
drivers/s390/cio/qdio_setup.c | 114 ++-----
drivers/s390/crypto/ap_bus.c | 32 +-
drivers/s390/crypto/ap_bus.h | 13 +-
drivers/s390/crypto/ap_queue.c | 20 +-
drivers/s390/crypto/vfio_ap_ops.c | 116 ++++----
drivers/s390/crypto/zcrypt_api.c | 4 +-
drivers/s390/crypto/zcrypt_card.c | 8 +-
drivers/s390/crypto/zcrypt_ccamisc.c | 8 +-
drivers/s390/crypto/zcrypt_cex2a.c | 17 +-
drivers/s390/crypto/zcrypt_cex2c.c | 24 +-
drivers/s390/crypto/zcrypt_cex4.c | 38 +--
drivers/s390/crypto/zcrypt_queue.c | 8 +-
drivers/s390/net/qeth_core_main.c | 10 +-
drivers/s390/scsi/zfcp_qdio.c | 5 +-
include/linux/ftrace.h | 16 +
kernel/kcsan/debugfs.c | 2 +-
kernel/trace/ftrace.c | 4 +-
mm/kfence/kfence_test.c | 13 +-
128 files changed, 2467 insertions(+), 1824 deletions(-)
create mode 100644 arch/s390/boot/uv.h
create mode 100644 arch/s390/include/asm/ftrace.lds.h
create mode 100644 arch/s390/include/asm/kfence.h
create mode 100644 arch/s390/kernel/ftrace.h
rename arch/s390/{boot/text_dma.S => kernel/text_amode31.S} (69%)