Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 7 Jul 2017 01:38:31 +0000 (18:38 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 7 Jul 2017 01:38:31 +0000 (18:38 -0700)
Pull KVM updates from Paolo Bonzini:
 "PPC:
   - Better machine check handling for HV KVM
   - Ability to support guests with threads=2, 4 or 8 on POWER9
   - Fix for a race that could cause delayed recognition of signals
   - Fix for a bug where POWER9 guests could sleep with interrupts pending.

  ARM:
   - VCPU request overhaul
   - allow timer and PMU to have their interrupt number selected from userspace
   - workaround for Cavium erratum 30115
   - handling of memory poisonning
   - the usual crop of fixes and cleanups

  s390:
   - initial machine check forwarding
   - migration support for the CMMA page hinting information
   - cleanups and fixes

  x86:
   - nested VMX bugfixes and improvements
   - more reliable NMI window detection on AMD
   - APIC timer optimizations

  Generic:
   - VCPU request overhaul + documentation of common code patterns
   - kvm_stat improvements"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (124 commits)
  Update my email address
  kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS
  x86: kvm: mmu: use ept a/d in vmcs02 iff used in vmcs12
  kvm: x86: mmu: allow A/D bits to be disabled in an mmu
  x86: kvm: mmu: make spte mmio mask more explicit
  x86: kvm: mmu: dead code thanks to access tracking
  KVM: PPC: Book3S: Fix typo in XICS-on-XIVE state saving code
  KVM: PPC: Book3S HV: Close race with testing for signals on guest entry
  KVM: PPC: Book3S HV: Simplify dynamic micro-threading code
  KVM: x86: remove ignored type attribute
  KVM: LAPIC: Fix lapic timer injection delay
  KVM: lapic: reorganize restart_apic_timer
  KVM: lapic: reorganize start_hv_timer
  kvm: nVMX: Check memory operand to INVVPID
  KVM: s390: Inject machine check into the nested guest
  KVM: s390: Inject machine check into the guest
  tools/kvm_stat: add new interactive command 'b'
  tools/kvm_stat: add new command line switch '-i'
  tools/kvm_stat: fix error on interactive command 'g'
  KVM: SVM: suppress unnecessary NMI singlestep on GIF=0 and nested exit
  ...

18 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
arch/arm64/Kconfig
arch/arm64/include/asm/esr.h
arch/powerpc/kvm/book3s_hv.c
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/gaccess.c
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/priv.c
arch/x86/include/asm/msr-index.h
arch/x86/kvm/emulate.c
arch/x86/kvm/mmu.c
arch/x86/kvm/mmu.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c
virt/kvm/arm/mmu.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 875f8bea8c670dc83f626349d6a35cc17bd0cf8a,17e3a4e71bc90e74c3624c3f0370df56b6bbff53..653cae5e1ee1f97b6de07f665cf2b90ba8619d8e
@@@ -790,8 -808,8 +808,8 @@@ static int guest_page_range(struct kvm_
                        return trans_exc(vcpu, PGM_PROTECTION, ga, ar, mode,
                                         PROT_TYPE_LA);
                ga &= PAGE_MASK;
 -              if (psw_bits(*psw).t) {
 +              if (psw_bits(*psw).dat) {
-                       rc = guest_translate(vcpu, ga, pages, asce, mode);
+                       rc = guest_translate(vcpu, ga, pages, asce, mode, &prot);
                        if (rc < 0)
                                return rc;
                } else {
@@@ -899,10 -918,10 +918,10 @@@ int guest_translate_address(struct kvm_
                                         mode, PROT_TYPE_LA);
        }
  
 -      if (psw_bits(*psw).t && !asce.r) {      /* Use DAT? */
 +      if (psw_bits(*psw).dat && !asce.r) {    /* Use DAT? */
-               rc = guest_translate(vcpu, gva, gpa, asce, mode);
+               rc = guest_translate(vcpu, gva, gpa, asce, mode, &prot);
                if (rc > 0)
-                       return trans_exc(vcpu, rc, gva, 0, mode, PROT_TYPE_DAT);
+                       return trans_exc(vcpu, rc, gva, 0, mode, prot);
        } else {
                *gpa = kvm_s390_real_to_abs(vcpu, gva);
                if (kvm_is_error_gpa(vcpu->kvm, *gpa))
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge