From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Subject: [GIT PULL] First batch of KVM changes for v4.14
Date: Fri, 8 Sep 2017 16:30:57 +0200 [thread overview]
Message-ID: <20170908143056.GA14724@flask> (raw)
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);
next reply other threads:[~2017-09-08 14:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 14:30 Radim Krčmář [this message]
2017-09-08 22:25 ` [GIT PULL] First batch of KVM changes for v4.14 Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170908143056.GA14724@flask \
--to=rkrcmar@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.