Linus, The following changes since commit a25f0944ba9b1d8a6813fd6f1a86f1bd59ac25a6: Linux 4.9-rc5 (2016-11-13 10:32:32 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus for you to fetch changes up to f673b5b2a66332da5358def524dbfb3305c76d8c: Merge tag 'kvm-arm-for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2016-12-12 07:29:39 +0100) ---------------------------------------------------------------- Small release, the most interesting stuff is x86 nested virt improvements. x86: userspace can now hide nested VMX features from guests; nested VMX can now run Hyper-V in a guest; support for AVX512_4VNNIW and AVX512_FMAPS in KVM; infrastructure support for virtual Intel GPUs. PPC: support for KVM guests on POWER9; improved support for interrupt polling; optimizations and cleanups. s390: two small optimizations, more stuff is in flight and will be in 4.11. ARM: support for the GICv3 ITS on 32bit platforms. ---------------------------------------------------------------- Andre Przywara (1): KVM: arm/arm64: vgic-v2: Limit ITARGETSR bits to number of VCPUs Bandan Das (1): kvm: x86: don't print warning messages for unimplemented msrs Christian Borntraeger (2): KVM: s390: handle access registers in the run ioctl not in vcpu_put/load KVM: s390: handle floating point registers in the run ioctl not in vcpu_put/load Christoffer Dall (1): KVM: arm/arm64: timer: Check for properly initialized timer on init Daniel Axtens (2): KVM: PPC: Book3S HV: Fix sparse static warning KVM: PPC: Book3S HV: sparse: prototypes for functions called from assembler David Gibson (2): KVM: PPC: Move KVM_PPC_PVINFO_FLAGS_EV_IDLE definition next to its structure KVM: PPC: Correctly report KVM_CAP_PPC_ALLOC_HTAB David Matlack (5): KVM: nVMX: generate non-true VMX MSRs based on true versions KVM: nVMX: support restore of VMX capability MSRs KVM: nVMX: fix checks on CR{0,4} during virtual VMX operation KVM: nVMX: generate MSR_IA32_CR{0,4}_FIXED1 from guest CPUID KVM: nVMX: load GUEST_EFER after GUEST_CR0 during emulated VM-entry Geliang Tang (1): KVM: PPC: Book3S HV: Drop duplicate header asm/iommu.h He Chen (2): x86/cpuid: Cleanup cpuid_regs definitions x86/cpuid: Provide get_scattered_cpuid_leaf() Jan Dakinevich (3): KVM: VMX: clean up declaration of VPID/EPT invalidation types KVM: nVMX: invvpid handling improvements KVM: nVMX: invvpid handling improvements Jiang Biao (5): kvm: x86: make function static to avoid compiling warning kvm: x86: make a function in x86.c static to avoid compiling warning kvm: x86: cpuid: remove the unnecessary variable kvm: x86: hyperv: make function static to avoid compiling warning kvm: x86: remove unused but set variable Jike Song (2): kvm/page_track: call notifiers with kvm_page_track_notifier_node kvm/page_track: export symbols for external usage Jim Mattson (3): kvm: nVMX: Fetch VM_INSTRUCTION_ERROR from vmcs02 on vmx->fail kvm: nVMX: Update MSR load counts on a VMCS switch kvm: x86: CPUID.01H:EDX.APIC[bit 9] should mirror IA32_APIC_BASE[11] Kyle Huey (5): KVM: x86: Add a return value to kvm_emulate_cpuid KVM: VMX: Reorder some skip_emulated_instruction calls KVM: VMX: Move skip_emulated_instruction out of nested_vmx_check_vmcs12 KVM: x86: Add kvm_skip_emulated_instruction and use it. KVM: x86: Do not clear RFLAGS.TF when a singlestep trap occurs. Ladi Prosek (4): KVM: nVMX: fix CR3 load if L2 uses PAE paging and EPT KVM: nVMX: propagate errors from prepare_vmcs02 KVM: nVMX: introduce nested_vmx_load_cr3 and call it on vmentry KVM: nVMX: check host CR3 on vmentry and vmexit Longpeng(Mike) (2): kvm: x86: remove the misleading comment in vmx_handle_external_intr arm/arm64: KVM: Clean up useless code in kvm_timer_enable Luwei Kang (1): kvm: x86: Add AVX512_4VNNIW and AVX512_4FMAPS support Marc Zyngier (1): arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest Michael Ellerman (1): powerpc/reg: Add definition for LPCR_PECE_HVEE Michael Neuling (1): powerpc/powernv: Define and set POWER9 HFSCR doorbell bit Paolo Bonzini (5): KVM: x86: use ktime_get instead of seeking the hrtimer_clock_base KVM: nVMX: support descriptor table exits kvm: x86: avoid atomic operations on APICv vmentry Merge tag 'tags/for-kvmgt' into HEAD Merge tag 'kvm-arm-for-4.10' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD Paul Mackerras (19): powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT powerpc/64: Add some more SPRs and SPR bits for POWER9 powerpc/64: Provide functions for accessing POWER9 partition table powerpc/powernv: Define real-mode versions of OPAL XICS accessors Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next KVM: PPC: Book3S HV: Adapt to new HPTE format on POWER9 KVM: PPC: Book3S HV: Set partition table rather than SDR1 on POWER9 KVM: PPC: Book3S HV: Adjust host/guest context switch for POWER9 KVM: PPC: Book3S HV: Add new POWER9 guest-accessible SPRs KVM: PPC: Book3S HV: Adapt TLB invalidations to work on POWER9 KVM: PPC: Book3S HV: Use msgsnd for IPIs to other cores on POWER9 KVM: PPC: Book3S HV: Use OPAL XICS emulation on POWER9 KVM: PPC: Book3S HV: Use stop instruction rather than nap on POWER9 KVM: PPC: Book3S HV: Enable hypervisor virtualization interrupts while in guest KVM: PPC: Book3S HV: Treat POWER9 CPU threads as independent subcores KVM: PPC: Book3S HV: Fix compilation with unusual configurations KVM: PPC: Book3S: Move prototypes for KVM functions into kvm_ppc.h Peter Feiner (1): KVM: X86: MMU: no mmu_notifier_seq++ in kvm_age_hva Petr Mladek (1): KVM: x86: Handle the kthread worker using the new API Radim Krčmář (11): KVM: VMX: remove functions that enable msr intercepts KVM: VMX: join functions that disable x2apic msr intercepts KVM: VMX: refactor setup of global page-sized bitmaps Merge branch 'x86/cpufeature' of git://git.kernel.org/.../tip/tip into kvm/next KVM: x86: add Align16 instruction flag KVM: x86: save one bit in ctxt->d KVM: x86: add asm_safe wrapper KVM: x86: emulate FXSAVE and FXRSTOR Merge tag 'kvm-s390-next-4.10-1' of git://git.kernel.org/.../kvms390/linux Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc Suraj Jitindar Singh (9): kvm/stats: Update kvm stats to clear on write to their debugfs entry powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value KVM: PPC: Book3S HV: Update kvmppc_set_arch_compat() for ISA v3.00 KVM: Export kvm module parameter variables KVM: PPC: Book3S HV: Use generic kvm module parameters KVM: PPC: Book3S HV: Add check for module parameter halt_poll_ns KVM: PPC: Decrease the powerpc default halt poll max value KVM: PPC: Book3S HV: Comment style and print format fixups KVM: Add halt polling documentation Tom Lendacky (2): kvm: svm: Add support for additional SVM NPF error codes kvm: svm: Add kvm_fast_pio_in support Vladimir Murzin (2): KVM: arm64: vgic-its: Fix compatibility with 32-bit ARM: KVM: Support vGICv3 ITS Wanpeng Li (6): KVM: VMX: Better name x2apic msr bitmaps KVM: LAPIC: extract start_sw_period() to handle periodic/oneshot mode KVM: LAPIC: guarantee the timer is in tsc-deadline mode KVM: LAPIC: introduce kvm_get_lapic_target_expiration_tsc() KVM: LAPIC: rename start/cancel_hv_tscdeadline to start/cancel_hv_timer KVM: LAPIC: add APIC Timer periodic/oneshot mode VMX preemption timer support Wei Yongjun (1): KVM: PPC: Book3S HV: Use list_move_tail instead of list_del/list_add_tail Xiaoguang Chen (2): KVM: x86: add track_flush_slot page track notifier KVM: x86: add track_flush_slot page track notifier Yongji Xie (2): KVM: PPC: Book3S HV: Clear the key field of HPTE when the page is paged out KVM: PPC: Book3S HV: Add a per vcpu cache for recently page faulted MMIO entries Documentation/virtual/kvm/00-INDEX | 2 + Documentation/virtual/kvm/api.txt | 5 +- Documentation/virtual/kvm/halt-polling.txt | 127 +++ arch/arm/include/uapi/asm/kvm.h | 2 + arch/arm/kvm/Kconfig | 1 + arch/arm/kvm/Makefile | 1 + arch/arm/kvm/arm.c | 6 + arch/arm64/kvm/Kconfig | 4 - arch/arm64/kvm/hyp/switch.c | 8 +- arch/arm64/kvm/reset.c | 6 - arch/powerpc/include/asm/book3s/64/mmu-hash.h | 47 +- arch/powerpc/include/asm/kvm_asm.h | 1 + arch/powerpc/include/asm/kvm_host.h | 27 +- arch/powerpc/include/asm/kvm_ppc.h | 49 +- arch/powerpc/include/asm/mmu.h | 5 + arch/powerpc/include/asm/opal.h | 3 + arch/powerpc/include/asm/reg.h | 15 + arch/powerpc/include/uapi/asm/kvm.h | 5 + arch/powerpc/kernel/asm-offsets.c | 4 + arch/powerpc/kernel/cpu_setup_power.S | 2 +- arch/powerpc/kvm/book3s_64_mmu_hv.c | 63 +- arch/powerpc/kvm/book3s_64_vio_hv.c | 1 - arch/powerpc/kvm/book3s_hv.c | 254 ++++-- arch/powerpc/kvm/book3s_hv_builtin.c | 72 +- arch/powerpc/kvm/book3s_hv_ras.c | 1 + arch/powerpc/kvm/book3s_hv_rm_mmu.c | 223 ++++- arch/powerpc/kvm/book3s_hv_rm_xics.c | 23 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 140 ++- arch/powerpc/kvm/powerpc.c | 16 +- arch/powerpc/kvm/trace_hv.h | 2 +- arch/powerpc/mm/hash_native_64.c | 30 +- arch/powerpc/mm/hash_utils_64.c | 28 +- arch/powerpc/mm/pgtable-radix.c | 18 +- arch/powerpc/mm/pgtable_64.c | 34 + arch/powerpc/platforms/powernv/opal-wrappers.S | 3 + arch/powerpc/platforms/powernv/opal.c | 2 + arch/powerpc/platforms/ps3/htab.c | 2 +- arch/powerpc/platforms/pseries/lpar.c | 2 +- arch/s390/kvm/interrupt.c | 2 +- arch/s390/kvm/kvm-s390.c | 57 +- arch/x86/events/intel/pt.c | 45 +- arch/x86/include/asm/kvm_host.h | 18 +- arch/x86/include/asm/kvm_page_track.h | 14 +- arch/x86/include/asm/processor.h | 14 + arch/x86/include/asm/vmx.h | 37 +- arch/x86/include/uapi/asm/vmx.h | 5 + arch/x86/kernel/cpu/scattered.c | 57 +- arch/x86/kernel/cpuid.c | 4 - arch/x86/kvm/cpuid.c | 26 +- arch/x86/kvm/emulate.c | 200 ++++- arch/x86/kvm/hyperv.c | 2 +- arch/x86/kvm/i8254.c | 15 +- arch/x86/kvm/i8254.h | 3 +- arch/x86/kvm/lapic.c | 212 +++-- arch/x86/kvm/lapic.h | 2 + arch/x86/kvm/mmu.c | 43 +- arch/x86/kvm/page_track.c | 31 +- arch/x86/kvm/svm.c | 21 +- arch/x86/kvm/vmx.c | 1092 +++++++++++++++--------- arch/x86/kvm/x86.c | 94 +- include/linux/irqchip/arm-gic-v3.h | 8 +- include/linux/kvm_host.h | 10 + include/uapi/linux/kvm.h | 5 +- virt/kvm/arm/arch_timer.c | 17 +- virt/kvm/arm/vgic/vgic-its.c | 11 +- virt/kvm/arm/vgic/vgic-kvm-device.c | 2 - virt/kvm/arm/vgic/vgic-mmio-v2.c | 3 +- virt/kvm/arm/vgic/vgic-mmio-v3.c | 2 - virt/kvm/arm/vgic/vgic.h | 26 - virt/kvm/kvm_main.c | 87 +- 70 files changed, 2430 insertions(+), 969 deletions(-) create mode 100644 Documentation/virtual/kvm/halt-polling.txt -- 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