Prev: [PATCH] ucb1400_core: avoid calling platform_device_put() twice in ucb1400_core_probe error path
Next: DMAENGINE: add runtime slave config to DMA40 v2
From: Avi Kivity on 3 Aug 2010 04:40 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 linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |