[GIT PULL] KVM updates for the 2.6.36 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/2.6.36

to receive the KVM updates for the 2.6.36 cycle. No major features: mostly improved mmu and emulator correctness, some performance improvements, and support for guest XSAVE and AVX.

Alex Williamson (1):
      KVM: remove CAP_SYS_RAWIO requirement from kvm_vm_ioctl_assign_irq

Alexander Graf (5):
      KVM: PPC: Remove obsolete kvmppc_mmu_find_pte
      KVM: PPC: Use kernel hash function
      KVM: PPC: Make BAT only guest segments work
      KVM: PPC: Add generic hpte management functions
      KVM: PPC: Make use of hash based Shadow MMU

Andi Kleen (2):
      KVM: Fix KVM_SET_SIGNAL_MASK with arg == NULL
      KVM: Fix unused but set warnings

Andrea Arcangeli (1):
      KVM: MMU: fix mmu notifier invalidate handler for huge spte

Andreas Schwab (1):
      KVM: PPC: elide struct thread_struct instances from stack

Asias He (1):
KVM: PPC: fix uninitialized variable warning in kvm_ppc_core_deliver_interrupts

Avi Kivity (50):
      KVM: VMX: Simplify vmx_get_nmi_mask()
      KVM: kvm_pdptr_read() may sleep
      KVM: VMX: Avoid writing HOST_CR0 every entry
      KVM: Get rid of KVM_REQ_KICK
      KVM: Document KVM_SET_IDENTITY_MAP ioctl
      KVM: Document KVM_SET_BOOT_CPU_ID
      KVM: MMU: Fix free memory accounting race in mmu_alloc_roots()
      KVM: move vcpu locking to dispatcher for generic vcpu ioctls
      KVM: x86: Lock arch specific vcpu ioctls centrally
      KVM: s390: Centrally lock arch specific vcpu ioctls
      KVM: PPC: Centralize locking of arch specific vcpu ioctls
      KVM: Consolidate arch specific vcpu ioctl locking
      KVM: Update Red Hat copyrights
KVM: MMU: Allow spte.w=1 for gpte.w=0 and cr0.wp=0 only in shadow mode
      KVM: MMU: Document cr0.wp emulation
      KVM: MMU: Document large pages
      KVM: VMX: Fix incorrect rcu deref in rmode_tss_base()
      KVM: Fix mov cr0 #GP at wrong instruction
      KVM: Fix mov cr4 #GP at wrong instruction
      KVM: Fix mov cr3 #GP at wrong instruction
      KVM: Fix xsave and xcr save/restore memory leak
      KVM: Consolidate load/save temporary buffer allocation and freeing
      KVM: Remove memory alias support
      KVM: Remove kernel-allocated memory regions
      KVM: i8259: reduce excessive abstraction for pic_irq_request()
      KVM: i8259: simplify pic_irq_request() calling sequence
      KVM: Add mini-API for vcpu->requests
      KVM: Reduce atomic operations on vcpu->requests
      KVM: Keep slot ID in memory slot structure
      KVM: Prevent internal slots from being COWed
      KVM: Simplify vcpu_enter_guest() mmu reload logic slightly
      KVM: Document KVM specific review items
      KVM: MMU: Introduce drop_spte()
KVM: MMU: Move accessed/dirty bit checks from rmap_remove() to drop_spte()
      KVM: MMU: Atomically check for accessed bit when dropping an spte
      KVM: MMU: Don't drop accessed bit while updating an spte
KVM: MMU: Only indicate a fetch fault in page fault error code if nx is enabled
      KVM: MMU: Keep going on permission error
      KVM: Expose MCE control MSRs to userspace
      KVM: Document MCE banks non-exposure via KVM_GET_MSR_INDEX_LIST
      KVM: MMU: Add link_shadow_page() helper
      KVM: MMU: Use __set_spte to link shadow pages
      KVM: MMU: Add drop_large_spte() helper
      KVM: MMU: Add validate_direct_spte() helper
      KVM: MMU: Add gpte_valid() helper
      KVM: MMU: Simplify spte fetch() function
KVM: MMU: Validate all gptes during fetch, not just those used for new pages
      KVM: MMU: Eliminate redundant temporaries in FNAME(fetch)
      KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
      KVM: VMX: Fix host GDT.LIMIT corruption

Chris Lalancette (4):
      KVM: x86: Introduce a workqueue to deliver PIT timer interrupts
      KVM: x86: Allow any LAPIC to accept PIC interrupts
KVM: x86: In DM_LOWEST, only deliver interrupts to vcpus with enabled LAPIC's
      KVM: Search the LAPIC's for one that will accept a PIC interrupt

Christian Borntraeger (2):
      KVM: s390: Fix build failure due to centralized vcpu locking patches
      KVM: s390: Don't exit SIE on SIGP sense running

Denis Kirjanov (1):
      KVM: PPC: fix build warning in kvm_arch_vcpu_ioctl_run

Dexuan Cui (1):
      KVM: VMX: Enable XSAVE/XRSTOR for guest

Dongxiao Xu (4):
      KVM: VMX: Define new functions to wrapper direct call of asm code
      KVM: VMX: Some minor changes to code structure
      KVM: VMX: VMCLEAR/VMPTRLD usage changes
      KVM: VMX: VMXON/VMXOFF usage changes

Glauber Costa (1):
      KVM: Add Documentation/kvm/msr.txt

Gleb Natapov (32):
      KVM: x86 emulator: introduce read cache
      KVM: x86 emulator: fix Move r/m16 to segment register decoding
      KVM: x86 emulator: cleanup xchg emulation
      KVM: x86 emulator: cleanup nop emulation
      KVM: x86 emulator: handle "far address" source operand
      KVM: x86 emulator: add (set|get)_dr callbacks to x86_emulate_ops
      KVM: x86 emulator: add (set|get)_msr callbacks to x86_emulate_ops
KVM: x86 emulator: add get_cached_segment_base() callback to x86_emulate_ops KVM: x86 emulator: cleanup some direct calls into kvm to use existing callbacks
      KVM: x86 emulator: make set_cr() callback return error if it fails
KVM: x86 emulator: make (get|set)_dr() callback return error if it fails KVM: x86 emulator: fix X86EMUL_RETRY_INSTR and X86EMUL_CMPXCHG_FAILED values
      KVM: fill in run->mmio details in (read|write)_emulated function
KVM: x86 emulator: x86_emulate_insn() return -1 only in case of emulation failure
      KVM: remove export of emulator_write_emulated()
      KVM: do not inject #PF in (read|write)_emulated() callbacks
      KVM: handle emulation failure case first
      KVM: x86 emulator: advance RIP outside x86 emulator code
      KVM: x86 emulator: set RFLAGS outside x86 emulator code
      KVM: x86 emulator: use shadowed register in emulate_sysexit()
      KVM: x86 emulator: handle shadowed registers outside emulator
KVM: x86 emulator: move interruptibility state tracking out of emulator
      KVM: x86 emulator: do not inject exception directly into vcpu
      KVM: inject #UD if instruction emulation fails and exit to userspace
      KVM: SVM: correctly trace irq injection
      KVM: define hwpoison variables static
      KVM: Return EFAULT from kvm ioctl when guest accesses bad area
KVM: Reenter guest after emulation failure if due to access to non-mmio address
      KVM: Convert mask notifiers to use irqchip/pin instead of gsi
      KVM: x86: emulator: inc/dec can have lock prefix
      KVM: x86: never re-execute instruction with enabled tdp
      KVM: x86: Call mask notifiers from pic

Gui Jianfeng (9):
      KVM: MMU: mark page table dirty when a pte is actually modified
      KVM: MMU: Fix debug output error in walk_addr()
KVM: MMU: make kvm_mmu_zap_page() return the number of pages it actually freed
      KVM: update mmu documetation for role.nxe
      KVM: MMU: don't check PT_WRITABLE_MASK directly
      KVM: MMU: Don't calculate quadrant if tdp_enabled
KVM: VMX: Make sure single type invvpid is supported before issuing invvpid instruction
      KVM: VMX: Add all-context INVVPID type support
      KVM: VMX: rename vpid_sync_vcpu_all() to vpid_sync_vcpu_single()

Huang Ying (2):
      KVM: Avoid killing userspace through guest SRAO MCE on unmapped pages
      KVM: Fix a race condition for usage of is_hwpoison_address()

Jan Kiszka (1):
      KVM: x86: Propagate fpu_alloc errors

Jason Wang (1):
      KVM: Fix typos in Documentation/kvm/mmu.txt

Jiri Slaby (1):
      KVM: fix lock imbalance in kvm_create_pit()

Joerg Roedel (4):
      KVM: SVM: Dump vmcb contents on failed vmrun
      KVM: SVM: Allow EFER.LMSLE to be set with nested svm
      KVM: Remove unnecessary divide operations
      KVM: Use u64 for frame data types

Lai Jiangshan (5):
      KVM: MMU: Don't allocate gfns page for direct mmu pages
      KVM: MMU: Calculate correct base gfn for direct non-DIR level
KVM: MMU: calculate correct gfn for small host pages backing large guest pages
      KVM: cleanup "*new.rmap" type
      KVM: x86: use linux/uaccess.h instead of asm/uaccess.h

Marcelo Tosatti (1):
      KVM: pass correct parameter to kvm_mmu_free_some_pages

Mohammed Gamal (5):
KVM: x86 emulator: Add test acc, imm instruction (opcodes 0xA8 - 0xA9)
      KVM: x86 emulator: Add missing decoder flags for sub instruction
      KVM: x86 emulator: Add missing decoder flags for xor instructions
      KVM: VMX: Add constant for invalid guest state exit reason
      KVM: VMX: Properly return error to userspace on vmentry failure

Sheng Yang (10):
      KVM: x86: Clean up duplicate assignment
      KVM: VMX: Only reset MMU when necessary
      x86: Export FPU API for KVM use
      KVM: x86: Use unlazy_fpu() for host FPU
      KVM: x86: Use FPU API
      KVM: VMX: Enforce EPT pagetable level checking
      KVM: x86: XSAVE/XRSTOR live migration support
      KVM: x86: Enable AVX for guest
KVM: VMX: Execute WBINVD to keep data consistency with assigned devices
      KVM: Fix IOMMU memslot reference warning

Takuya Yoshikawa (3):
      KVM: x86: avoid unnecessary bitmap allocation when memslot is clean
KVM: ia64: fix dirty_log_lock spin_lock section not to include get_dirty_log()
      KVM: ia64: cleanup kvm_ia64_sync_dirty_log()

Wei Yongjun (9):
      KVM: x86 emulator: fix pusha instruction emulation
      KVM: x86 emulator: fix group3 instruction decoding
      KVM: x86 emulator: fix 'mov sreg,rm16' instruction decoding
      KVM: x86 emulator: fix the comment of out instruction
      KVM: x86 emulator: fix 'and AL,imm8' instruction decoding
      KVM: x86 emulator: fix 'mov rm,sreg' instruction decoding
      KVM: x86 emulator: fix cli/sti instruction emulation
KVM: x86 emulator: re-implementing 'mov AL,moffs' instruction decoding
      KVM: x86 emulator: fix xchg instruction emulation

Xiao Guangrong (39):
      KVM: MMU: use proper cache object freeing function
      KVM: MMU: remove rmap before clear spte
      KVM: MMU: unalias gfn before sp->gfns[] comparison in sync_page
      KVM: x86: cleanup unused local variable
      KVM: MMU: split kvm_sync_page() function
      KVM: MMU: don't write-protect if have new mapping to unsync page
      KVM: MMU: only update unsync page in invlpg path
      KVM: MMU: allow more page become unsync at gfn mapping time
      KVM: MMU: allow more page become unsync at getting sp time
      KVM: MMU: skip invalid sp when unprotect page
      KVM: MMU: introduce some macros to cleanup hlist traverseing
      KVM: MMU: split the operations of kvm_mmu_zap_page()
      KVM: MMU: don't get free page number in the loop
      KVM: MMU: gather remote tlb flush which occurs during page zapped
      KVM: MMU: traverse sp hlish safely
      KVM: MMU: reduce remote tlb flush in kvm_mmu_pte_write()
      KVM: VMX: fix rcu usage warning in init_rmode()
      KVM: MMU: remove unnecessary remote tlb flush
      KVM: MMU: use wrapper function to flush local tlb
      KVM: MMU: delay local tlb flush
      KVM: MMU: rename 'page' and 'shadow_page' to 'sp'
      KVM: MMU: cleanup for dirty page judgment
      KVM: MMU: avoid double write protected in sync page path
      KVM: MMU: don't mark pte notrap if it's just sync transient
      KVM: MMU: cleanup for __mmu_unsync_walk()
      KVM: MMU: clear unsync_child_bitmap completely
      KVM: MMU: don't walk every parent pages while mark unsync
      KVM: MMU: fix writable sync sp mapping
      KVM: MMU: fix conflict access permissions in direct sp
      KVM: MMU: fix direct sp's access corrupted
      KVM: MMU: cleanup FNAME(fetch)() functions
      KVM: VMX: fix tlb flush with invalid root
      KVM: PIT: stop vpit before freeing irq_routing
      KVM: MMU: add missing reserved bits check in speculative path
      KVM: MMU: fix broken page accessed tracking with ept enabled
      KVM: MMU: fix page dirty tracking lost while sync page
      KVM: MMU: don't atomicly set spte if it's not present
      KVM: MMU: cleanup spte set and accssed/dirty tracking
      KVM: MMU: using __xchg_spte more smarter

Zachary Amsden (2):
      KVM: SVM: Fix EFER.LME being stripped
      KVM: x86: fix -DDEBUG oops

 Documentation/feature-removal-schedule.txt |   21 -
 Documentation/kvm/api.txt                  |  208 ++++-
 Documentation/kvm/mmu.txt                  |   52 ++-
 Documentation/kvm/msr.txt                  |  153 ++++
 Documentation/kvm/review-checklist.txt     |   38 +
 arch/ia64/include/asm/kvm_host.h           |    1 +
 arch/ia64/kvm/kvm-ia64.c                   |   50 +-
 arch/powerpc/include/asm/kvm_book3s.h      |   10 +-
 arch/powerpc/include/asm/kvm_fpu.h         |   27 +-
 arch/powerpc/include/asm/kvm_host.h        |   18 +-
 arch/powerpc/kernel/ppc_ksyms.c            |    4 -
 arch/powerpc/kvm/44x_tlb.c                 |    3 +-
 arch/powerpc/kvm/Makefile                  |    2 +
 arch/powerpc/kvm/book3s.c                  |   79 +-
 arch/powerpc/kvm/book3s_32_mmu.c           |    8 +-
 arch/powerpc/kvm/book3s_32_mmu_host.c      |  134 +---
 arch/powerpc/kvm/book3s_64_mmu_host.c      |  129 +---
 arch/powerpc/kvm/book3s_mmu_hpte.c         |  277 +++++++
 arch/powerpc/kvm/book3s_paired_singles.c   |   94 +--
 arch/powerpc/kvm/booke.c                   |   12 +-
 arch/powerpc/kvm/fpu.S                     |   18 +
 arch/powerpc/kvm/powerpc.c                 |   14 +-
 arch/s390/include/asm/kvm_host.h           |    5 +-
 arch/s390/kvm/intercept.c                  |    2 +-
 arch/s390/kvm/kvm-s390.c                   |   64 +--
 arch/s390/kvm/kvm-s390.h                   |    2 +-
 arch/x86/include/asm/i387.h                |    2 +
 arch/x86/include/asm/kvm.h                 |   22 +
 arch/x86/include/asm/kvm_emulate.h         |   30 +-
 arch/x86/include/asm/kvm_host.h            |   70 +--
 arch/x86/include/asm/msr-index.h           |    2 +
 arch/x86/include/asm/vmx.h                 |    5 +
 arch/x86/include/asm/xsave.h               |    6 +
 arch/x86/kernel/i387.c                     |    3 +-
 arch/x86/kernel/process.c                  |    1 +
 arch/x86/kvm/emulate.c                     |  749 ++++++++++--------
 arch/x86/kvm/i8254.c                       |  146 +++--
 arch/x86/kvm/i8254.h                       |    4 +-
 arch/x86/kvm/i8259.c                       |   48 +-
 arch/x86/kvm/irq.c                         |    2 +-
 arch/x86/kvm/irq.h                         |    4 -
 arch/x86/kvm/kvm_cache_regs.h              |    8 +
 arch/x86/kvm/lapic.c                       |   17 +-
 arch/x86/kvm/mmu.c                         |  807 ++++++++++++--------
 arch/x86/kvm/mmutrace.h                    |    2 +-
 arch/x86/kvm/paging_tmpl.h                 |  252 ++++---
 arch/x86/kvm/svm.c                         |  138 +++-
 arch/x86/kvm/timer.c                       |   16 +-
 arch/x86/kvm/vmx.c                         |  253 +++++--
arch/x86/kvm/x86.c | 1174 +++++++++++++++-------------
 arch/x86/kvm/x86.h                         |    7 -
 include/linux/kvm.h                        |   13 +
 include/linux/kvm_host.h                   |   35 +-
 include/linux/kvm_types.h                  |    4 +-
 include/linux/mm.h                         |    8 +
 mm/memory-failure.c                        |   33 +
 virt/kvm/assigned-dev.c                    |    7 +-
 virt/kvm/coalesced_mmio.c                  |    1 +
 virt/kvm/eventfd.c                         |    1 +
 virt/kvm/ioapic.c                          |    3 +-
 virt/kvm/iommu.c                           |   12 +-
 virt/kvm/irq_comm.c                        |   15 +-
 virt/kvm/kvm_main.c                        |  106 ++-
 63 files changed, 3328 insertions(+), 2103 deletions(-)
 create mode 100644 Documentation/kvm/msr.txt
 create mode 100644 Documentation/kvm/review-checklist.txt
 create mode 100644 arch/powerpc/kvm/book3s_mmu_hpte.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