[GIT PULL] KVM changes for 3.20, except PPC

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

 



Linus,

The following changes since commit 056bb5f51c357ee00046fde4929a03468ff45e7a:

  arm64: kvm: decode ESR_ELx.EC when reporting exceptions (2015-01-15 12:24:52 +0000)

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 6557bada461afeaa920a189fae2cff7c8fdce39f:

  KVM: ia64: drop kvm.h from installed user headers (2015-02-10 09:02:10 +0100)

I placed the correct conflict resolution in branch merge-resolution-3.20
of the KVM repository (based on commit 8cc748aa76c9 from your tree).
In hindsight, I probably should have just delayed the last batch of
ARM/ARM64 patches to the 3.20 merge window.

The KVM/PPC changes will come in through the PPC maintainers, because
I haven't received them yet and I might end up being offline for some
part of next week.

----------------------------------------------------------------
Fairly small update, but there are some interesting new features.

Common: Optional support for adding a small amount of polling on each HLT
instruction executed in the guest (or equivalent for other architectures).
This can improve latency up to 50% on some scenarios (e.g. O_DSYNC writes
or TCP_RR netperf tests).  This also has to be enabled manually for now,
but the plan is to auto-tune this in the future.

ARM/ARM64: the highlights are support for GICv3 emulation and dirty page
tracking

s390: several optimizations and bugfixes.  Also a first: a feature
exposed by KVM (UUID and long guest name in /proc/sysinfo) before
it is available in IBM's hypervisor! :)

MIPS: Bugfixes.

x86: Support for PML (page modification logging, a new feature in
Broadwell Xeons that speeds up dirty page tracking), nested virtualization
improvements (nested APICv---a nice optimization), usual round of emulation
fixes.  There is also a new option to reduce latency of the TSC deadline
timer in the guest; this needs to be tuned manually.

Some commits are common between this pull and Catalin's; I see you
have already included his tree.

ARM has other conflicts where functions are added in the same place
by 3.19-rc and 3.20 patches.  These are not large though, and entirely
within KVM.
----------------------------------------------------------------

Andre Przywara (21):
      ARM: KVM: extend WFI tracepoint to differentiate between wfi and wfe
      arm/arm64: KVM: rework MPIDR assignment and add accessors
      arm/arm64: KVM: pass down user space provided GIC type into vGIC code
      arm/arm64: KVM: refactor vgic_handle_mmio() function
      arm/arm64: KVM: wrap 64 bit MMIO accesses with two 32 bit ones
      arm/arm64: KVM: introduce per-VM ops
      arm/arm64: KVM: move kvm_register_device_ops() into vGIC probing
      arm/arm64: KVM: dont rely on a valid GICH base address
      arm/arm64: KVM: make the maximum number of vCPUs a per-VM value
      arm/arm64: KVM: make the value of ICC_SRE_EL1 a per-VM variable
      arm/arm64: KVM: refactor MMIO accessors
      arm/arm64: KVM: refactor/wrap vgic_set/get_attr()
      arm/arm64: KVM: add vgic.h header file
      arm/arm64: KVM: split GICv2 specific emulation code from vgic.c
      arm/arm64: KVM: add opaque private pointer to MMIO data
      arm/arm64: KVM: add virtual GICv3 distributor emulation
      arm64: GICv3: introduce symbolic names for GICv3 ICC_SGI1R_EL1 fields
      arm64: KVM: add SGI generation register emulation
      arm/arm64: KVM: enable kernel side of GICv3 emulation
      arm/arm64: KVM: allow userland to request a virtual GICv3
      arm/arm64: KVM: force alignment of VGIC dist/CPU/redist addresses

Borislav Petkov (1):
      kvm: Fix CR3_PCID_INVD type on 32-bit

Christian Borntraeger (4):
      KVM: s390: make local function static
      KVM: s390: no need to hold the kvm->mutex for floating interrupts
      KVM: s390: reenable LPP facility
      KVM: Disable compat ioctl for s390

Christoffer Dall (2):
      arm/arm64: KVM: Fixup incorrect config symbol in comment
      KVM: Remove unused config symbol

David Hildenbrand (13):
      KVM: s390: prevent sleep duration underflows in handle_wait()
      KVM: s390: base hrtimer on a monotonic clock
      KVM: s390: forward hrtimer if guest ckc not pending yet
      KVM: s390: new parameter for SIGP STOP irqs
      KVM: s390: handle stop irqs without action_bits
      KVM: s390: a VCPU may only stop when no interrupts are left pending
      KVM: s390: SIGP SET PREFIX cleanup
      s390/sclp: introduce check for the SIGP Interpretation Facility
      KVM: s390: only one external call may be pending at a time
      KVM: s390: clear the pfault queue if user space sets the invalid token
      KVM: s390: forward most SIGP orders to user space
      KVM: s390: avoid memory leaks if __inject_vm() fails
      KVM: s390: floating irqs: fix user triggerable endless loop

Dominik Dingel (3):
      KVM: remove unneeded return value of vcpu_postcreate
      KVM: s390: move vcpu specific initalization to a later point
      KVM: s390: Allow userspace to limit guest memory size

Ekaterina Tumanova (1):
      s390/kernel: Update /proc/sysinfo file with Extended Name and UUID

Eric Auger (2):
      KVM: arm/arm64: vgic: vgic_init returns -ENODEV when no online vcpu
      KVM: arm/arm64: vgic: add init entry to VGIC KVM device

Eugene Korenevsky (2):
      KVM: nVMX: Improve nested msr switch checking
      KVM: nVMX: consult PFEC_MASK and PFEC_MATCH when generating #PF VM-exit

Fengguang Wu (1):
      KVM: fix "Should it be static?" warnings from sparse

James Hogan (2):
      KVM: MIPS: Disable HTW while in guest
      KVM: MIPS: Don't leak FPU/DSP to guest

Jason J. Herne (1):
      KVM: s390: Provide guest TOD Clock Get/Set Controls

Jens Freimann (4):
      KVM: s390: fix bug in sigp emergency signal injection
      KVM: s390: trace correct values for set prefix and machine checks
      KVM: s390: fix bug in interrupt parameter check
      KVM: s390: remove redundant setting of interrupt type

Joerg Roedel (1):
      kvm: iommu: Add cond_resched to legacy device assignment code

Kai Huang (8):
      KVM: x86: flush TLB when D bit is manually changed.
      Optimize TLB flush in kvm_mmu_slot_remove_write_access.
      KVM: Rename kvm_arch_mmu_write_protect_pt_masked to be more generic for log dirty
      KVM: MMU: Add mmu help functions to support PML
      KVM: MMU: Explicitly set D-bit for writable spte.
      KVM: x86: Change parameter of kvm_mmu_slot_remove_write_access
      KVM: x86: Add new dirty logging kvm_x86_ops for PML
      KVM: VMX: Add PML support in VMX

Marcelo Tosatti (6):
      KVM: x86: add method to test PIR bitmap vector
      KVM: x86: add option to advance tscdeadline hrtimer expiration
      KVM: x86: add tracepoint to wait_lapic_expire
      KVM: x86: workaround SuSE's 2.6.16 pvclock vs masterclock issue
      KVM: x86: fix lapic_timer_int_injected with APIC-v
      KVM: x86: revert "add method to test PIR bitmap vector"

Mario Smarduch (9):
      KVM: Add architecture-defined TLB flush support
      KVM: Add generic support for dirty page logging
      KVM: arm: Add ARMv7 API to flush TLBs
      KVM: arm: Add initial dirty page locking support
      KVM: arm: dirty logging write protect support
      KVM: arm: page logging 2nd stage fault handling
      KVM: arm64: ARMv8 header changes for page logging
      KVM: arm64: Add HYP interface to flush VM Stage 1/2 TLB entries
      KVM: arm/arm64: Enable Dirty Page logging for ARMv8

Michael Mueller (2):
      KVM: s390: use facilities and cpu_id per KVM
      KVM: s390: add cpu model support

Mike Frysinger (1):
      KVM: ia64: drop kvm.h from installed user headers

Nadav Amit (15):
      KVM: x86: pop sreg accesses only 2 bytes
      KVM: x86: fnstcw and fnstsw may cause spurious exception
      KVM: x86: JMP/CALL using call- or task-gate causes exception
      KVM: x86: em_call_far should return failure result
      KVM: x86: POP [ESP] is not emulated correctly
      KVM: x86: Do not set access bit on accessed segments
      KVM: x86: Access to LDT/GDT that wraparound is incorrect
      KVM: x86: #PF error-code on R/W operations is wrong
      KVM: x86: Dirty the dest op page on cmpxchg emulation
      KVM: x86: Wrong operand size for far ret
      KVM: x86: IRET emulation does not clear NMI masking
      KVM: x86: ARPL emulation can cause spurious exceptions
      KVM: x86: Fix defines in emulator.c
      KVM: x86: 32-bit wraparound read/write not emulated correctly
      KVM: x86: Emulation of call may use incorrect stack size

Nicholas Krause (2):
      KVM: x86: Remove FIXMEs in emulate.c for the function,task_switch_32
      kvm: x86: Remove kvm_make_request from lapic.c

Paolo Bonzini (12):
      KVM: x86: mmu: do not use return to tail-call functions that return void
      KVM: x86: mmu: remove argument to kvm_init_shadow_mmu and kvm_init_shadow_ept_mmu
      KVM: x86: mmu: remove ASSERT(vcpu)
      KVM: x86: mmu: replace assertions with MMU_WARN_ON, a conditional WARN_ON
      KVM: x86: switch to kvm_get_dirty_log_protect
      Merge branch 'arm64/common-esr-macros' of git://git.kernel.org/.../mark/linux into kvm-next
      Merge tag 'kvm-arm-for-3.20' of git://git.kernel.org/.../kvmarm/kvmarm into kvm-next
      Merge tag 'kvm-s390-next-20150122' of git://git.kernel.org/.../kvms390/linux into kvm-next
      kvm: vmx: fix oops with explicit flexpriority=0 option
      kvm: add halt_poll_ns module parameter
      Merge tag 'kvm-s390-next-20150209' of git://git.kernel.org/.../kvms390/linux into HEAD
      KVM: x86: emulate: correct page fault error code for NoWrite instructions

Radim Krčmář (6):
      KVM: x86: allow TSC deadline timer on all hosts
      KVM: x86: return bool from kvm_apic_match*()
      KVM: x86: cleanup kvm_apic_match_*()
      KVM: x86: replace 0 with APIC_DEST_PHYSICAL
      KVM: x86: fix x2apic logical address matching
      KVM: x86: fix build with !CONFIG_SMP

Rickard Strandqvist (1):
      x86: kvm: vmx: Remove some unused functions

Thomas Huth (1):
      KVM: s390: Take addressing mode into account for MVPG interception

Tiejun Chen (3):
      kvm: x86: vmx: NULL out hwapic_isr_update() in case of !enable_apicv
      kvm: update_memslots: clean flags for invalid memslots
      kvm: remove KVM_MMIO_SIZE

Tony Krowiak (2):
      KVM: s390/cpacf: Enable/disable protected key functions for kvm guest
      KVM: s390/CPACF: Choose crypto control block format

Wei Huang (1):
      arm/arm64: KVM: add tracing support for arm64 exit handler

Wincy Van (7):
      KVM: nVMX: Add nested msr load/restore algorithm
      KVM: nVMX: Prepare for using hardware MSR bitmap
      KVM: nVMX: Enable nested virtualize x2apic mode
      KVM: nVMX: Make nested control MSRs per-cpu
      KVM: nVMX: Enable nested apic register virtualization
      KVM: nVMX: Enable nested virtual interrupt delivery
      KVM: nVMX: Enable nested posted interrupt processing

 Documentation/virtual/kvm/api.txt              |   35 +-
 Documentation/virtual/kvm/devices/arm-vgic.txt |   37 +-
 Documentation/virtual/kvm/devices/vm.txt       |   59 ++
 arch/arm/include/asm/kvm_asm.h                 |    1 +
 arch/arm/include/asm/kvm_emulate.h             |    5 +-
 arch/arm/include/asm/kvm_host.h                |    6 +
 arch/arm/include/asm/kvm_mmio.h                |    1 +
 arch/arm/include/asm/kvm_mmu.h                 |   21 +
 arch/arm/include/asm/pgtable-3level.h          |    1 +
 arch/arm/include/uapi/asm/kvm.h                |    2 +
 arch/arm/kvm/Kconfig                           |    2 +
 arch/arm/kvm/Makefile                          |    1 +
 arch/arm/kvm/arm.c                             |   58 +-
 arch/arm/kvm/handle_exit.c                     |    8 +-
 arch/arm/kvm/interrupts.S                      |   11 +
 arch/arm/kvm/mmu.c                             |  271 +++++-
 arch/arm/kvm/psci.c                            |   17 +-
 arch/arm/kvm/trace.h                           |   11 +-
 arch/arm64/include/asm/esr.h                   |    1 +
 arch/arm64/include/asm/kvm_asm.h               |    1 +
 arch/arm64/include/asm/kvm_emulate.h           |   10 +-
 arch/arm64/include/asm/kvm_host.h              |    7 +
 arch/arm64/include/asm/kvm_mmio.h              |    1 +
 arch/arm64/include/asm/kvm_mmu.h               |   21 +
 arch/arm64/include/asm/pgtable-hwdef.h         |    1 +
 arch/arm64/include/uapi/asm/kvm.h              |    9 +
 arch/arm64/kernel/asm-offsets.c                |    1 +
 arch/arm64/kvm/Kconfig                         |    2 +
 arch/arm64/kvm/Makefile                        |    2 +
 arch/arm64/kvm/handle_exit.c                   |   13 +-
 arch/arm64/kvm/hyp.S                           |   22 +
 arch/arm64/kvm/sys_regs.c                      |   40 +-
 arch/arm64/kvm/trace.h                         |   55 ++
 arch/arm64/kvm/vgic-v3-switch.S                |   14 +-
 arch/ia64/include/uapi/asm/Kbuild              |    1 -
 arch/mips/include/asm/kvm_host.h               |    1 +
 arch/mips/kvm/locore.S                         |    2 +-
 arch/mips/kvm/mips.c                           |   23 +-
 arch/powerpc/include/asm/kvm_host.h            |    1 +
 arch/powerpc/kvm/book3s.c                      |    1 +
 arch/powerpc/kvm/booke.c                       |    1 +
 arch/powerpc/kvm/powerpc.c                     |    3 +-
 arch/s390/include/asm/kvm_host.h               |   56 +-
 arch/s390/include/asm/sclp.h                   |    4 +-
 arch/s390/include/asm/sysinfo.h                |   10 +-
 arch/s390/include/uapi/asm/kvm.h               |   37 +
 arch/s390/kernel/sysinfo.c                     |   29 +
 arch/s390/kvm/gaccess.c                        |    4 +-
 arch/s390/kvm/intercept.c                      |   41 +-
 arch/s390/kvm/interrupt.c                      |  191 ++--
 arch/s390/kvm/kvm-s390.c                       |  596 +++++++++++--
 arch/s390/kvm/kvm-s390.h                       |   19 +-
 arch/s390/kvm/priv.c                           |   13 +-
 arch/s390/kvm/sigp.c                           |  160 ++--
 arch/s390/kvm/trace-s390.h                     |   14 +-
 arch/x86/include/asm/kvm_emulate.h             |    1 +
 arch/x86/include/asm/kvm_host.h                |   59 +-
 arch/x86/include/asm/vmx.h                     |    4 +
 arch/x86/include/uapi/asm/msr-index.h          |    3 +
 arch/x86/include/uapi/asm/vmx.h                |    6 +
 arch/x86/kvm/Kconfig                           |    1 +
 arch/x86/kvm/emulate.c                         |  230 +++--
 arch/x86/kvm/ioapic.h                          |    2 +-
 arch/x86/kvm/iommu.c                           |    4 +-
 arch/x86/kvm/lapic.c                           |  147 ++--
 arch/x86/kvm/lapic.h                           |    6 +-
 arch/x86/kvm/mmu.c                             |  351 ++++++--
 arch/x86/kvm/mmu.h                             |   17 +-
 arch/x86/kvm/svm.c                             |    4 +-
 arch/x86/kvm/trace.h                           |   38 +
 arch/x86/kvm/vmx.c                             | 1086 ++++++++++++++++++++---
 arch/x86/kvm/x86.c                             |  209 +++--
 arch/x86/kvm/x86.h                             |    3 +
 drivers/irqchip/irq-gic-v3.c                   |   14 +-
 drivers/s390/char/sclp_early.c                 |    8 +
 include/kvm/arm_vgic.h                         |   43 +-
 include/linux/irqchip/arm-gic-v3.h             |   44 +
 include/linux/kvm_host.h                       |   17 +-
 include/trace/events/kvm.h                     |   19 +
 include/uapi/linux/kvm.h                       |    9 +
 virt/kvm/Kconfig                               |   10 +
 virt/kvm/arm/vgic-v2-emul.c                    |  847 ++++++++++++++++++
 virt/kvm/arm/vgic-v2.c                         |    4 +
 virt/kvm/arm/vgic-v3-emul.c                    | 1036 ++++++++++++++++++++++
 virt/kvm/arm/vgic-v3.c                         |   82 +-
 virt/kvm/arm/vgic.c                            | 1127 ++++++------------------
 virt/kvm/arm/vgic.h                            |  123 +++
 virt/kvm/kvm_main.c                            |  144 ++-
 88 files changed, 6026 insertions(+), 1626 deletions(-)
 create mode 100644 arch/arm64/kvm/trace.h
 create mode 100644 virt/kvm/arm/vgic-v2-emul.c
 create mode 100644 virt/kvm/arm/vgic-v3-emul.c
 create mode 100644 virt/kvm/arm/vgic.h
--
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




[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