[GIT PULL] First batch of KVM changes for v4.14

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

 



Linus,

there is going to be a simple merge conflict between ea2800ddb20d
("kvm/x86: Avoid clearing the C-bit in rsvd_bits()") and d6321d493319
("KVM: x86: generalize guest_cpuid_has_ helpers").  It should be
resolved as in next and I've also pasted the resolution at the bottom.

Outside of kvm files, there there is an obligatory MAINTAINERS patch and
a VGIF feature flag addition.  Topic branch merges in s390 and powerpc
are already in mainline -- would you prefer to see the expected result
after merge instead of what `git request-pull` produces?
i.e. 64 files changed, 1479 insertions(+), 768 deletions(-)
vs.  88 files changed, 2041 insertions(+), 916 deletions(-)

The following changes since commit 47c5310a8dbe7c2cb9f0083daa43ceed76c257fa:

  KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce() (2017-08-25 11:08:57 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/kvm tags/kvm-4.14-1

for you to fetch changes up to 5f54c8b2d4fad95d1f8ecbe023ebe6038e6d3760:

  Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc (2017-09-08 14:40:43 +0200)

Thanks.

----------------------------------------------------------------
First batch of KVM changes for 4.14

Common:
 - improve heuristic for boosting preempted spinlocks by ignoring VCPUs
   in user mode

ARM:
 - fix for decoding external abort types from guests

 - added support for migrating the active priority of interrupts when
   running a GICv2 guest on a GICv3 host

 - minor cleanup

PPC:
 - expose storage keys to userspace

 - merge powerpc/topic/ppc-kvm branch that contains
   find_linux_pte_or_hugepte and POWER9 thread management cleanup

 - merge kvm-ppc-fixes with a fix that missed 4.13 because of vacations

 - fixes

s390:
 - merge of topic branch tlb-flushing from the s390 tree to get the
   no-dat base features

 - merge of kvm/master to avoid conflicts with additional sthyi fixes

 - wire up the no-dat enhancements in KVM

 - multiple epoch facility (z14 feature)

 - Configuration z/Architecture Mode

 - more sthyi fixes

 - gdb server range checking fix

 - small code cleanups

x86:
 - emulate Hyper-V TSC frequency MSRs

 - add nested INVPCID

 - emulate EPTP switching VMFUNC

 - support Virtual GIF

 - support 5 level page tables

 - speedup nested VM exits by packing byte operations

 - speedup MMIO by using hardware provided physical address

 - a lot of fixes and cleanups, especially nested

----------------------------------------------------------------
Andreas Schwab (1):
      KVM: PPC: Book3S HV: Fix invalid use of register expression

Andrew Jones (1):
      KVM: MAINTAINERS improvements

Aneesh Kumar K.V (1):
      powerpc/mm: Rename find_linux_pte_or_hugepte()

Arnd Bergmann (1):
      kvm: avoid uninitialized-variable warnings

Arvind Yadav (1):
      KVM: arm/arm64: vgic: constify seq_operations and file_operations

Bandan Das (3):
      KVM: vmx: Enable VMFUNCs
      KVM: nVMX: Enable VMFUNC for the L1 hypervisor
      KVM: nVMX: Emulate EPTP switching for the L1 hypervisor

Brijesh Singh (2):
      KVM: SVM: Limit PFERR_NESTED_GUEST_PAGE error_code check to L1 guest
      KVM: x86: Avoid guest page table walk when gpa_available is set

Christian Borntraeger (2):
      Merge branch 'tlb-flushing' of git://git.kernel.org/.../s390/linux  into kernelorgnext
      Merge tag 'kvm-s390-master-4.13-2' into kvms390/next

Christoffer Dall (2):
      KVM: arm/arm64: Extract GICv3 max APRn index calculation
      KVM: arm/arm64: Support uaccess of GICC_APRn

Claudio Imbrenda (1):
      KVM: s390: expose no-DAT to guest and migration support

Collin L. Walling (1):
      KVM: s390: Multiple Epoch Facility support

Dan Carpenter (2):
      KVM: PPC: e500: Fix some NULL dereferences on error
      KVM: PPC: e500mc: Fix a NULL dereference

David Hildenbrand (9):
      KVM: nVMX: get rid of nested_get_page()
      KVM: nVMX: get rid of nested_release_page*
      KVM: nVMX: validate eptp pointer
      KVM: VMX: cleanup EPTP definitions
      KVM: VMX: always require WB memory type for EPT
      KVM: s390: we are always in czam mode
      KVM: s390: guestdbg: fix range check
      KVM: s390: use WARN_ON_ONCE only for checking
      KVM: s390: vsie: cleanup mcck reinjection

Denys Vlasenko (1):
      KVM: SVM: delete avic_vm_id_bitmap (2 megabyte static array)

Heiko Carstens (1):
      KVM: s390: sthyi: remove invalid guest write access

James Morse (1):
      KVM: arm/arm64: Fix guest external abort matching

Janakarajan Natarajan (2):
      KVM: SVM: Add Virtual GIF feature definition
      KVM: SVM: Enable Virtual GIF feature

Jason J. Herne (1):
      KVM: s390: Support Configuration z/Architecture Mode

Jim Mattson (4):
      kvm: x86: Disallow illegal IA32_APIC_BASE MSR values
      kvm: vmx: Raise #UD on unsupported RDRAND
      kvm: vmx: Raise #UD on unsupported RDSEED
      kvm: nVMX: Validate the virtual-APIC address on nested VM-entry

Ladi Prosek (1):
      KVM: hyperv: support HV_X64_MSR_TSC_FREQUENCY and HV_X64_MSR_APIC_FREQUENCY

Longpeng(Mike) (4):
      KVM: add spinlock optimization framework
      KVM: X86: implement the logic for spinlock optimization
      KVM: s390: implements the kvm_arch_vcpu_in_kernel()
      KVM: arm: implements the kvm_arch_vcpu_in_kernel()

Marc Zyngier (1):
      KVM: arm/arm64: vITS: Drop its_ite->lpi field

Martin Schwidefsky (4):
      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

Nicholas Piggin (2):
      KVM: PPC: Book3S HV: POWER9 does not require secondary thread management
      KVM: PPC: Book3S HV: Fix H_REGISTER_VPA VPA size validation

Paolo Bonzini (7):
      KVM: nVMX: INVPCID support
      kvm: nVMX: Add support for fast unprotection of nested guest page tables
      KVM: x86: simplify ept_misconfig
      KVM: x86: fix use of L1 MMIO areas in nested guests
      KVM: VMX: cache secondary exec controls
      kvm: vmx: Raise #UD on unsupported XSAVES/XRSTORS
      KVM: MMU: speedup update_permission_bitmask

Paul Mackerras (4):
      KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list
      KVM: PPC: Book3S HV: Fix case where HDEC is treated as 32-bit on POWER9
      KVM: PPC: Book3S HV: Report storage key support to userspace
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next

Radim Krčmář (7):
      KVM: x86: X86_FEATURE_NRIPS is not scattered anymore
      KVM: x86: generalize guest_cpuid_has_ helpers
      KVM: x86: use general helpers for some cpuid manipulation
      Merge tag 'kvm-s390-next-4.14-2' of git://git.kernel.org/.../kvms390/linux
      Merge tag 'kvm-arm-for-v4.14' of git://git.kernel.org/.../kvmarm/kvmarm
      Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc
      Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/.../paulus/powerpc

Ram Pai (1):
      KVM: PPC: Book3S HV: Fix setting of storage key in H_ENTER

Wanpeng Li (6):
      KVM: X86: Fix residual mmio emulation request to userspace
      KVM: MMU: Fix softlockup due to mmu_lock is held too long
      KVM: MMU: Bail out immediately if there is no available mmu page
      KVM: VMX: use kvm_event_needs_reinjection
      KVM: X86: Fix loss of exception which has not yet been injected
      KVM: nVMX: Fix trying to cancel vmlauch/vmresume

Yu Zhang (5):
      KVM: x86: Add return value to kvm_cpuid().
      KVM: MMU: check guest CR3 reserved bits based on its physical address width.
      KVM: MMU: Rename PT64_ROOT_LEVEL to PT64_ROOT_4LEVEL.
      KVM: MMU: Add 5 level EPT & Shadow page table support.
      KVM: MMU: Expose the LA57 feature to VM.

nixiaoming (1):
      KVM: PPC: Book3S HV: Fix memory leak in kvm_vm_ioctl_get_htab_fd

 Documentation/virtual/kvm/devices/arm-vgic.txt |   5 +
 Documentation/virtual/kvm/devices/vm.txt       |  14 +-
 MAINTAINERS                                    |  37 +-
 arch/arm/include/asm/kvm_arm.h                 |   1 -
 arch/arm/include/asm/kvm_emulate.h             |  24 +-
 arch/arm/kvm/handle_exit.c                     |   2 +-
 arch/arm64/include/asm/kvm_emulate.h           |  24 +-
 arch/arm64/kvm/handle_exit.c                   |   2 +-
 arch/arm64/kvm/vgic-sys-reg-v3.c               |  23 +-
 arch/mips/kvm/mips.c                           |   5 +
 arch/powerpc/include/asm/book3s/64/mmu-hash.h  |   1 +
 arch/powerpc/include/asm/kvm_book3s_asm.h      |   4 +
 arch/powerpc/include/asm/pgtable.h             |  10 +-
 arch/powerpc/include/asm/pte-walk.h            |  35 ++
 arch/powerpc/kernel/eeh.c                      |   4 +-
 arch/powerpc/kernel/idle_book3s.S              |  35 +-
 arch/powerpc/kernel/io-workarounds.c           |   5 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c            |   6 +-
 arch/powerpc/kvm/book3s_64_mmu_radix.c         |  28 +-
 arch/powerpc/kvm/book3s_64_vio.c               |  21 +-
 arch/powerpc/kvm/book3s_64_vio_hv.c            |  12 +-
 arch/powerpc/kvm/book3s_hv.c                   |  29 +-
 arch/powerpc/kvm/book3s_hv_rm_mmu.c            |  20 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S        |  13 +-
 arch/powerpc/kvm/e500.c                        |   8 +-
 arch/powerpc/kvm/e500_mmu_host.c               |   3 +-
 arch/powerpc/kvm/e500mc.c                      |   4 +-
 arch/powerpc/kvm/powerpc.c                     |   5 +
 arch/powerpc/mm/hash_utils_64.c                |   5 +-
 arch/powerpc/mm/hugetlbpage.c                  |  24 +-
 arch/powerpc/mm/tlb_hash64.c                   |   6 +-
 arch/powerpc/perf/callchain.c                  |   3 +-
 arch/s390/include/asm/kvm_host.h               |   6 +-
 arch/s390/include/asm/page-states.h            |   3 +-
 arch/s390/include/asm/page.h                   |   3 +
 arch/s390/include/asm/pgtable.h                |  88 +++-
 arch/s390/include/asm/setup.h                  |   9 +-
 arch/s390/include/asm/tlbflush.h               |   7 +-
 arch/s390/include/uapi/asm/kvm.h               |   6 +
 arch/s390/kernel/suspend.c                     |  24 +-
 arch/s390/kernel/vdso.c                        |   2 +
 arch/s390/kvm/diag.c                           |   2 +-
 arch/s390/kvm/guestdbg.c                       |   2 +-
 arch/s390/kvm/interrupt.c                      |   6 +-
 arch/s390/kvm/kvm-s390.c                       | 118 ++++-
 arch/s390/kvm/kvm-s390.h                       |   2 +
 arch/s390/kvm/priv.c                           |   6 +-
 arch/s390/kvm/sigp.c                           |  36 +-
 arch/s390/kvm/sthyi.c                          |   8 -
 arch/s390/kvm/vsie.c                           |  16 +-
 arch/s390/mm/init.c                            |   2 +
 arch/s390/mm/page-states.c                     | 192 +++++++-
 arch/s390/mm/pageattr.c                        |   2 +-
 arch/s390/mm/pgalloc.c                         |   2 +
 arch/s390/mm/pgtable.c                         | 160 +++++--
 arch/s390/tools/gen_facilities.c               |   1 +
 arch/x86/include/asm/cpufeatures.h             |   1 +
 arch/x86/include/asm/kvm_emulate.h             |   4 +-
 arch/x86/include/asm/kvm_host.h                |  40 +-
 arch/x86/include/asm/svm.h                     |   6 +
 arch/x86/include/asm/vmx.h                     |  22 +-
 arch/x86/kvm/cpuid.c                           |  34 +-
 arch/x86/kvm/cpuid.h                           | 186 +++-----
 arch/x86/kvm/emulate.c                         |  42 +-
 arch/x86/kvm/hyperv.c                          |   8 +-
 arch/x86/kvm/kvm_cache_regs.h                  |   2 +-
 arch/x86/kvm/lapic.c                           |   2 -
 arch/x86/kvm/lapic.h                           |   3 +
 arch/x86/kvm/mmu.c                             | 267 +++++++----
 arch/x86/kvm/mmu.h                             |  23 +-
 arch/x86/kvm/mmu_audit.c                       |   4 +-
 arch/x86/kvm/mtrr.c                            |   2 +-
 arch/x86/kvm/paging_tmpl.h                     |   6 +-
 arch/x86/kvm/svm.c                             | 139 +++---
 arch/x86/kvm/trace.h                           |  11 +-
 arch/x86/kvm/vmx.c                             | 620 ++++++++++++++++++-------
 arch/x86/kvm/x86.c                             | 213 +++++----
 arch/x86/kvm/x86.h                             |  54 ++-
 drivers/s390/char/sclp_early.c                 |   6 +-
 include/linux/kvm_host.h                       |   9 +-
 include/uapi/linux/kvm.h                       |   3 +-
 virt/kvm/arm/arm.c                             |   5 +
 virt/kvm/arm/mmu.c                             |  40 +-
 virt/kvm/arm/vgic/vgic-debug.c                 |   4 +-
 virt/kvm/arm/vgic/vgic-its.c                   |  10 +-
 virt/kvm/arm/vgic/vgic-mmio-v2.c               |  47 +-
 virt/kvm/arm/vgic/vgic.h                       |  16 +
 virt/kvm/kvm_main.c                            |   7 +-
 88 files changed, 2041 insertions(+), 916 deletions(-)
 create mode 100644 arch/powerpc/include/asm/pte-walk.h


---8<---
diff --cc arch/x86/kvm/mmu.c
index 04d750813c9d,2a8a6e3e2a31..eca30c1eb1d9
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@@ -4116,21 -4157,11 +4162,21 @@@ reset_shadow_zero_bits_mask(struct kvm_
  	 * Passing "true" to the last argument is okay; it adds a check
  	 * on bit 8 of the SPTEs which KVM doesn't use anyway.
  	 */
 -	__reset_rsvds_bits_mask(vcpu, &context->shadow_zero_check,
 +	shadow_zero_check = &context->shadow_zero_check;
 +	__reset_rsvds_bits_mask(vcpu, shadow_zero_check,
  				boot_cpu_data.x86_phys_bits,
  				context->shadow_root_level, uses_nx,
- 				guest_cpuid_has_gbpages(vcpu), is_pse(vcpu),
- 				true);
+ 				guest_cpuid_has(vcpu, X86_FEATURE_GBPAGES),
+ 				is_pse(vcpu), true);
 +
 +	if (!shadow_me_mask)
 +		return;
 +
 +	for (i = context->shadow_root_level; --i >= 0;) {
 +		shadow_zero_check->rsvd_bits_mask[0][i] &= ~shadow_me_mask;
 +		shadow_zero_check->rsvd_bits_mask[1][i] &= ~shadow_me_mask;
 +	}
 +
  }
  EXPORT_SYMBOL_GPL(reset_shadow_zero_bits_mask);
  



[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