[GIT PULL] KVM updates for the Linux 3.1 merge window

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

 



Linus, please pull from

  git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-updates/3.1

to get the KVM updates for the current merge window. Major features include powerpc hypervisor-mode support and an initial version of VMX nesting. Other changes include steal time support (both host and guest), faster MMIO, and additional cpu features exposed to the guest (most importantly SMEP).

[The steal time changes touch the core scheduler; these changes have been acked by Peter]

Alex Williamson (1):
      KVM: IOMMU: Disable device assignment without interrupt remapping

Alexander Graf (3):
      KVM: Add compat ioctl for KVM_SET_SIGNAL_MASK
      KVM: PPC: Resolve real-mode handlers through function exports
      KVM: PPC: Remove prog_flags

Andre Przywara (1):
      KVM: fix XSAVE bit scanning (now properly)

Avi Kivity (8):
      KVM: Document KVM_GET_LAPIC, KVM_SET_LAPIC ioctl
      KVM: VMX: Move VMREAD cleanup to exception handler
      KVM: VMX: always_inline VMREADs
      KVM: Sanitize cpuid
      KVM: x86 emulator: rename decode_cache::eip to _eip
      KVM: x86 emulator: fold decode_cache into x86_emulate_ctxt
      KVM: MMU: Adjust shadow paging to work when SMEP=1 and CR0.WP=0
      KVM: MMU: make kvm_mmu_reset_context() flush the guest TLB

David Gibson (1):
      KVM: PPC: Accelerate H_PUT_TCE by implementing it in real mode

Glauber Costa (8):
KVM: Add constant to represent KVM MSRs enabled bit in guest/host interface
      KVM: KVM Steal time guest/host interface
      KVM: Steal time implementation
      KVM guest: Add a pv_ops stub for steal time
      ia64: add jump labels for paravirt
      KVM guest: Steal time accounting
      sched: adjust scheduler cpu power for stolen time
      KVM guest: KVM Steal time registration

Gleb Natapov (1):
      KVM: introduce kvm_read_guest_cached

Jan Kiszka (6):
      KVM: Clean up error handling during VCPU creation
      KVM: VMX: Silence warning on 32-bit hosts
      KVM: Fixup documentation section numbering
      KVM: Clarify KVM_ASSIGN_PCI_DEVICE documentation
      KVM: Fix off-by-one in overflow check of KVM_ASSIGN_SET_MSIX_NR
      KVM: Fix KVM_ASSIGN_SET_MSIX_ENTRY documentation

Liu Yu (2):
      KVM: PPC: e500: Stop keeping shadow TLB
      KVM: PPC: e500: Add shadow PID support

Marcelo Tosatti (1):
      Revert "KVM: MMU: make kvm_mmu_reset_context() flush the guest TLB"

Nadav Har'El (32):
      KVM: VMX: Keep list of loaded VMCSs, instead of vcpus
      KVM: nVMX: Add "nested" module option to kvm_intel
      KVM: nVMX: Implement VMXON and VMXOFF
      KVM: nVMX: Allow setting the VMXE bit in CR4
      KVM: nVMX: Introduce vmcs12: a VMCS structure for L1
      KVM: nVMX: Implement reading and writing of VMX MSRs
      KVM: nVMX: Decoding memory operands of VMX instructions
      KVM: nVMX: Introduce vmcs02: VMCS used to run L2
      KVM: nVMX: Add VMCS fields to the vmcs12
      KVM: nVMX: Success/failure of VMX instructions.
      KVM: nVMX: Implement VMCLEAR
      KVM: nVMX: Implement VMPTRLD
      KVM: nVMX: Implement VMPTRST
      KVM: nVMX: Implement VMREAD and VMWRITE
      KVM: nVMX: Move host-state field setup to a function
      KVM: nVMX: Move control field setup to functions
      KVM: nVMX: Prepare vmcs02 from vmcs01 and vmcs12
      KVM: nVMX: Implement VMLAUNCH and VMRESUME
      KVM: nVMX: No need for handle_vmx_insn function any more
      KVM: nVMX: Exiting from L2 to L1
      KVM: nVMX: vmcs12 checks on nested entry
      KVM: nVMX: Deciding if L0 or L1 should handle an L2 exit
      KVM: nVMX: Correct handling of interrupt injection
      KVM: nVMX: Correct handling of exception injection
      KVM: nVMX: Correct handling of idt vectoring info
      KVM: nVMX: Handling of CR0 and CR4 modifying instructions
      KVM: nVMX: Further fixes for lazy FPU loading
      KVM: nVMX: Additional TSC-offset handling
      KVM: nVMX: Add VMX to list of supported cpuid features
      KVM: nVMX: Miscellenous small corrections
      KVM: nVMX: Documentation
      KVM: nVMX: Fix bug preventing more than two levels of nesting

Paul Mackerras (15):
      KVM: PPC: Fix machine checks on 32-bit Book3S
KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s
      KVM: PPC: Split out code from book3s.c into book3s_pr.c
      powerpc, KVM: Rework KVM checks in first-level interrupt handlers
KVM: PPC: Deliver program interrupts right away instead of queueing them KVM: PPC: Pass init/destroy vm and prepare/commit memory region ops down
      KVM: PPC: Move guest enter/exit down into subarch-specific code
      powerpc: Set up LPCR for running guest partitions
      KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu
      KVM: PPC: Add support for Book3S processors in hypervisor mode
      KVM: PPC: Handle some PAPR hcalls in the kernel
      KVM: PPC: Allow book3s_hv guests to use SMT processor modes
      KVM: PPC: Allocate RMAs (Real Mode Areas) at boot for use by guests
powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits
      KVM: PPC: book3s_hv: Add support for PPC970-family processors

Sasha Levin (1):
      KVM: Document KVM_IOEVENTFD

Scott Wood (9):
      powerpc/e500: SPE register saving: take arbitrary struct offset
      KVM: PPC: booke: use shadow_msr
      KVM: PPC: e500: Save/restore SPE state
      KVM: PPC: e500: Disable preloading TLB1 in tlb_load().
      KVM: PPC: e500: don't use MAS0 as intermediate storage.
      KVM: PPC: e500: Eliminate shadow_pages[], and use pfns instead.
      KVM: PPC: e500: Support large page mappings of PFNMAP vmas.
      KVM: PPC: e500: enable magic page
      KVM: PPC: e500: Don't search over the entire TLB0.

Stuart Yoder (1):
      KVM: PPC: fix partial application of "exit timing in ticks"

Takuya Yoshikawa (18):
      KVM: x86 emulator: Place insn_fetch helpers together
      KVM: x86 emulator: Stop passing ctxt->ops as arg of decode helpers
      KVM: x86 emulator: Stop passing ctxt->ops as arg of emul functions
      KVM: x86 emulator: Clean up init_emulate_ctxt()
      KVM: x86 emulator: Avoid clearing the whole decode_cache
      KVM: x86 emulator: Use the pointers ctxt and c consistently
      KVM: x86 emulator: Rename emulate_xxx() to em_xxx()
      KVM: x86 emulator: Use opcode::execute for some instructions
      KVM: x86 emulator: Use opcode::execute for TEST(84/85, A8/A9)
      KVM: x86 emulator: Use opcode::execute for XCHG(86/87)
      KVM: x86 emulator: Use opcode::execute for RET(C3)
      KVM: x86 emulator: Use opcode::execute for MOV(8C/8E)
      KVM: x86 emulator: Clean up INT n/INTO/INT 3(CC/CD/CE)
      KVM: x86 emulator: Use opcode::execute for LOOP/JCXZ
      KVM: x86 emulator: Use opcode::execute for CLI/STI(FA/FB)
      KVM: MMU: Clean up the error handling of walk_addr_generic()
      KVM: MMU: Rename the walk label in walk_addr_generic()
      KVM: MMU: Introduce is_last_gpte() to clean up walk_addr_generic()

Xiao Guangrong (25):
      KVM: MMU: optimize pte write path if don't have protected sp
      KVM: use __copy_to_user/__clear_user to write guest page
      KVM: fix uninitialized warning
      KVM: MMU: abstract the operation of rmap
      KVM: MMU: remove the arithmetic of parent pte rmap
      KVM: MMU: cleanup for kvm_mmu_page_unlink_children
      KVM: MMU: cleanup for dropping parent pte
      KVM: MMU: fix walking shadow page table
      KVM: MMU: do not update slot bitmap if spte is nonpresent
      KVM: x86: introduce vcpu_mmio_gva_to_gpa to cleanup the code
      KVM: MMU: cache mmio info on page fault path
      KVM: MMU: optimize to handle dirty bit
      KVM: MMU: cleanup for FNAME(fetch)
      KVM: MMU: rename 'pt_write' to 'emulate'
      KVM: MMU: count used shadow pages on prepareing path
      KVM: MMU: split kvm_mmu_free_page
      KVM: MMU: remove bypass_guest_pf
      KVM: MMU: filter out the mmio pfn from the fault pfn
      KVM: MMU: abstract some functions to handle fault pfn
      KVM: MMU: introduce the rules to modify shadow page table
      KVM: MMU: do not need atomicly to set/clear spte
      KVM: MMU: lockless walking shadow page table
      KVM: MMU: reorganize struct kvm_shadow_walk_iterator
      KVM: MMU: mmio page fault support
      KVM: MMU: trace mmio page fault

Yang, Wei (4):
      KVM: Remove RDWRGSFS bit from CR4_RESERVED_BITS
      KVM: Add RDWRGSFS support when setting CR4
      KVM: Expose RDWRGSFS bit to KVM guests
      KVM: Enable ERMS feature support for KVM

Yang, Wei Y (5):
      KVM: Remove SMEP bit from CR4_RESERVED_BITS
      KVM: Add SMEP support when setting CR4
      KVM: Mask function7 ebx against host capability word9
      KVM: Add instruction fetch checking when walking guest page table
      KVM: Enable DRNG feature support for KVM

yu liu (1):
      powerpc/e500: Save SPEFCSR in flush_spe_to_thread()

 Documentation/kernel-parameters.txt        |    8 +-
 Documentation/virtual/kvm/api.txt          |  172 ++-
 Documentation/virtual/kvm/mmu.txt          |   18 +
 Documentation/virtual/kvm/msr.txt          |   34 +
 Documentation/virtual/kvm/nested-vmx.txt   |  251 +++
 Documentation/virtual/kvm/ppc-pv.txt       |    8 +-
 arch/ia64/include/asm/paravirt.h           |    4 +
 arch/ia64/kernel/paravirt.c                |    2 +
 arch/powerpc/include/asm/cputable.h        |   14 +-
 arch/powerpc/include/asm/exception-64s.h   |  136 +-
 arch/powerpc/include/asm/hvcall.h          |    5 +
 arch/powerpc/include/asm/kvm.h             |   15 +
 arch/powerpc/include/asm/kvm_asm.h         |    4 +
 arch/powerpc/include/asm/kvm_book3s.h      |  196 ++-
 arch/powerpc/include/asm/kvm_book3s_64.h   |    4 +
 arch/powerpc/include/asm/kvm_book3s_asm.h  |   41 +-
 arch/powerpc/include/asm/kvm_booke.h       |    4 +
 arch/powerpc/include/asm/kvm_e500.h        |   30 +-
 arch/powerpc/include/asm/kvm_host.h        |  169 ++-
 arch/powerpc/include/asm/kvm_ppc.h         |   41 +
 arch/powerpc/include/asm/mmu-hash64.h      |   10 +-
 arch/powerpc/include/asm/paca.h            |    3 +
 arch/powerpc/include/asm/ppc_asm.h         |   28 +-
 arch/powerpc/include/asm/reg.h             |   25 +-
 arch/powerpc/include/asm/reg_booke.h       |    1 +
 arch/powerpc/kernel/asm-offsets.c          |  190 ++-
 arch/powerpc/kernel/cpu_setup_power7.S     |   22 +-
 arch/powerpc/kernel/cpu_setup_ppc970.S     |   26 +-
 arch/powerpc/kernel/exceptions-64s.S       |  228 ++-
 arch/powerpc/kernel/head_fsl_booke.S       |    8 +-
 arch/powerpc/kernel/idle_power7.S          |    2 -
 arch/powerpc/kernel/paca.c                 |    2 +-
 arch/powerpc/kernel/process.c              |    4 +
 arch/powerpc/kernel/setup-common.c         |    3 +
 arch/powerpc/kernel/setup_64.c             |    3 +
 arch/powerpc/kernel/smp.c                  |    1 +
 arch/powerpc/kernel/traps.c                |    5 +-
 arch/powerpc/kvm/44x_tlb.c                 |    4 +-
 arch/powerpc/kvm/Kconfig                   |   34 +-
 arch/powerpc/kvm/Makefile                  |   27 +-
 arch/powerpc/kvm/book3s.c                  | 1007 +---------
 arch/powerpc/kvm/book3s_64_mmu.c           |   54 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c        |  180 ++
 arch/powerpc/kvm/book3s_64_vio_hv.c        |   73 +
 arch/powerpc/kvm/book3s_exports.c          |    9 +-
 arch/powerpc/kvm/book3s_hv.c               | 1269 ++++++++++++
 arch/powerpc/kvm/book3s_hv_builtin.c       |  155 ++
 arch/powerpc/kvm/book3s_hv_interrupts.S    |  166 ++
 arch/powerpc/kvm/book3s_hv_rm_mmu.c        |  370 ++++
 arch/powerpc/kvm/book3s_hv_rmhandlers.S    | 1345 +++++++++++++
 arch/powerpc/kvm/book3s_interrupts.S       |   21 +-
 arch/powerpc/kvm/book3s_mmu_hpte.c         |   71 +-
 arch/powerpc/kvm/book3s_pr.c               | 1029 ++++++++++
 arch/powerpc/kvm/book3s_rmhandlers.S       |  102 +-
 arch/powerpc/kvm/book3s_segment.S          |  117 +-
 arch/powerpc/kvm/booke.c                   |  132 ++-
 arch/powerpc/kvm/booke.h                   |   23 +-
 arch/powerpc/kvm/booke_interrupts.S        |   66 +-
 arch/powerpc/kvm/e500.c                    |    7 +-
 arch/powerpc/kvm/e500_emulate.c            |    4 +
 arch/powerpc/kvm/e500_tlb.c                |  800 +++++---
 arch/powerpc/kvm/e500_tlb.h                |   13 +-
 arch/powerpc/kvm/powerpc.c                 |   78 +-
 arch/powerpc/kvm/timing.c                  |    9 -
 arch/powerpc/kvm/trace.h                   |    4 +-
 arch/powerpc/mm/hash_native_64.c           |    6 +-
 arch/powerpc/platforms/iseries/exception.S |    2 +-
 arch/powerpc/platforms/iseries/exception.h |    4 +-
 arch/powerpc/sysdev/xics/icp-native.c      |    9 +
 arch/x86/Kconfig                           |   12 +
 arch/x86/include/asm/kvm_emulate.h         |   52 +-
 arch/x86/include/asm/kvm_host.h            |   46 +-
 arch/x86/include/asm/kvm_para.h            |   20 +
 arch/x86/include/asm/msr-index.h           |   12 +
 arch/x86/include/asm/paravirt.h            |    9 +
 arch/x86/include/asm/paravirt_types.h      |    1 +
 arch/x86/include/asm/processor-flags.h     |    1 +
 arch/x86/include/asm/vmx.h                 |   43 +
 arch/x86/kernel/kvm.c                      |   72 +
 arch/x86/kernel/kvmclock.c                 |    2 +
 arch/x86/kernel/paravirt.c                 |    9 +
 arch/x86/kvm/Kconfig                       |    1 +
 arch/x86/kvm/emulate.c                     | 1749 ++++++++---------
 arch/x86/kvm/mmu.c                         | 1226 +++++++-----
 arch/x86/kvm/mmu.h                         |   25 +
 arch/x86/kvm/mmu_audit.c                   |   12 -
 arch/x86/kvm/mmutrace.h                    |   48 +
 arch/x86/kvm/paging_tmpl.h                 |  258 ++--
 arch/x86/kvm/svm.c                         |    6 +-
 arch/x86/kvm/trace.h                       |   31 +-
arch/x86/kvm/vmx.c | 3002 +++++++++++++++++++++++++---
 arch/x86/kvm/x86.c                         |  374 +++-
 arch/x86/kvm/x86.h                         |   44 +
 include/linux/kvm.h                        |   20 +-
 include/linux/kvm_host.h                   |    8 +
 kernel/compat.c                            |    1 +
 kernel/delayacct.c                         |    2 +
 kernel/sched.c                             |   90 +-
 kernel/sched_features.h                    |    4 +-
 virt/kvm/assigned-dev.c                    |    2 +-
 virt/kvm/iommu.c                           |   18 +
 virt/kvm/kvm_main.c                        |  110 +-
 102 files changed, 12429 insertions(+), 3788 deletions(-)
 create mode 100644 Documentation/virtual/kvm/nested-vmx.txt
 create mode 100644 arch/powerpc/kvm/book3s_64_mmu_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_64_vio_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_builtin.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_interrupts.S
 create mode 100644 arch/powerpc/kvm/book3s_hv_rm_mmu.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_rmhandlers.S
 create mode 100644 arch/powerpc/kvm/book3s_pr.c

--
error compiling committee.c: too many arguments to function

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