Hi Linus, please pull s390 updates for the 5.11 merge window. Note that the diffstat summary when merging this will look slightly different than the one generated by 'git request-pull' below: 107 files changed, 1268 insertions(+), 1993 deletions(-) This is because I had to merge our fixes branch, which contains commits which are already in 5.10, twice into our features branch to resolve dependencies. There is also "mm: simplify follow_pte{,pmd}" sitting in Andrew's patch collection which will break s390 compilation due to a conflict with a commit in this pull request. However Andrew already has a fixup patch for that, so I guess this problem will be solved "automatically". That is: Andrew handles it :) This is the fixup patch: https://www.ozlabs.org/~akpm/mmotm/broken-out/mm-simplify-follow_ptepmd-fix.patch Thanks, Heiko The following changes since commit f8394f232b1eab649ce2df5c5f15b0e528c92091: Linux 5.10-rc3 (2020-11-08 16:10:16 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.11-1 for you to fetch changes up to 343dbdb7cb8997a2cb0fd804d6563b8a6de8d49b: s390/mm: add support to allocate gigantic hugepages using CMA (2020-12-10 21:11:01 +0100) ---------------------------------------------------------------- - Add support for the hugetlb_cma command line option to allocate gigantic hugepages using CMA: - Add arch_get_random_long() support. - Add ap bus userspace notifications. - Increase default size of vmalloc area to 512GB and otherwise let it increase dynamically by the size of physical memory. This should fix all occurrences where the vmalloc area was not large enough. - Completely get rid of set_fs() (aka select SET_FS) and rework address space handling while doing that; making address space handling much more simple. - Reimplement getcpu vdso syscall in C. - Add support for extended SCLP responses (> 4k). This allows e.g. to handle also potential large system configurations. - Simplify KASAN by removing 3-level page table support and only supporting 4-levels from now on. - Improve debug-ability of the kernel decompressor code, which now prints also stack traces and symbols in case of problems to the console. - Remove more power management leftovers. - Other various fixes and improvements all over the place. ---------------------------------------------------------------- Alexander Gordeev (2): s390/vmem: remove redundant check s390/vmem: make variable and function names consistent Christian Borntraeger (1): s390/trng: set quality to 1024 Daniel Vetter (1): s390/pci: remove races against pte updates Gerald Schaefer (1): s390/mm: add support to allocate gigantic hugepages using CMA Harald Freudenberger (3): s390/ap: ap bus userspace notifications for some bus conditions s390/zcrypt/pkey: introduce zcrypt_wait_api_operational() function s390/crypto: add arch_get_random_long() support Heiko Carstens (15): s390: fix system call exit path s390/mm: extend default vmalloc area size to 512GB s390/mm: let vmalloc area size depend on physical memory size s390: update defconfigs s390/mm: remove unused clear_user_asce() Merge branch 'fixes' into features s390: add separate program check exit path init/Kconfig: make COMPILE_TEST depend on !S390 Merge branch 'fixes' into features s390/mm: remove set_fs / rework address space handling s390/mm: use invalid asce instead of kernel asce s390/mm: add debug user asce support s390/vdso: reimplement getcpu vdso syscall s390/vdso: add missing prototypes for vdso functions s390/mm: use invalid asce for user space when switching to init_mm Julian Wiedmann (3): s390/prng: let misc_register() add the prng sysfs attributes s390/stp: let subsys_system_register() sysfs attributes s390/ap: let bus_register() add the AP bus sysfs attributes Mauro Carvalho Chehab (1): s390/cio: fix kernel-doc markups in cio driver. Niklas Schnelle (2): s390/pci: inform when missing required facilities s390/Kconfig: default PCI_NR_FUNCTIONS to 512 Philipp Rudo (2): s390/kexec_file: fix diag308 subcode when loading crash kernel s390/boot: add build-id to decompressor Qinglang Miao (1): s390/cio: fix use-after-free in ccw_device_destroy_console Sumanth Korikkar (3): s390/sclp: use memblock for early read cpu info s390/sclp: avoid copy of sclp_info_sccb s390/sclp: provide extended sccb support Sven Schnelle (4): s390: fix fpu restore in entry.S s390/idle: add missing mt_cycles calculation s390/idle: fix accounting with machine checks s390/smp: perform initial CPU reset also for SMT siblings Thomas Richter (1): s390/cpum_sf.c: fix file permission for cpum_sfb_size Vasily Gorbik (18): s390/head: set io/ext handlers to disabled wait s390/udelay: make it work for the early code s390: remove unused s390_base_ext_handler s390/kasan: remove 3-level paging support s390: make sure vmemmap is top region table entry aligned s390/decompressor: fix build warning s390/kasan: avoid confusing naming s390/kasan: remove obvious parameter with the only possible value s390/kasan: make kasan header self-contained s390/kasan: move memory needs estimation into a function s390/early: rewrite program parameter setup in C s390: unify identity mapping limits handling s390/ftrace: assume -mhotpatch or -mrecord-mcount always available s390/decompressor: add decompressor_printk s390/decompressor: correct some asm symbols annotations s390/decompressor: add symbols support s390/decompressor: add stacktrace support s390/decompressor: print cmdline and BEAR on pgm_check Vineeth Vijayan (10): s390/zfcp: remove pm support from zfcp driver s390/dasd: remove unused pm related functions s390: remove pm support from console drivers s390/cio: remove pm support from eadm-sch drivers s390/tape: remove unsupported PM functions s390/vmur: remove unused pm related functions s390/cio: remove pm support from chsc subchannel driver s390/cio: remove pm support from IO subchannel drivers s390/cio: remove pm support from css-bus driver s390/cio: remove pm support from ccw bus driver arch/s390/Kconfig | 6 +- arch/s390/Kconfig.debug | 8 + arch/s390/Makefile | 2 +- arch/s390/boot/boot.h | 18 +- arch/s390/boot/compressed/.gitignore | 1 + arch/s390/boot/compressed/Makefile | 26 ++- arch/s390/boot/compressed/decompressor.h | 4 +- arch/s390/boot/compressed/vmlinux.lds.S | 9 + arch/s390/boot/head.S | 32 +++- arch/s390/boot/head_kdump.S | 8 +- arch/s390/boot/ipl_parm.c | 49 ++--- arch/s390/boot/kaslr.c | 33 +--- arch/s390/boot/mem_detect.c | 13 +- arch/s390/boot/pgm_check_info.c | 224 +++++++++++++++-------- arch/s390/boot/startup.c | 70 +++++++- arch/s390/configs/debug_defconfig | 2 + arch/s390/crypto/arch_random.c | 110 +++++++++++- arch/s390/crypto/prng.c | 53 ++---- arch/s390/include/asm/archrandom.h | 5 +- arch/s390/include/asm/ccwdev.h | 12 +- arch/s390/include/asm/cio.h | 2 +- arch/s390/include/asm/delay.h | 1 + arch/s390/include/asm/ftrace.h | 31 ++-- arch/s390/include/asm/futex.h | 6 - arch/s390/include/asm/kasan.h | 37 +++- arch/s390/include/asm/lowcore.h | 4 +- arch/s390/include/asm/mmu_context.h | 37 +--- arch/s390/include/asm/pgtable.h | 13 +- arch/s390/include/asm/processor.h | 13 +- arch/s390/include/asm/ptrace.h | 1 + arch/s390/include/asm/sclp.h | 7 +- arch/s390/include/asm/setup.h | 6 +- arch/s390/include/asm/thread_info.h | 2 +- arch/s390/include/asm/timex.h | 7 + arch/s390/include/asm/uaccess.h | 22 +-- arch/s390/include/asm/vdso.h | 25 +-- arch/s390/kernel/asm-offsets.c | 17 +- arch/s390/kernel/base.S | 22 --- arch/s390/kernel/early.c | 4 +- arch/s390/kernel/entry.S | 145 ++++++++------- arch/s390/kernel/entry.h | 1 - arch/s390/kernel/ftrace.c | 63 ++----- arch/s390/kernel/head64.S | 7 +- arch/s390/kernel/mcount.S | 8 - arch/s390/kernel/perf_cpum_sf.c | 2 +- arch/s390/kernel/process.c | 14 -- arch/s390/kernel/setup.c | 50 +++--- arch/s390/kernel/smp.c | 32 +--- arch/s390/kernel/time.c | 44 ++--- arch/s390/kernel/vdso.c | 58 +----- arch/s390/kernel/vdso64/Makefile | 5 +- arch/s390/kernel/vdso64/getcpu.S | 31 ---- arch/s390/kernel/vdso64/getcpu.c | 21 +++ arch/s390/kernel/vdso64/vdso.h | 14 ++ arch/s390/kernel/vdso64/vdso64.lds.S | 1 - arch/s390/kernel/vdso64/vdso64_generic.c | 1 + arch/s390/kernel/vdso64/vdso_user_wrapper.S | 1 + arch/s390/kernel/vmlinux.lds.S | 3 +- arch/s390/lib/delay.c | 13 ++ arch/s390/lib/uaccess.c | 105 +++-------- arch/s390/mm/dump_pagetables.c | 2 +- arch/s390/mm/fault.c | 29 +-- arch/s390/mm/init.c | 12 +- arch/s390/mm/kasan_init.c | 93 ++++------ arch/s390/mm/pgalloc.c | 13 +- arch/s390/mm/vmem.c | 38 ++-- arch/s390/pci/pci.c | 4 +- arch/s390/pci/pci_mmio.c | 104 ++++++----- arch/s390/purgatory/head.S | 9 +- drivers/char/hw_random/s390-trng.c | 7 +- drivers/s390/block/dasd.c | 93 +--------- drivers/s390/block/dasd_eckd.c | 94 ---------- drivers/s390/block/dasd_fba.c | 3 - drivers/s390/block/dasd_int.h | 10 -- drivers/s390/char/con3215.c | 85 +-------- drivers/s390/char/con3270.c | 1 - drivers/s390/char/raw3270.c | 78 +------- drivers/s390/char/raw3270.h | 1 - drivers/s390/char/sclp.h | 10 +- drivers/s390/char/sclp_cmd.c | 16 +- drivers/s390/char/sclp_early.c | 59 ++++--- drivers/s390/char/sclp_early_core.c | 13 +- drivers/s390/char/tape.h | 1 - drivers/s390/char/tape_34xx.c | 1 - drivers/s390/char/tape_3590.c | 1 - drivers/s390/char/tape_core.c | 50 ------ drivers/s390/char/vmur.c | 24 --- drivers/s390/cio/chsc_sch.c | 29 --- drivers/s390/cio/cmf.c | 5 - drivers/s390/cio/css.c | 130 +------------- drivers/s390/cio/css.h | 10 -- drivers/s390/cio/device.c | 265 +--------------------------- drivers/s390/cio/device.h | 1 - drivers/s390/cio/device_fsm.c | 6 - drivers/s390/cio/eadm_sch.c | 13 -- drivers/s390/cio/io_sch.h | 1 - drivers/s390/crypto/ap_bus.c | 213 ++++++++++++++++++---- drivers/s390/crypto/ap_bus.h | 12 ++ drivers/s390/crypto/pkey_api.c | 15 ++ drivers/s390/crypto/zcrypt_api.c | 66 +++++++ drivers/s390/crypto/zcrypt_api.h | 2 + drivers/s390/scsi/zfcp_ccw.c | 57 +----- drivers/s390/scsi/zfcp_dbf.c | 25 --- drivers/s390/scsi/zfcp_def.h | 1 - drivers/s390/scsi/zfcp_ext.h | 1 - init/Kconfig | 2 +- lib/Kconfig.kasan | 9 - scripts/recordmcount.pl | 3 - 108 files changed, 1279 insertions(+), 1999 deletions(-) delete mode 100644 arch/s390/kernel/vdso64/getcpu.S create mode 100644 arch/s390/kernel/vdso64/getcpu.c create mode 100644 arch/s390/kernel/vdso64/vdso.h