Linus, The following changes since commit 0d997491f814c87310a6ad7be30a9049c7150489: arm/arm64: KVM: Fix disabled distributor operation (2015-10-20 18:09:13 +0200) 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 a3eaa8649e4c6a6afdafaa04b9114fb230617bb1: KVM: VMX: Fix commit which broke PML (2015-11-05 11:34:11 +0100) ---------------------------------------------------------------- s390: A bunch of fixes and optimizations for interrupt and time handling. PPC: Mostly bug fixes. ARM: No big features, but many small fixes and prerequisites including: - a number of fixes for the arch-timer - introducing proper level-triggered semantics for the arch-timers - a series of patches to synchronously halt a guest (prerequisite for IRQ forwarding) - some tracepoint improvements - a tweak for the EL2 panic handlers - some more VGIC cleanups getting rid of redundant state x86: quite a few changes: - support for VT-d posted interrupts (i.e. PCI devices can inject interrupts directly into vCPUs). This introduces a new component (in virt/lib/) that connects VFIO and KVM together. The same infrastructure will be used for ARM interrupt forwarding as well. - more Hyper-V features, though the main one Hyper-V synthetic interrupt controller will have to wait for 4.5. These will let KVM expose Hyper-V devices. - nested virtualization now supports VPID (same as PCID but for vCPUs) which makes it quite a bit faster - for future hardware that supports NVDIMM, there is support for clflushopt, clwb, pcommit - support for "split irqchip", i.e. LAPIC in kernel + IOAPIC/PIC/PIT in userspace, which reduces the attack surface of the hypervisor - obligatory smattering of SMM fixes - on the guest side, stable scheduler clock support was rewritten to not require help from the hypervisor. ---------------------------------------------------------------- Alex Williamson (1): virt: IRQ bypass manager Andrey Smetanin (8): kvm/x86: Hyper-V HV_X64_MSR_RESET msr kvm/x86: Hyper-V HV_X64_MSR_VP_INDEX export for QEMU. kvm/x86: Hyper-V HV_X64_MSR_VP_RUNTIME support kvm/eventfd: avoid loop inside irqfd_update() kvm/eventfd: factor out kvm_notify_acked_gsi() kvm/eventfd: add arch-specific set_irq kvm/irqchip: allow only multiple irqchip routes per GSI drivers/hv: share Hyper-V SynIC constants with userspace Andrzej Hajda (1): KVM: PPC: e500: fix handling local_sid_lookup result Christian Borntraeger (3): KVM: s390: remove unused variable in __inject_vm KVM: s390: drop useless newline in debugging data KVM: s390: use simple switch statement as multiplexer Christoffer Dall (10): KVM: Add kvm_arch_vcpu_{un}blocking callbacks arm/arm64: KVM: arch_timer: Only schedule soft timer on vcpu_block arm/arm64: KVM: vgic: Factor out level irq processing on guest exit arm/arm64: KVM: Implement GICD_ICFGR as RO for PPIs arm/arm64: KVM: Use appropriate define in VGIC reset code arm/arm64: KVM: Add forwarded physical interrupts documentation arm/arm64: KVM: Rework the arch timer to use level-triggered semantics arm/arm64: KVM: Support edge-triggered forwarded interrupts arm/arm64: KVM: Improve kvm_exit tracepoint arm/arm64: KVM: Add tracepoints for vgic and timer David Hildenbrand (10): KVM: s390: disabled wait cares about machine checks, not PER KVM: s390: set interception requests for all floating irqs KVM: s390: kvm_arch_vcpu_runnable already cares about timer interrupts KVM: s390: drop out early in kvm_s390_has_irq() KVM: s390: simplify in-kernel program irq injection KVM: s390: correctly handle injection of pgm irqs and per events KVM: s390: switch to get_tod_clock() and fix STP sync races KVM: s390: factor out and fix setting of guest TOD clock KVM: s390: factor out reading of the guest TOD clock KVM: s390: SCA must not cross page boundaries Eric Auger (7): KVM: create kvm_irqfd.h KVM: introduce kvm_arch functions for IRQ bypass KVM: eventfd: add irq bypass consumer management KVM: arm/arm64: rename pause into power_off KVM: arm/arm64: check power_off in kvm_arch_vcpu_runnable KVM: arm/arm64: check power_off in critical section before VCPU run KVM: arm/arm64: implement kvm_arm_[halt,resume]_guest Feng Wu (12): virt: Add virt directory to the top Makefile KVM: Add an arch specific hooks in 'struct kvm_kernel_irqfd' KVM: Extend struct pi_desc for VT-d Posted-Interrupts KVM: Add some helper functions for Posted-Interrupts KVM: Define a new interface kvm_intr_is_single_vcpu() KVM: make kvm_set_msi_irq() public vfio: Register/unregister irq_bypass_producer KVM: x86: Update IRTE for posted-interrupts KVM: x86: select IRQ_BYPASS_MANAGER KVM: Update Posted-Interrupts Descriptor when vCPU is preempted KVM: Update Posted-Interrupts Descriptor when vCPU is blocked iommu/vt-d: Add a command line parameter for VT-d posted-interrupts Gautham R. Shenoy (1): KVM: PPC: Book3S HV: Handle H_DOORBELL on the guest exit path Jan Beulich (1): KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs Jason Wang (3): kvm: use kmalloc() instead of kzalloc() during iodev register/unregister kvm: add tracepoint for fast mmio kvm: add capability for any-length ioeventfds Joerg Roedel (1): kvm: svm: Only propagate next_rip when guest supports it Kai Huang (1): KVM: VMX: Fix commit which broke PML Kosuke Tatsukawa (1): kvm: fix waitqueue_active without memory barrier in virt/kvm/async_pf.c Laszlo Ersek (1): KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0() Mahesh Salgaonkar (1): KVM: PPC: Book3S HV: Deliver machine check with MSR(RI=0) to guest as MCE Marcelo Tosatti (1): KVM: x86: move steal time initialization to vcpu entry time Mark Rutland (1): arm64: kvm: restore EL1N SP for panic Michal Marek (1): KVM: arm: Do not indent the arguments of DECLARE_BITMAP Nikunj A Dadhania (1): KVM: PPC: Implement extension to report number of memslots Paolo Bonzini (22): Merge branch 'x86/for-kvm' of git://git.kernel.org/.../tip/tip into HEAD tools lib traceevent: update KVM plugin KVM: x86: set TMR when the interrupt is accepted KVM: x86: store IOAPIC-handled vectors in each VCPU KVM: x86: replace vm_has_apicv hook with cpu_uses_apicv KVM: x86: introduce lapic_in_kernel KVM: x86: unify handling of interrupt window KVM: vmx: disable posted interrupts if no local APIC KVM: VMX: align vmx->nested.nested_vmx_secondary_ctls_high to vmx->rdtscp_enabled irq_remapping: move structs outside #ifdef Merge tag 'kvm-s390-next-20151013' of git://git.kernel.org/.../kvms390/linux into HEAD Merge branch 'kvm-master' into HEAD Merge branch 'kvm-master' into HEAD KVM: x86: manually unroll bad_mt_xwr loop kvm: x86: zero EFER on INIT Merge tag 'kvm-s390-next-20151028' of git://git.kernel.org/.../kvms390/linux into HEAD Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc into HEAD Merge tag 'kvm-arm-for-4.4' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic KVM: device assignment: remove pointless #ifdefs KVM: x86: move kvm_set_irq_inatomic to legacy device assignment KVM: x86: allow RSM from 64-bit mode Paul Mackerras (2): KVM: PPC: Book3S HV: Don't fall back to smaller HPT size in allocation ioctl KVM: PPC: Book3S HV: Make H_REMOVE return correct HPTE value for absent HPTEs Pavel Fedin (4): KVM: arm/arm64: Fix vGIC documentation KVM: arm/arm64: Optimize away redundant LR tracking KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() Radim Krčmář (8): x86: kvmclock: abolish PVCLOCK_COUNTS_FROM_ZERO kvm: x86: set KVM_REQ_EVENT when updating IRR KVM: x86: fix edge EOI and IOAPIC reconfig race KVM: x86: don't notify userspace IOAPIC on edge EOI KVM: x86: add read_phys to x86_emulate_ops KVM: x86: handle SMBASE as physical address in RSM KVM: x86: zero apic_arb_prio on reset KVM: VMX: fix SMEP and SMAP without EPT Saurabh Sengar (1): KVM: x86: removing unused variable Steve Rutherford (4): KVM: x86: Split the APIC from the rest of IRQCHIP. KVM: x86: Add KVM exit for IOAPIC EOIs KVM: x86: Add EOI exit bitmap inference KVM: x86: Add support for local interrupt requests from userspace Takuya Yoshikawa (6): KVM: x86: MMU: Make force_pt_level bool KVM: x86: MMU: Simplify force_pt_level calculation code in FNAME(page_fault)() KVM: x86: MMU: Move mapping_level_dirty_bitmap() call in mapping_level() KVM: x86: MMU: Remove mapping_level_dirty_bitmap() KVM: x86: MMU: Eliminate an extra memory slot search in mapping_level() KVM: x86: MMU: Initialize force_pt_level before calling mapping_level() Tudor Laurentiu (3): powerpc/e6500: add TMCFG0 register definition KVM: PPC: e500: Emulate TMCFG0 TMRN register KVM: PPC: e500: fix couple of shift operations on 64 bits Wanpeng Li (5): KVM: VMX: adjust interface to allocate/free_vpid KVM: VMX: introduce __vmx_flush_tlb to handle specific vpid KVM: nVMX: emulate the INVVPID instruction KVM: nVMX: nested VPID emulation KVM: nVMX: expose VPID capability to L1 Wei Huang (1): arm/arm64: KVM : Enable vhost device selection under KVM config menu Xiao Guangrong (8): KVM: x86: allow guest to use cflushopt and clwb KVM: x86: add pcommit support KVM: VMX: drop rdtscp_enabled check in prepare_vmcs02() KVM: VMX: simplify rdtscp handling in vmx_cpuid_update() KVM: VMX: simplify invpcid handling in vmx_cpuid_update() KVM: VMX: unify SECONDARY_VM_EXEC_CONTROL update KVM: VMX: clean up bit operation on SECONDARY_VM_EXEC_CONTROL KVM: VMX: drop rdtscp_enabled field Documentation/kernel-parameters.txt | 1 + Documentation/virtual/kvm/api.txt | 52 +- Documentation/virtual/kvm/arm/vgic-mapped-irqs.txt | 187 +++++ Documentation/virtual/kvm/devices/arm-vgic.txt | 18 +- Documentation/virtual/kvm/locking.txt | 12 + MAINTAINERS | 7 + Makefile | 10 +- arch/arm/include/asm/kvm_arm.h | 20 + arch/arm/include/asm/kvm_host.h | 5 +- arch/arm/kvm/Kconfig | 2 + arch/arm/kvm/arm.c | 76 ++- arch/arm/kvm/psci.c | 10 +- arch/arm/kvm/trace.h | 10 +- arch/arm64/include/asm/kvm_arm.h | 16 + arch/arm64/include/asm/kvm_host.h | 5 +- arch/arm64/kvm/Kconfig | 2 + arch/arm64/kvm/hyp.S | 8 + arch/mips/include/asm/kvm_host.h | 2 + arch/powerpc/include/asm/disassemble.h | 5 + arch/powerpc/include/asm/kvm_host.h | 2 + arch/powerpc/include/asm/reg_booke.h | 6 + arch/powerpc/kvm/book3s_64_mmu_hv.c | 3 +- arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 + arch/powerpc/kvm/book3s_hv_rmhandlers.S | 29 +- arch/powerpc/kvm/e500.c | 3 +- arch/powerpc/kvm/e500_emulate.c | 19 + arch/powerpc/kvm/e500_mmu_host.c | 4 +- arch/powerpc/kvm/powerpc.c | 3 + arch/s390/include/asm/kvm_host.h | 2 + arch/s390/kvm/intercept.c | 42 +- arch/s390/kvm/interrupt.c | 116 ++-- arch/s390/kvm/kvm-s390.c | 58 +- arch/s390/kvm/kvm-s390.h | 35 +- arch/s390/kvm/priv.c | 19 +- arch/x86/include/asm/irq_remapping.h | 10 +- arch/x86/include/asm/kvm_emulate.h | 10 + arch/x86/include/asm/kvm_host.h | 38 +- arch/x86/include/asm/vmx.h | 3 +- arch/x86/include/uapi/asm/hyperv.h | 18 + arch/x86/include/uapi/asm/vmx.h | 4 +- arch/x86/kernel/kvmclock.c | 46 +- arch/x86/kvm/Kconfig | 2 + arch/x86/kvm/assigned-dev.c | 62 +- arch/x86/kvm/cpuid.c | 2 +- arch/x86/kvm/cpuid.h | 37 + arch/x86/kvm/emulate.c | 35 +- arch/x86/kvm/hyperv.c | 31 +- arch/x86/kvm/i8254.c | 4 +- arch/x86/kvm/ioapic.c | 29 +- arch/x86/kvm/ioapic.h | 15 +- arch/x86/kvm/irq.c | 40 +- arch/x86/kvm/irq.h | 27 +- arch/x86/kvm/irq_comm.c | 129 ++-- arch/x86/kvm/lapic.c | 127 +++- arch/x86/kvm/lapic.h | 7 +- arch/x86/kvm/mmu.c | 91 +-- arch/x86/kvm/paging_tmpl.h | 19 +- arch/x86/kvm/svm.c | 43 +- arch/x86/kvm/trace.h | 51 ++ arch/x86/kvm/vmx.c | 750 +++++++++++++++++---- arch/x86/kvm/x86.c | 256 +++++-- drivers/hv/hyperv_vmbus.h | 5 - drivers/iommu/irq_remapping.c | 12 +- drivers/vfio/Kconfig | 1 + drivers/vfio/pci/Kconfig | 1 + drivers/vfio/pci/vfio_pci_intrs.c | 9 + drivers/vfio/pci/vfio_pci_private.h | 2 + include/kvm/arm_arch_timer.h | 4 +- include/kvm/arm_vgic.h | 16 +- include/linux/hyperv.h | 1 + include/linux/irqbypass.h | 90 +++ include/linux/kvm_host.h | 42 +- include/linux/kvm_irqfd.h | 71 ++ include/uapi/linux/kvm.h | 7 + kernel/sched/cputime.c | 2 + virt/Makefile | 1 + virt/kvm/Kconfig | 5 +- virt/kvm/arm/arch_timer.c | 173 +++-- virt/kvm/arm/trace.h | 63 ++ virt/kvm/arm/vgic-v2.c | 6 +- virt/kvm/arm/vgic-v3.c | 6 +- virt/kvm/arm/vgic.c | 308 ++++----- virt/kvm/async_pf.c | 4 + virt/kvm/eventfd.c | 190 +++--- virt/kvm/irqchip.c | 18 +- virt/kvm/kvm_main.c | 11 +- virt/lib/Kconfig | 2 + virt/lib/Makefile | 1 + virt/lib/irqbypass.c | 257 +++++++ 89 files changed, 2956 insertions(+), 1029 deletions(-) -- 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