[GIT PULL] s390 update for 4.14 merge window #1

From: Martin Schwidefsky
Date: Tue Sep 05 2017 - 02:53:50 EST


Hi Linus,

please pull from the 'for-linus' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus

to receive the following updates:

The first part of the s390 updates for 4.14:

- Add machine type 0x3906 for IBM z14

- Add IBM z14 TLB flushing improvements for KVM guests

- Exploit the TOD clock epoch extension to provide a continuous
TOD clock afer 2042/09/17

- Add NIAI spinlock hints for IBM z14

- Rework the vmcp driver and use CMA for the respone buffer
of z/VM CP commands

- Drop some s390 specific asm headers and use the generic version

- Add block discard for DASD-FBA devices under z/VM

- Add average request times to DASD statistics

- A few of those constify patches which seem to be in vogue right now

- Cleanup and bug fixes

My test merge revealed a small conflict, easy to resolve:

--
diff --cc arch/s390/include/asm/mmu_context.h
index 24bc41622a98,31eea6261488..000000000000
--- a/arch/s390/include/asm/mmu_context.h
+++ b/arch/s390/include/asm/mmu_context.h
@@@ -44,12 -45,7 +45,12 @@@ static inline int init_new_context(stru
mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
_ASCE_USER_BITS | _ASCE_TYPE_REGION3;
break;
+ case -PAGE_SIZE:
+ /* forked 5-level task, set new asce with new_mm->pgd */
+ mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
+ _ASCE_USER_BITS | _ASCE_TYPE_REGION1;
+ break;
- case 1UL << 53:
+ case _REGION1_SIZE:
/* forked 4-level task, set new asce with new mm->pgd */
mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
_ASCE_USER_BITS | _ASCE_TYPE_REGION2;
--

The shortlog:

Arvind Yadav (8):
s390/zcrypt_queue: constify attribute_group structures.
s390/zcrypt_card: constify attribute_group structures.
s390/dasd: constify attribute_group structures.
s390/cio: constify attribute_group structures.
s390/qeth: constify attribute_group structures.
s390/raw3270: constify attribute_group structures.
s390/tape: constify attribute_group structures.
s390/sclp_ocf: constify attribute_group structures.

Bhumika Goyal (3):
s390/sclp: add const to bin_attribute structure
s390/cio: add const to bin_attribute structures
s390/zcrypt: make CPRBX const

Christian Borntraeger (1):
s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs

Dou Liyang (1):
s390/topology: Remove the unused parent_node() macro

Heiko Carstens (22):
s390/mm: remove and correct comments within pgtable.h
s390/mm: get rid of __ASSEMBLY__ guards within pgtable.h
s390/mm: introduce defines to reflect the hardware mmu
s390/mm: use new mm defines instead of magic values
KVM: s390: use new mm defines instead of magic values
s390/mm,vmem: simplify region and segment table allocation code
s390/nmi: keep comments consistent
s390: remove asm/mman.h and asm/types.h
s390: use generic uapi/asm/swab.h
s390: use generic asm/unaligned.h
s390/mm: add missing virt_to_pfn() etc. helper functions
s390/mm: prevent memory offline for memory blocks with cma areas
s390/vmcp: fix uaccess check and avoid undefined behavior
s390/cpcmd,vmcp: avoid GFP_DMA allocations
s390/vmcp: make use of contiguous memory allocator
s390/vmcp: split vmcp header file and move to uapi
s390/vmcp: return -ENOTTY for unknown ioctl commands
s390/vmcp: simplify vmcp_ioctl()
s390: fix 'novx' early parameter handling
s390/smp: convert cpuhp_setup_state() return code to zero on success
s390/vmcp: simplify vmcp_response_free()
s390/facilities: fix typo

Jan HÃppner (2):
s390/dasd: Change unsigned long long to unsigned long
s390/dasd: Add discard support for FBA devices

Jason J. Herne (1):
vfio: ccw: fix bad ptr math for TIC cda translation

Martin Schwidefsky (10):
s390/mm: tag normal pages vs pages used in page tables
s390/mm: add no-dat TLB flush optimization
s390/mm: add guest ASCE TLB flush optimization
s390/mm,kvm: use nodat PGSTE tag to optimize TLB flushing
s390/sclp: single increment assignment control
s390/time: add support for the TOD clock epoch extension
s390: add support for IBM z14 machines
s390/spinlock: add niai spinlock hints
s390/mm: use generic mm_hooks
s390/uaccess: avoid mvcos jump label

Sebastian Ott (2):
s390/pci: log changes to uid checking
s390/scm: use common completion path

Stefan Haberland (1):
s390/dasd: add average request times to dasd statistics

Documentation/admin-guide/kernel-parameters.txt | 4 +
arch/s390/Kconfig | 18 ++
arch/s390/Makefile | 6 +-
arch/s390/include/asm/Kbuild | 1 +
arch/s390/include/asm/cpcmd.h | 7 +-
arch/s390/include/asm/ebcdic.h | 4 +-
arch/s390/include/asm/elf.h | 2 +-
arch/s390/include/asm/ipl.h | 2 +-
arch/s390/include/asm/lowcore.h | 48 ++---
arch/s390/include/asm/mman.h | 11 --
arch/s390/include/asm/mmu_context.h | 33 +---
arch/s390/include/asm/nmi.h | 2 +-
arch/s390/include/asm/page-states.h | 1 +
arch/s390/include/asm/page.h | 37 +++-
arch/s390/include/asm/pgalloc.h | 18 +-
arch/s390/include/asm/pgtable.h | 197 ++++++++++++--------
arch/s390/include/asm/qdio.h | 2 +-
arch/s390/include/asm/setup.h | 17 +-
arch/s390/include/asm/spinlock.h | 9 +-
arch/s390/include/asm/timex.h | 40 +++-
arch/s390/include/asm/tlb.h | 6 +-
arch/s390/include/asm/tlbflush.h | 7 +-
arch/s390/include/asm/topology.h | 6 -
arch/s390/include/asm/types.h | 11 --
arch/s390/include/asm/unaligned.h | 13 --
arch/s390/include/uapi/asm/Kbuild | 1 +
arch/s390/include/uapi/asm/dasd.h | 6 +-
arch/s390/include/uapi/asm/swab.h | 89 ---------
.../char => arch/s390/include/uapi/asm}/vmcp.h | 20 +-
arch/s390/kernel/asm-offsets.c | 1 +
arch/s390/kernel/cpcmd.c | 13 +-
arch/s390/kernel/debug.c | 9 +-
arch/s390/kernel/dumpstack.c | 2 +-
arch/s390/kernel/early.c | 17 +-
arch/s390/kernel/head.S | 3 +-
arch/s390/kernel/head64.S | 4 +-
arch/s390/kernel/irq.c | 3 +-
arch/s390/kernel/relocate_kernel.S | 5 +-
arch/s390/kernel/setup.c | 14 +-
arch/s390/kernel/smp.c | 1 +
arch/s390/kernel/suspend.c | 24 ++-
arch/s390/kernel/time.c | 67 ++++---
arch/s390/kernel/vdso.c | 2 +
arch/s390/kernel/vdso32/vdso32.lds.S | 4 +-
arch/s390/kernel/vdso64/vdso64.lds.S | 4 +-
arch/s390/kvm/diag.c | 8 +-
arch/s390/kvm/gaccess.c | 35 ++--
arch/s390/kvm/priv.c | 8 +-
arch/s390/kvm/vsie.c | 2 +-
arch/s390/lib/delay.c | 2 +-
arch/s390/lib/spinlock.c | 87 +++++----
arch/s390/lib/uaccess.c | 38 ++--
arch/s390/mm/fault.c | 10 +-
arch/s390/mm/gmap.c | 163 ++++++++++-------
arch/s390/mm/init.c | 60 +++++-
arch/s390/mm/page-states.c | 192 ++++++++++++++++++--
arch/s390/mm/pageattr.c | 5 +-
arch/s390/mm/pgalloc.c | 12 +-
arch/s390/mm/pgtable.c | 154 ++++++++++++----
arch/s390/mm/vmem.c | 47 ++---
arch/s390/pci/pci_clp.c | 10 +-
arch/s390/tools/gen_facilities.c | 5 +-
drivers/s390/block/dasd.c | 55 +++++-
drivers/s390/block/dasd_3990_erp.c | 2 +-
drivers/s390/block/dasd_devmap.c | 3 +-
drivers/s390/block/dasd_diag.c | 2 +-
drivers/s390/block/dasd_eckd.c | 8 +-
drivers/s390/block/dasd_eckd.h | 2 +-
drivers/s390/block/dasd_erp.c | 2 +-
drivers/s390/block/dasd_fba.c | 202 ++++++++++++++++++++-
drivers/s390/block/dasd_int.h | 19 +-
drivers/s390/block/dasd_proc.c | 2 +-
drivers/s390/block/scm_blk.c | 13 +-
drivers/s390/char/Kconfig | 11 ++
drivers/s390/char/raw3270.c | 2 +-
drivers/s390/char/sclp_cmd.c | 1 +
drivers/s390/char/sclp_config.c | 2 +-
drivers/s390/char/sclp_early.c | 6 +-
drivers/s390/char/sclp_ocf.c | 2 +-
drivers/s390/char/tape_core.c | 2 +-
drivers/s390/char/vmcp.c | 112 +++++++++---
drivers/s390/cio/chp.c | 4 +-
drivers/s390/cio/device.c | 4 +-
drivers/s390/cio/vfio_ccw_cp.c | 2 +-
drivers/s390/crypto/zcrypt_card.c | 2 +-
drivers/s390/crypto/zcrypt_msgtype6.c | 2 +-
drivers/s390/crypto/zcrypt_queue.c | 2 +-
drivers/s390/net/qeth_l3_sys.c | 8 +-
88 files changed, 1406 insertions(+), 695 deletions(-)
delete mode 100644 arch/s390/include/asm/mman.h
delete mode 100644 arch/s390/include/asm/types.h
delete mode 100644 arch/s390/include/asm/unaligned.h
delete mode 100644 arch/s390/include/uapi/asm/swab.h
rename {drivers/s390/char => arch/s390/include/uapi/asm}/vmcp.h (56%)