[GIT PULL] First batch of KVM changes for 4.2

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

 



Linus,

The following changes since commit c447e76b4cabb49ddae8e49c5758f031f35d55fb:

  kvm/fpu: Enable eager restore kvm FPU for MPX (2015-05-20 12:30:26 +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 f2ae45edbca7ba5324eef01719ede0151dc5cead:

  KVM: s390: clear floating interrupt bitmap and parameters (2015-06-23 17:02:39 +0200)

----------------------------------------------------------------
The bulk of the changes here is for x86.  And for once it's not
for silicon that no one owns: these are really new features for
everyone.

* ARM: several features are in progress but missed the 4.2 deadline.
So here is just a smattering of bug fixes, plus enabling the VFIO
integration.

* s390: Some fixes/refactorings/optimizations, plus support for
2GB pages.

* x86: 1) host and guest support for marking kvmclock as a stable
scheduler clock. 2) support for write combining. 3) support for
system management mode, needed for secure boot in guests. 4) a bunch
of cleanups required for 2+3.  5) support for virtualized performance
counters on AMD; 6) legacy PCI device assignment is deprecated and
defaults to "n" in Kconfig; VFIO replaces it.  On top of this there are
also bug fixes and eager FPU context loading for FPU-heavy guests.

* Common code: Support for multiple address spaces; for now it is
used only for x86 SMM but the s390 folks also have plans.

There are some x86 conflicts, one with the rc8 pull request and
the rest with Ingo's FPU rework.

----------------------------------------------------------------
Alex Bennée (1):
      KVM: arm64: fix misleading comments in save/restore

Andre Przywara (1):
      KVM: arm64: add active register handling to GICv3 emulation as well

Andrew Morton (1):
      arch/x86/kvm/mmu.c: work around gcc-4.4.4 bug

Bandan Das (1):
      KVM: nSVM: Check for NRIPS support before updating control field

Christian Borntraeger (5):
      KVM: provide irq_unsafe kvm_guest_{enter|exit}
      KVM: arm/mips/x86/power use __kvm_guest_{enter|exit}
      KVM: s390: optimize round trip time in request handling
      KVM: s390: make exit_sie_sync more robust
      KVM: s390: provide functions for blocking all CPUs

Christoffer Dall (1):
      arm/arm64: KVM: Properly account for guest CPU time

David Hildenbrand (5):
      KVM: s390: fix external call injection without sigp interpretation
      KVM: s390: factor out and optimize floating irq VCPU kick
      KVM: s390: drop handling of interception code 12
      KVM: s390: call exit_sie() directly on vcpu block/request
      KVM: s390: introduce KMSG_COMPONENT for kvm-s390

Firo Yang (1):
      ARM: KVM: Remove pointless void pointer cast

Guenther Hutzl (2):
      KVM: s390: make EDAT1 depend on host support
      KVM: s390: Enable guest EDAT2 support

Heiko Carstens (1):
      KVM: remove pointless cpu hotplug messages

James Sullivan (2):
      kvm: x86: Extended struct kvm_lapic_irq with msi_redir_hint for MSI delivery
      kvm: x86: Deliver MSI IRQ to only lowest prio cpu if msi_redir_hint is true

Jan Kiszka (2):
      KVM: nVMX: Fix host crash when loading MSRs with userspace irqchip
      KVM: x86: Allow ARAT CPU feature

Jens Freimann (2):
      KVM: s390: optimize interrupt handling round trip time
      KVM: s390: clear floating interrupt bitmap and parameters

Joerg Roedel (1):
      kvm: irqchip: Break up high order allocations of kvm_irq_routing_table

Julia Lawall (1):
      KVM: x86: drop unneeded null test

Kevin Mulvey (2):
      KVM: fix checkpatch.pl errors in kvm/async_pf.h
      KVM: fix checkpatch.pl errors in kvm/coalesced_mmio.h

Kim Phillips (1):
      KVM: arm/arm64: Enable the KVM-VFIO device

Lorenzo Pieralisi (1):
      ARM: kvm: psci: fix handling of unimplemented functions

Luiz Capitulino (2):
      kvmclock: set scheduler clock stable
      x86: kvmclock: set scheduler clock stable

Marc Zyngier (5):
      arm: KVM: force execution of HCPTR access on VM exit
      KVM: arm: vgic: Drop useless Group0 warning
      arm/arm64: KVM: vgic: Do not save GICH_HCR / ICH_HCR_EL2
      KVM: arm/arm64: vgic: Avoid injecting reserved IRQ numbers
      KVM: arm/arm64: vgic: Remove useless arm-gic.h #include

Marcelo Tosatti (4):
      x86: kvmclock: drop rdtsc_barrier()
      KVM: x86: add module parameter to disable periodic kvmclock sync
      x86: kvmclock: add flag to indicate pvclock counts from zero
      KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR

Nadav Amit (6):
      KVM: x86: Support for disabling quirks
      KVM: x86: INIT and reset sequences are different
      KVM: x86: Call-far should not be emulated as stack op
      KVM: x86: Fix DR7 mask on task-switch while debugging
      KVM: x86: Fix update RCX/RDI/RSI on REP-string
      KVM: x86: Fix zero iterations REP-string

Nicholas Krause (1):
      kvm: x86: Make functions that have no external callers static

Paolo Bonzini (38):
      KVM: booke: use __kvm_guest_exit
      KVM: x86: tweak types of fields in kvm_lapic_irq
      KVM: x86: dump VMCS on invalid entry
      KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
      Merge tag 'kvm-s390-next-20150508' of git://git.kernel.org/.../kvms390/linux into HEAD
      Revert "kvmclock: set scheduler clock stable"
      KVM: mips: use id_to_memslot correctly
      KVM: export __gfn_to_pfn_memslot, drop gfn_to_pfn_async
      Merge branch 'kvm-master' into kvm-next
      KVM: introduce kvm_alloc/free_memslots
      KVM: use kvm_memslots whenever possible
      KVM: const-ify uses of struct kvm_userspace_memory_region
      KVM: add memslots argument to kvm_arch_memslots_updated
      KVM: add "new" argument to kvm_arch_commit_memory_region
      KVM: pass kvm_memory_slot to gfn_to_page_many_atomic
      KVM: remove __gfn_to_pfn
      KVM: x86: pass struct kvm_mmu_page to account/unaccount_shadowed
      KVM: remove unused argument from mark_page_dirty_in_slot
      Merge tag 'kvm-s390-next-20150602' of git://git.kernel.org/.../kvms390/linux into kvm-next
      kvm: x86: default legacy PCI device assignment support to "n"
      kvm: x86: fix kvm_apic_has_events to check for NULL pointer
      KVM: x86: clear hidden CPU state at reset time
      KVM: x86: introduce num_emulated_msrs
      KVM: x86: pass host_initiated to functions that read MSRs
      KVM: x86: pass the whole hflags field to emulator and back
      KVM: x86: API changes for SMM support
      KVM: x86: stubs for SMM support
      KVM: x86: latch INITs while in system management mode
      KVM: x86: save/load state on SMM switch
      KVM: add vcpu-specific functions to read/write/translate GFNs
      KVM: implement multiple address spaces
      KVM: x86: pass struct kvm_mmu_page to gfn_to_rmap
      KVM: x86: use vcpu-specific functions to read/write/translate GFNs
      KVM: x86: work on all available address spaces
      KVM: x86: add SMM to the MMU role, support SMRAM address space
      KVM: x86: advertise KVM_CAP_X86_SMM
      KVM: x86: mark legacy PCI device assignment as deprecated
      Merge tag 'kvm-arm-for-4.2' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD

Radim Krčmář (4):
      KVM: x86: fix initial PAT value
      KVM: reuse memslot in kvm_write_guest_page
      KVM: x86: use correct APIC ID on x2APIC transition
      KVM: x86: preserve x2APIC LDR on INIT

Rik van Riel (1):
      kvm,x86: load guest FPU context more eagerly

Tiejun Chen (1):
      kvm: remove one useless check extension

Wei Huang (9):
      KVM: x86/vPMU: rename a few PMU functions
      KVM: x86/vPMU: introduce pmu.h header
      KVM: x86/vPMU: use the new macros to go between PMC, PMU and VCPU
      KVM: x86/vPMU: whitespace and stylistic adjustments in PMU code
      KVM: x86/vPMU: reorder PMU functions
      KVM: x86/vPMU: introduce kvm_pmu_msr_idx_to_pmc
      KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch
      KVM: x86/vPMU: Implement AMD vPMU code for KVM
      KVM: x86/vPMU: Enable PMU handling for AMD PERFCTRn and EVNTSELn MSRs

Xiao Guangrong (26):
      KVM: MMU: fix smap permission check
      KVM: MMU: fix SMAP virtualization
      KVM: MMU: introduce for_each_rmap_spte()
      KVM: MMU: introduce PT_MAX_HUGEPAGE_LEVEL
      KVM: MMU: introduce for_each_slot_rmap_range
      KVM: MMU: introduce slot_handle_level_range() and its helpers
      KVM: MMU: use slot_handle_level and its helper to clean up the code
      KVM: MMU: introduce kvm_zap_rmapp
      KVM: MMU: fix decoding cache type from MTRR
      KVM: MMU: fix MTRR update
      KVM: x86: do not reset mmu if CR0.CD and CR0.NW are changed
      KVM: x86: fix CR0.CD virtualization
      KVM: x86: move MTRR related code to a separate file
      KVM: MTRR: handle MSR_MTRRcap in kvm_mtrr_get_msr
      KVM: MTRR: remove mtrr_state.have_fixed
      KVM: MTRR: exactly define the size of variable MTRRs
      KVM: MTRR: clean up mtrr default type
      KVM: MTRR: do not split 64 bits MSR content
      KVM: MTRR: improve kvm_mtrr_get_guest_memory_type
      KVM: MTRR: introduce fixed_mtrr_segment table
      KVM: MTRR: introduce var_mtrr_range
      KVM: MTRR: sort variable MTRRs
      KVM: MTRR: introduce fixed_mtrr_addr_* functions
      KVM: MTRR: introduce mtrr_for_each_mem_type
      KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type
      KVM: MTRR: do not map huge page for non-consistent range

 Documentation/virtual/kvm/api.txt        |  69 ++-
 Documentation/virtual/kvm/mmu.txt        |   6 +
 arch/arm/kvm/Kconfig                     |   1 +
 arch/arm/kvm/Makefile                    |   2 +-
 arch/arm/kvm/arm.c                       |  24 +-
 arch/arm/kvm/interrupts.S                |  10 +-
 arch/arm/kvm/interrupts_head.S           |  23 +-
 arch/arm/kvm/mmu.c                       |  14 +-
 arch/arm/kvm/psci.c                      |  16 +-
 arch/arm64/kvm/Kconfig                   |   1 +
 arch/arm64/kvm/Makefile                  |   2 +-
 arch/arm64/kvm/hyp.S                     |   8 +-
 arch/arm64/kvm/vgic-v2-switch.S          |   3 -
 arch/arm64/kvm/vgic-v3-switch.S          |   2 -
 arch/mips/include/asm/kvm_host.h         |   2 +-
 arch/mips/kvm/mips.c                     |  13 +-
 arch/powerpc/include/asm/kvm_book3s_64.h |   2 +-
 arch/powerpc/include/asm/kvm_host.h      |   2 +-
 arch/powerpc/include/asm/kvm_ppc.h       |  14 +-
 arch/powerpc/kvm/book3s.c                |   9 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c      |   2 +-
 arch/powerpc/kvm/book3s_hv.c             |  15 +-
 arch/powerpc/kvm/book3s_pr.c             |  11 +-
 arch/powerpc/kvm/booke.c                 |  13 +-
 arch/powerpc/kvm/powerpc.c               |   9 +-
 arch/s390/include/asm/kvm_host.h         |   6 +-
 arch/s390/kernel/entry.S                 |   2 +-
 arch/s390/kvm/intercept.c                |  16 -
 arch/s390/kvm/interrupt.c                |  90 ++--
 arch/s390/kvm/kvm-s390.c                 |  81 ++-
 arch/s390/kvm/kvm-s390.h                 |  25 +-
 arch/s390/kvm/priv.c                     |   8 +-
 arch/x86/include/asm/kvm_emulate.h       |   9 +-
 arch/x86/include/asm/kvm_host.h          |  94 ++--
 arch/x86/include/asm/pvclock-abi.h       |   1 +
 arch/x86/include/asm/pvclock.h           |   1 -
 arch/x86/include/uapi/asm/kvm.h          |  14 +-
 arch/x86/kernel/kvm.c                    |   4 +-
 arch/x86/kernel/kvmclock.c               |  14 +-
 arch/x86/kvm/Kconfig                     |   9 +-
 arch/x86/kvm/Makefile                    |   6 +-
 arch/x86/kvm/cpuid.c                     |  12 +-
 arch/x86/kvm/cpuid.h                     |   8 +
 arch/x86/kvm/emulate.c                   | 303 ++++++++++-
 arch/x86/kvm/ioapic.c                    |   9 +-
 arch/x86/kvm/irq_comm.c                  |  14 +-
 arch/x86/kvm/kvm_cache_regs.h            |   5 +
 arch/x86/kvm/lapic.c                     |  59 +-
 arch/x86/kvm/lapic.h                     |  15 +-
 arch/x86/kvm/mmu.c                       | 692 ++++++++++++------------
 arch/x86/kvm/mmu.h                       |   2 +
 arch/x86/kvm/mmu_audit.c                 |  20 +-
 arch/x86/kvm/mtrr.c                      | 699 ++++++++++++++++++++++++
 arch/x86/kvm/paging_tmpl.h               |  18 +-
 arch/x86/kvm/pmu.c                       | 553 +++++--------------
 arch/x86/kvm/pmu.h                       | 118 ++++
 arch/x86/kvm/pmu_amd.c                   | 207 +++++++
 arch/x86/kvm/pmu_intel.c                 | 358 ++++++++++++
 arch/x86/kvm/svm.c                       | 116 ++--
 arch/x86/kvm/trace.h                     |  22 +
 arch/x86/kvm/vmx.c                       | 363 +++++++++----
 arch/x86/kvm/x86.c                       | 898 ++++++++++++++++++++-----------
 arch/x86/kvm/x86.h                       |   8 +
 include/linux/kvm_host.h                 |  96 +++-
 include/linux/kvm_types.h                |   1 +
 include/uapi/linux/kvm.h                 |   9 +-
 virt/kvm/arm/vgic-v3-emul.c              |  56 +-
 virt/kvm/arm/vgic.c                      |   7 +-
 virt/kvm/async_pf.h                      |   4 +-
 virt/kvm/coalesced_mmio.h                |   4 +-
 virt/kvm/irqchip.c                       |  41 +-
 virt/kvm/kvm_main.c                      | 432 ++++++++++-----
 72 files changed, 4089 insertions(+), 1713 deletions(-)
 create mode 100644 arch/x86/kvm/mtrr.c
 create mode 100644 arch/x86/kvm/pmu.h
 create mode 100644 arch/x86/kvm/pmu_amd.c
 create mode 100644 arch/x86/kvm/pmu_intel.c
--
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