[GIT PULL 00/52] KVM: s390: Features and fixes for 4.8 part1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paolo, Radim,

here is part1 of the s390 patches for 4.8. This time a big chunk - with
more to come in part2.

All base s390 change have the proper ack of the maintainers (or are kvm
specific code in a common file).

There is one patch with cc stable (40/52 s390/mm: don't drop errors in 
get_guest_storage_key) - which in theory would make it more of a candidate
for master instead of next. As we replace that code with a following patch
anyway I want to avoid yet another merge conflict as this pull request 
already has two simple things against the s390-next tree.

The following changes since commit dca4d728773a2f48e999c8617524bbf8dee4807f:

  kvm/x86: remove unnecessary header file inclusion (2016-06-03 15:28:19 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git  tags/kvm-s390-next-4.8-1

for you to fetch changes up to a7e19ab55ffdd82f1a8d12694b9a0c0beeef534c:

  KVM: s390: handle missing storage-key facility (2016-06-10 12:07:31 +0200)

----------------------------------------------------------------
KVM: s390: Features and fixes for 4.8 part1

Four bigger things:
1. The implementation of the STHYI opcode in the kernel. This is used
   in libraries like qclib [1] to provide enough information for a
   capacity and usage based software licence pricing. The STHYI content
   is defined by the related z/VM documentation [2]. Its data can be
   composed by accessing several other interfaces provided by LPAR or
   the machine. This information is partially sensitive or root-only
   so the kernel does the necessary filtering.
2. Preparation for nested virtualization (VSIE). KVM should query the
   proper sclp interfaces for the availability of some features before
   using it. In the past we have been sloppy and simply assumed that
   several features are available. With this we should be able to handle
   most cases of a missing feature.
3. CPU model interfaces extended by some additional features that are
   not covered by a facility bit in STFLE. For example all the crypto
   instructions of the coprocessor provide a query function. As reality
   tends to be more complex (e.g. export regulations might block some
   algorithms) we have to provide additional interfaces to query or
   set these non-stfle features.
4. Several fixes and changes detected and fixed when doing 1-3.

All features change base s390 code. All relevant patches have an ACK
from the s390 or component maintainers.

The next pull request for 4.8 (part2) will contain the implementation
of VSIE.

[1] http://www.ibm.com/developerworks/linux/linux390/qclib.html
[2] https://www.ibm.com/support/knowledgecenter/SSB27U_6.3.0/com.ibm.zvm.v630.hcpb4/hcpb4sth.htm

----------------------------------------------------------------
Alexander Yarygin (1):
      KVM: s390: Add mnemonic print to kvm_s390_intercept_prog

Christian Borntraeger (2):
      KVM: s390: provide logging for diagnose 0x500
      KVM: s390: fixup I/O interrupt traces

David Hildenbrand (41):
      KVM: s390: interface to query and configure cpu features
      KVM: s390: forward ESOP if available
      KVM: s390: gaccess: store guest address on ALC prot exceptions
      KVM: s390: gaccess: function for preparing translation exceptions
      KVM: s390: gaccess: convert kvm_s390_check_low_addr_prot_real()
      KVM: s390: gaccess: convert guest_translate_address()
      KVM: s390: gaccess: convert guest_page_range()
      KVM: s390: gaccess: convert get_vcpu_asce()
      s390/crypto: allow to query all known cpacf functions
      KVM: s390: interface to query and configure cpu subfunctions
      s390/sclp: detect 64-bit-SCAO facility
      KVM: s390: handle missing 64-bit-SCAO facility
      s390/sclp: detect guest-PER enhancement
      KVM: s390: guestdbg: signal missing hardware support
      s390/sclp: detect cmma
      KVM: s390: enable CMMA if the interpration is available
      KVM: s390: provide CMMA attributes only if available
      s390/sclp: detect guest-storage-limit-suppression
      KVM: s390: handle missing guest-storage-limit-suppression
      s390/sclp: detect intervention bypass facility
      KVM: s390: enable ib only if available
      s390/sclp: detect conditional-external-interception facility
      KVM: s390: enable cei only if available
      s390/sclp: detect PFMF interpretation facility
      KVM: s390: enable PFMFI only if available
      s390/sclp: detect interlock-and-broadcast-suppression facility
      KVM: s390: enable ibs only if available
      KVM: s390: enable host-protection-interruption only with ESOP
      KVM: s390: turn on tx even without ctx
      s390/mm: don't drop errors in get_guest_storage_key
      s390/mm: simplify get_guest_storage_key
      s390/mm: return key via pointer in get_guest_storage_key
      KVM: s390: storage keys fit into a char
      KVM: s390: pfmf: fix end address calculation
      KVM: s390: pfmf: MR and MC are ignored without CSSKE
      KVM: s390: pfmf: take care of amode when setting reg2
      KVM: s390: pfmf: support conditional-sske facility
      KVM: s390: pfmf: handle address overflows
      s390/sclp: detect storage-key facility
      KVM: s390: trace and count all skey intercepts
      KVM: s390: handle missing storage-key facility

Janosch Frank (7):
      s390: hypfs: Move diag implementation and data definitions
      s390: Make cpc_name accessible
      s390: Make diag224 public
      KVM: s390: Add operation exception interception handler
      KVM: s390: Extend diag 204 fields
      KVM: s390: Add sthyi emulation
      KVM: s390: Limit sthyi execution

Martin Schwidefsky (1):
      s390/mm: set and get guest storage key mmap locking

 Documentation/virtual/kvm/api.txt        |   2 +
 Documentation/virtual/kvm/devices/vm.txt |  87 +++++-
 arch/s390/hypfs/hypfs_diag.c             | 375 +++++++-----------------
 arch/s390/include/asm/cpacf.h            |  10 +
 arch/s390/include/asm/diag.h             | 149 ++++++++++
 arch/s390/include/asm/kvm_host.h         |  10 +-
 arch/s390/include/asm/page.h             |   7 +-
 arch/s390/include/asm/pgtable.h          |   7 +-
 arch/s390/include/asm/sclp.h             |  23 +-
 arch/s390/include/uapi/asm/kvm.h         |  29 ++
 arch/s390/include/uapi/asm/sie.h         |   1 +
 arch/s390/kernel/diag.c                  |  37 +++
 arch/s390/kvm/Makefile                   |   2 +-
 arch/s390/kvm/diag.c                     |   5 +
 arch/s390/kvm/gaccess.c                  | 152 +++++-----
 arch/s390/kvm/intercept.c                |  15 +
 arch/s390/kvm/interrupt.c                |  26 +-
 arch/s390/kvm/kvm-s390.c                 | 255 +++++++++++++++--
 arch/s390/kvm/kvm-s390.h                 |   9 +
 arch/s390/kvm/priv.c                     | 219 +++++++++++---
 arch/s390/kvm/sthyi.c                    | 471 +++++++++++++++++++++++++++++++
 arch/s390/kvm/trace.h                    |  49 +++-
 arch/s390/mm/pgtable.c                   | 110 ++++++--
 drivers/s390/char/sclp_early.c           |  12 +-
 drivers/s390/char/sclp_ocf.c             |  23 +-
 25 files changed, 1623 insertions(+), 462 deletions(-)
 create mode 100644 arch/s390/kvm/sthyi.c

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux