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:// 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

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

- 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:// 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 
      irq_remapping: move structs outside #ifdef
      Merge tag 'kvm-s390-next-20151013' of 
git:// 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:// into HEAD
      Merge branch 'kvm-ppc-next' of git:// 
into HEAD
      Merge tag 'kvm-arm-for-4.4' of git:// 
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 
      KVM: PPC: Book3S HV: Make H_REMOVE return correct HPTE value for absent 

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 
      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: 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
More majordomo info at

Reply via email to