Pull request (kvm update)

Soren Hansen soren at ubuntu.com
Mon Jan 28 15:49:24 UTC 2008


The following changes since commit ed2965f1d7882b598e314ef00b070696812b1a36:
  Tim Gardner (1):
        UBUNTU: Add virtio config options to lpiacompat.

are available in the git repository at:

  git://kernel.ubuntu.com/soren/ubuntu-hardy.git master

This syncs our kvm modules with the 60 release of kvm. All changes are
contained to kvm, except for a one-line patch to kernel/fork.c to export
mmdrop.

Adrian Bunk (1):
      KVM: fix an if() condition

Ahmed S. Darwish (1):
      KVM: Use ARRAY_SIZE macro instead of manual calculation.

Amit Shah (6):
      KVM: Set the ET flag in CR0 after initializing FX
      KVM: x86 emulator: Use emulator_write_emulated and not emulator_write_std
      KVM: Make unloading of FPU state when putting vcpu arch-independent
      KVM: SVM: Disable Lazy FPU optimization
      KVM: SVM: Fix FPU leak and re-enable lazy FPU switching
      KVM: Make unloading of FPU state when putting vcpu arch-independent

Anthony Liguori (16):
      KVM: Lazy FPU support for SVM
      KVM: VMX: Properly shadow the CR0 register in the vcpu struct
      KVM: VMX: Add lazy FPU support for VT
      KVM: SVM: Allow direct guest access to PC debug port
      KVM: x86 emulator: Add vmmcall/vmcall to x86_emulate (v3)
      KVM: Refactor hypercall infrastructure (v3)
      KVM: MMU: Clean up MMU functions to take struct kvm when appropriate
      KVM: MMU: More struct kvm_vcpu -> struct kvm cleanups
      KVM: Allocate userspace memory for older userspace
      KVM: Fix gfn_to_page() acquiring mmap_sem twice
      KVM: x86 emulator: Add vmmcall/vmcall to x86_emulate (v3)
      KVM: Refactor hypercall infrastructure (v3)
      KVM: MMU: Clean up MMU functions to take struct kvm when appropriate
      KVM: MMU: More struct kvm_vcpu -> struct kvm cleanups
      KVM: Allocate userspace memory for older userspace
      KVM: Fix gfn_to_page() acquiring mmap_sem twice

Aurelien Jarno (3):
      KVM: disable writeback for 0x0f 0x01 instructions.
      KVM: Remove dead code in the cmpxchg instruction emulation
      KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3

Avi Kivity (458):
      KVM: mmu: add missing dirty page tracking cases
      KVM: Cosmetics
      KVM: Add hypercall host support for svm
      KVM: Wire up hypercall handlers to a central arch-independent location
      KVM: svm: init cr0 with the wp bit set
      KVM: More 0 -> NULL conversions
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Add internal filesystem for generating inodes
      KVM: Create an inode per virtual machine
      KVM: Rename some kvm_dev_ioctl_*() functions to kvm_vm_ioctl_*()
      KVM: Move kvm_vm_ioctl_create_vcpu() around
      KVM: Per-vcpu inodes
      KVM: Bump API version
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Fix bogus failure in kvm.ko module initialization
      KVM: Move kvmfs magic number to <linux/magic.h>
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Unset kvm_arch_ops if arch module loading failed
      KVM: Use own minor number
      KVM: Fix guest sysenter on vmx
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Export <linux/kvm.h>
      KVM: Fix bogus sign extension in mmu mapping audit
      KVM: MMU: Fix guest writes to nonpae pde
      KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram
      Merge branch 'origin'
      KVM: Remove extraneous guest entry on mmio read
      KVM: Prevent system selectors leaking into guest on real->protected mode transition on vmx
      Merge branch 'origin'
      KVM: Use a shared page for kernel/user communication when runing a vcpu
      KVM: Do not communicate to userspace through cpu registers during PIO
      KVM: Initialize PIO I/O count
      KVM: Handle cpuid in the kernel instead of punting to userspace
      KVM: Remove the 'emulated' field from the userspace interface
      KVM: Remove minor wart from KVM_CREATE_VCPU ioctl
      KVM: Renumber ioctls
      KVM: Add method to check for backwards-compatible API extensions
      KVM: Allow userspace to process hypercalls which have no kernel handler
      KVM: Fold kvm_run::exit_type into kvm_run::exit_reason
      KVM: Add a special exit reason when exiting due to an interrupt
      KVM: Initialize the apic_base msr on svm too
      KVM: Add guest mode signal mask
      KVM: Allow kernel to select size of mmap() buffer
      KVM: Future-proof argument-less ioctls
      KVM: Avoid guest virtual addresses in string pio userspace interface
      KVM: MMU: Remove unnecessary check for pdptr access
      KVM: MMU: Remove global pte tracking
      KVM: Workaround vmx inability to virtualize the reset state
      KVM: Remove set_cr0_no_modeswitch() arch op
      KVM: Modify guest segments after potentially switching modes
      KVM: Hack real-mode segments on vmx from KVM_SET_SREGS
      KVM: Don't allow the guest to turn off the cpu cache
      KVM: Remove unused and write-only variables
      Revert "KVM: Remove extraneous guest entry on mmio read"
      KVM: MMU: Fix hugepage pdes mapping same physical address with different access
      KVM: SVM: Ensure timestamp counter monotonicity
      Merge branch 'origin'
      KVM: Use list_move()
      Revert "added KVM_GET_MEM_MAP ioctl to get the memory bitmap for a memory slot"
      KVM: Remove debug message
      Merge branch 'origin'
      KVM: x86 emulator: fix bit string operations operand size
      KVM: Simply gfn_to_page()
      KVM: Add physical memory aliasing feature
      KVM: Add fpu get/set operations
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Use kernel-standard types
      KVM: Fix memory leak on pio completion
      KVM: Handle partial pae pdptr
      KVM: Fix string pio when count == 0
      KVM: Use slab caches to allocate mmu data structures
      KVM: Retry sleeping allocation if atomic allocation fails
      KVM: Fix pio completion
      KVM: SVM: Report hardware exit reason to userspace instead of dmesg
      KVM: Handle guest page faults when emulating mmio
      KVM: VMX: Reduce unnecessary saving of host msrs
      KVM: Fix off-by-one when writing to a nonpae guest pde
      KVM: VMX: Don't switch 64-bit msrs for 32-bit guests
      KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c
      KVM: VMX: Only save/restore MSR_K6_STAR if necessary
      Merge branch 'origin'
      KVM: Per-vcpu statistics
      KVM: Silence compile warning on i386
      Merge branch 'origin'
      KVM: Allow passing 64-bit values to the emulated read/write API
      KVM: Fix msr-avoidance regression on Core processors
      KVM: Don't complain about cpu erratum AA15
      KVM: Document MSR_K6_STAR's special place in the msr index array
      KVM: Initialize cr0 to indicate an fpu is present
      KVM: We want asserts on debug builds, not release
      KVM: Avoid unused function warning due to assertion removal
      KVM: Move need_resched() check to common code
      KVM: Remove trailing whitespace
      KVM: Remove extraneous guest entry on mmio read
      KVM: Don't require explicit indication of completion of mmio or pio
      KVM: Remove unused 'instruction_length'
      KVM: Fix RMW mmio handling
      KVM: Assume that writes smaller than 4 bytes are to non-pagetable pages
      KVM: Avoid saving and restoring some host CPU state on lightweight vmexit
      KVM: Unindent some code
      KVM: Reduce misfirings of the fork detector
      KVM: Be more careful restoring fs on lightweight vmexit
      KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write()
      KVM: MMU: Respect nonpae pagetable quadrant when zapping ptes
      KVM: Update shadow pte on write to guest pte
      KVM: Increase mmu shadow cache to 1024 pages
      KVM: Fix potential guest state leak into host
      KVM: Prevent guest fpu state from leaking into the host
      KVM: Move some more msr mangling into vmx_save_host_state()
      KVM: Rationalize exception bitmap usage
      KVM: Consolidate guest fpu activation and deactivation
      KVM: Ensure host cr0.ts is saved
      KVM: Set cr0.mp for guests
      Merge branch 'origin'
      KVM: MMU: Simplify kvm_mmu_free_page() a tiny bit
      KVM: MMU: Store shadow page tables as kernel virtual addresses, not physical
      KVM: VMX: Only reload guest msrs if they are already loaded
      KVM: Avoid corrupting tr in real mode
      KVM: Fix vmx I/O bitmap initialization on highmem systems
      Merge branch 'origin'
      KVM: Remove merge artifact
      KVM: VMX: Use local labels in inline assembly
      KVM: VMX: Remove warnings on i386
      KVM: x86 emulator: implement wbinvd
      KVM: MMU: Use slab caches for shadow pages and their headers
      KVM: MMU: Simplify fetch() a little bit
      KVM: MMU: Move set_pte_common() to pte width dependent code
      KVM: MMU: Pass the guest pde to set_pte_common
      KVM: MMU: Fold fix_read_pf() into set_pte_common()
      KVM: MMU: Fold fix_write_pf() into set_pte_common()
      KVM: Move shadow pte modifications from set_pte/set_pde to set_pde_common()
      KVM: Make shadow pte updates atomic
      KVM: MMU: Make setting shadow ptes atomic on i386
      KVM: MMU: Remove cr0.wp tricks
      KVM: MMU: Simpify accessed/dirty/present/nx bit handling
      KVM: MMU: Don't cache guest access bits in the shadow page table
      KVM: MMU: Remove unused large page marker
      KVM: VMX: Fix asm constraint
      KVM: Lazy guest cr3 switching
      KVM: Fix vcpu freeing for guest smp
      KVM: Fix adding an smp virtual machine to the vm list
      KVM: Enable guest smp
      KVM: Move duplicate halt handling code into kvm_main.c
      KVM: Emulate hlt on real mode for Intel
      Merge git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Keep an upper bound of initialized vcpus
      KVM: Flush remote tlbs when reducing shadow pte permissions
      KVM: Require a cpu which can set 64-bit values atomically
      KVM: Initialize the BSP bit in the APIC_BASE msr correctly
      KVM: VMX: Ensure vcpu time stamp counter is monotonous
      Merge branch 'origin'
      KVM: Bring local tree in line with origin
      KVM: VMX: Reinitialize the real-mode tss when entering real mode
      KVM: VMX: Remove unnecessary code in vmx_tlb_flush()
      KVM: Remove kvmfs in favor of the anonymous inodes source
      KVM: Clean up #includes
      KVM: Fix svm availability check miscompile on i386
      HOTPLUG: Add CPU_DYING notifier
      HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING
      HOTPLUG: Adapt thermal throttle to CPU_DYING
      SMP: Implement on_cpu()
      KVM: Keep track of which cpus have virtualization enabled
      KVM: Tune hotplug/suspend IPIs
      KVM: Use CPU_DYING for disabling virtualization
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: MMU: Store nx bit for large page shadows
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM:: Future-proof the exit information union ABI
      KVM: Fix memory slot management functions for guest smp
      KVM: x86 emulator: implement rdmsr and wrmsr
      KVM: Merge remote branch 'origin/master'
      Merge remote branch 'origin/master'
      KVM: MMU: Fix oopses with SLUB
      KVM: x86 emulator: fix cmov for writeback changes
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: MMU: Fix cleaning up the shadow page allocation cache
      KVM: Require CONFIG_ANON_INODES
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: x86 emulator: fix faulty check for two-byte opcode
      KVM: Correctly handle writes crossing a page boundary
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Revert "KVM: Avoid useless memory write when possible"
      KVM: Fix removal of nx capability from guest cpuid
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Use the scheduler preemption notifiers to make kvm preemptible
      KVM: x86 emulator: disable writeback for debug register instructions
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Close minor race in signal handling
      KVM: Avoid calling smp_call_function_single() with interrupts disabled
      KVM: MMU: Fix rare oops on guest context switch
      KVM: X86 emulator: fix 'push reg' writeback
      KVM: MMU: Don't do GFP_NOWAIT allocations
      KVM: Remove smp_processor_id() in kvm_vcpu_kick()
      KVM: VMX: Move vm entry failure handling to the exit handler
      KVM: Move main vcpu loop into subarch independent code
      KVM: Improve emulation failure reporting
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Skip pio instruction when it is emulated, not executed
      KVM: Fix kvm_vcpu_ioctl_get_sregs() warning on i386
      KVM: Remove errant printk() in kvm_vcpu_ioctl_get_sregs()
      KVM: Fix virtualization menu help text
      KVM: Fix ioapic level-triggered interrupt redelivery
      KVM: Fix #UD exception delivery
      KVM: VMX: Further reduce efer reloads
      KVM: VMX: Fix build on i386 due to EFER_LMA not defined
      KVM: Fix ioapic.c compilation failure due to missing include
      KVM: Avoid redelivery of edge-triggered irq if it is already in service
      KVM: Implement ioapic irq polarity bit
      KVM: Fix host oops due to guest changing efer
      KVM: Fix ioapic edge-triggered interrupts
      KVM: Allow not-present guest page faults to bypass kvm
      KVM: MMU: Make flooding detection work when guest page faults are bypassed
      i386: Expose IOAPIC register definitions even if CONFIG_X86_IO_APIC is not set
      KVM: VMX: Don't clear the vmcs if the vcpu is not loaded on any processor
      KVM: VMX: Simplify vcpu_clear()
      KVM: Check I/O APIC indirect index before writing
      KVM: VMX: Handle NMIs before enabling interrupts and preemption
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Replace enum by #define
      KVM: Move guest pte dirty bit management to the guest pagetable walker
      KVM: MMU: Fix nx access bit for huge pages
      KVM: MMU: Disable write access on clean large pages
      KVM: MMU: Instatiate real-mode shadows as user writable shadows
      KVM: MMU: Move dirty bit updates to a separate function
      KVM: MMU: When updating the dirty bit, inform the mmu about it
      KVM: Restore missing #include <linux/vmalloc.h>
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Move apic timer interrupt backlog processing to common code
      KVM: Move interrupt injection out of interrupt disabled section
      KVM: Rename KVM_TLB_FLUSH to KVM_REQ_TLB_FLUSH
      KVM: VMX: Force vm86 mode if setting flags during real mode
      Revert "KVM: MMU: Call update_dirty_bit() without disabling preemption"
      KVM: MMU: Simplify page table walker
      KVM: Actually move the interrupt injection code out of the critical section
      KVM: x86 emulator: use a defined flag definition
      KVM: VMX: Initialize vcpu with preemption enabled
      KVM: MMU: Fix dirty bit pte gpa calculation
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Revert "KVM: VMX: Initialize vcpu with preemption enabled"
      KVM: Move vmx_vcpu_reset() out of vmx_vcpu_setup()
      KVM: Add a might_sleep() annotation to gfn_to_page()
      KVM: VMX: vmx_vcpu_setup(): remove unused variable.
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of master.kernel.org:/.../torvalds/linux-2.6
      Merge home:/home/avi/kvm/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: x86 emulator: fix 'push imm8' emulation
      KVM: x86 emulator: invd instruction
      KVM: SVM: Intercept the 'invd' and 'wbinvd' instructions
      KVM: x86 emulator: don't depend on cr2 for mov abs emulation
      KVM: Move page fault processing to common code
      KVM: MMU: Topup the mmu memory preallocation caches before emulating an insn
      KVM: x86 emulator: Extract the common code of SrcReg and DstReg
      KVM: x86 emulator: centralize decoding of one-byte register access insns
      KVM: Simplify decode_register_operand() calling convention
      KVM: x86 emulator: Hoist modrm and abs decoding into separate functions
      KVM: x86 emulator: Move one-byte insns with reg operand into one-byte section
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: SVM: Fix SMP with kernel apic
      KVM: SVM: Defer nmi processing until switch to host state is complete
      KVM: VMX: Avoid reloading host efer on cpus that don't have it
      KVM: VMX: Use vmx to inject real interrupts
      KVM: Go back to atomically injecting interrupts
      KVM: Simplify CPU_TASKS_FROZEN cpu notifier handling
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: VMX: Consolidate register usage in vmx_vcpu_run()
      KVM: Replace 'light_exits' stat with 'host_state_reload'
      KVM: Add fpu_reload counter
      KVM: Add instruction emulation statistics
      KVM: Extend stats support for VM stats
      KVM: MMU: Add some mmu statistics
      KVM: Add missing #include <asm/pgtable.h>
      KVM: MMU: Remove unused variable
      KVM: Export include/asm-x86/kvm.h
      KVM: x86 emulator: retire ->write_std()
      KVM: x86 emulator: prefetch up to 15 bytes of the instruction executed
      KVM: Split vcpu creation to avoid vcpu_load() before preemption setup
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: MMU: Implement guest page fault bypass for nonpae
      KVM: Add statistic for remote tlb flushes
      KVM: MMU: Avoid unnecessary remote tlb flushes when guest updates a pte
      KVM: Add parentheses to silence gcc
      KVM: Don't bother the mmu if cr3 load doesn't change cr3
      KVM: MMU: Introduce and use gpte_to_gfn()
      KVM: MMU: Move pse36 handling to the guest walker
      KVM: MMU: Remove extra gaddr parameter from set_pte_common()
      KVM: MMU: Remove set_pde()
      KVM: MMU: Merge set_pte() and set_pte_common()
      KVM: MMU: Adjust page_header_update_slot() to accept a gfn instead of a gpa
      KVM: MMU: Introduce gfn_to_gpa()
      KVM: MMU: Simplify nonpaging_map()
      KVM: MMU: Remove gva_to_hpa()
      KVM: Remove gpa_to_hpa()
      KVM: MMU: Rename variable of type 'struct kvm_mmu_page *'
      KVM: MMU: Rename 'release_page'
      KVM: Disallow fork() and similar games when using a VM
      KVM: Replace private 'struct segment descriptor' by x86's desc_struct
      KVM: Remove segment_descriptor, part 2
      KVM: Fix compile error on i386
      KVM: VMX: Read & store IDT_VECTORING_INFO_FIELD
      KVM: Fix faults during injection of real-mode interrupts
      KVM: x86 emulator: Fix instruction fetch cache hit check
      KVM: x86 emulator: address size and operand size overrides are sticky
      KVM: Revert segment_descriptor.h removal
      KVM: Remove misleading check for mmio during event injection
      KVM: x86 emulator: rename REP_REPE_PREFIX
      KVM: Fix cpuid2 killing 32-bit guests on non-NX machines
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      Merge branch 'for-linus'
      KVM: x86 emulator: Move rep processing before instruction execution
      KVM: x86 emulator: unify two switches
      KVM: x86 emulator: unify four switch statements into two
      KVM: Don't bypass the mmu if in pae and pdptrs changed
      KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Generalize exception injection mechanism
      KVM: Replace page fault injection by the generalized exception queue
      KVM: Replace #GP injection by the generalized exception queue
      KVM: Use generalized exception queue for injecting #UD
      KVM: x86 emulator: fix eflags preparation for emulation
      KVM: VMX: Avoid exit when setting cr8 if the local apic is in the kernel
      KVM: x86 emulator: Fix stack instructions on 64-bit mode
      KVM: SVM: Trap access to the cr8 register
      KVM: VMX: Fix cr8 exit optimization
      KVM: MMU: Simplify calculation of pte access
      KVM: MMU: Set nx bit correctly on shadow ptes
      KVM: MMU: Move pte access calculation into a helper function
      KVM: MMU: Fix inherited permissions for emulated guest pte updates
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: MMU: No need to pick up nx bit from guest pte
      KVM: MMU: Pass pte dirty flag to set_pte() instead of calculating it on-site
      KVM: MMU: Remove walker argument to set_pte()
      KVM: MMU: Move set_pte() into guest paging mode independent code
      KVM: MMU: Adjust mmu_set_spte() debug code for gpte removal
      KVM: MMU: Use mmu_set_spte() for real-mode shadows
      KVM: MMU: Fix kunmap_atomic() call in cmpxchg_gpte()
      KVM: Fix bad kunmap_atomic() paramerter inm cmpxchg emulation
      KVM: Make cmpxchg emulation compile on i386
      KVM: Another cmpxchg i386 compile fix
      KVM: Another cmpxchg emulation compile fix
      KVM: Another cmpxchg emulation compile fix
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: Move arch dependent files to new directory arch/x86/kvm/
      KVM: Move drivers/kvm/* to virt/kvm/
      KVM: Fix compile error in asm/kvm_host.h
      KVM: MMU: Add cache miss statistic
      KVM: Print data for unimplemented wrmsr
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: MMU: Fix cmpxchg8b emulation on i386 (again)
      Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6
      KVM: VMX: Further reduce efer reloads
      KVM: Allow not-present guest page faults to bypass kvm
      KVM: MMU: Make flooding detection work when guest page faults are bypassed
      KVM: VMX: Don't clear the vmcs if the vcpu is not loaded on any processor
      KVM: VMX: Simplify vcpu_clear()
      KVM: Move guest pte dirty bit management to the guest pagetable walker
      KVM: MMU: Fix nx access bit for huge pages
      KVM: MMU: Disable write access on clean large pages
      KVM: MMU: Instantiate real-mode shadows as user writable shadows
      KVM: MMU: Move dirty bit updates to a separate function
      KVM: MMU: When updating the dirty bit, inform the mmu about it
      KVM: Move apic timer interrupt backlog processing to common code
      KVM: Rename KVM_TLB_FLUSH to KVM_REQ_TLB_FLUSH
      KVM: MMU: Simplify page table walker
      KVM: Move vmx_vcpu_reset() out of vmx_vcpu_setup()
      KVM: Add a might_sleep() annotation to gfn_to_page()
      KVM: x86 emulator: don't depend on cr2 for mov abs emulation
      KVM: Move page fault processing to common code
      KVM: MMU: Topup the mmu memory preallocation caches before emulating an insn
      KVM: x86 emulator: Extract the common code of SrcReg and DstReg
      KVM: x86 emulator: centralize decoding of one-byte register access insns
      KVM: Simplify decode_register_operand() calling convention
      KVM: x86 emulator: Hoist modrm and abs decoding into separate functions
      KVM: VMX: Use vmx to inject real-mode interrupts
      KVM: VMX: Read & store IDT_VECTORING_INFO_FIELD
      KVM: Fix faults during injection of real-mode interrupts
      KVM: Simplify CPU_TASKS_FROZEN cpu notifier handling
      KVM: VMX: Consolidate register usage in vmx_vcpu_run()
      KVM: Replace 'light_exits' stat with 'host_state_reload'
      KVM: Add fpu_reload counter
      KVM: Add instruction emulation statistics
      KVM: Extend stats support for VM stats
      KVM: MMU: Add some mmu statistics
      KVM: Add missing #include <asm/pgtable.h>
      KVM: MMU: Remove unused variable
      KVM: Export include/asm-x86/kvm.h
      KVM: x86 emulator: retire ->write_std()
      KVM: x86 emulator: prefetch up to 15 bytes of the instruction executed
      KVM: Split vcpu creation to avoid vcpu_load() before preemption setup
      KVM: MMU: Implement guest page fault bypass for nonpae
      KVM: Add statistic for remote tlb flushes
      KVM: MMU: Avoid unnecessary remote tlb flushes when guest updates a pte
      KVM: Don't bother the mmu if cr3 load doesn't change cr3
      KVM: MMU: Introduce and use gpte_to_gfn()
      KVM: MMU: Move pse36 handling to the guest walker
      KVM: MMU: Remove extra gaddr parameter from set_pte_common()
      KVM: MMU: Remove set_pde()
      KVM: MMU: Merge set_pte() and set_pte_common()
      KVM: MMU: Adjust page_header_update_slot() to accept a gfn instead of a gpa
      KVM: MMU: Introduce gfn_to_gpa()
      KVM: MMU: Simplify nonpaging_map()
      KVM: MMU: Remove gva_to_hpa()
      KVM: Remove gpa_to_hpa()
      KVM: MMU: Rename variables of type 'struct kvm_mmu_page *'
      KVM: MMU: Rename 'release_page'
      KVM: Disallow fork() and similar games when using a VM
      KVM: x86 emulator: address size and operand size overrides are sticky
      KVM: Remove misleading check for mmio during event injection
      KVM: x86 emulator: rename REP_REPE_PREFIX
      KVM: Fix cpuid2 killing 32-bit guests on non-NX machines
      KVM: x86 emulator: Move rep processing before instruction execution
      KVM: x86 emulator: unify two switches
      KVM: x86 emulator: unify four switch statements into two
      KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM
      KVM: Generalize exception injection mechanism
      KVM: Replace page fault injection by the generalized exception queue
      KVM: Replace #GP injection by the generalized exception queue
      KVM: Use generalized exception queue for injecting #UD
      KVM: x86 emulator: fix eflags preparation for emulation
      KVM: VMX: Avoid exit when setting cr8 if the local apic is in the kernel
      KVM: x86 emulator: Fix stack instructions on 64-bit mode
      KVM: SVM: Trap access to the cr8 register
      KVM: VMX: Fix cr8 exit optimization
      KVM: MMU: Simplify calculation of pte access
      KVM: MMU: Set nx bit correctly on shadow ptes
      KVM: MMU: Move pte access calculation into a helper function
      KVM: MMU: Fix inherited permissions for emulated guest pte updates
      KVM: MMU: No need to pick up nx bit from guest pte
      KVM: MMU: Pass pte dirty flag to set_pte() instead of calculating it on-site
      KVM: MMU: Remove walker argument to set_pte()
      KVM: MMU: Move set_pte() into guest paging mode independent code
      KVM: MMU: Adjust mmu_set_spte() debug code for gpte removal
      KVM: MMU: Use mmu_set_spte() for real-mode shadows
      KVM: Move arch dependent files to new directory arch/x86/kvm/
      KVM: Move drivers/kvm/* to virt/kvm/
      KVM: MMU: Add cache miss statistic
      KVM: Print data for unimplemented wrmsr
      KVM: Merge branch 'kvm-updates-2.6.25'
      KVM: local APIC TPR access reporting facility
      KVM: Accelerated apic support
      KVM: Disable vapic support on Intel machines with FlexPriority
      KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte()
      KVM: MMU: Move kvm_free_some_pages() into critical section
      KVM: MMU: Broaden scope of mmap_sem to include actual mapping
      KVM: MMU: Fix recursive locking of mmap_sem()
      KVM: Fix unbalanced mmap_sem operations in cmpxchg8b emulation
      KVM: Mark vapic page as dirty for save/restore/migrate
      KVM: Initialize the mmu caches only after verifying cpu support
      KVM: Fix unbounded preemption latency
      KVM: Move apic timer migration away from critical section

Carlo Marcelo Arenas Belon (2):
      KVM: SVM: Remove KVM specific defines for MSR_EFER
      KVM: SVM: Remove KVM specific defines for MSR_EFER

Carsten Otte (18):
      KVM: Portability: split kvm_vcpu_ioctl
      KVM: Portability: Split kvm_vm_ioctl v3
      KVM: Portability: Move memory segmentation to x86.c
      KVM: Portability: move get/set_apic_base to x86.c
      KVM: Portability: Move control register helper functions to x86.c
      KVM: Portability: Move kvm_get/set_msr[_common] to x86.c
      KVM: Portability: Move x86 emulation and mmio device hook to x86.c
      KVM: Portability: Move pio emulation functions to x86.c
      KVM: Remove desc.h include in kvm_main.c
      KVM: Move x86 msr handling to new files x86.[ch]
      KVM: Portability: split kvm_vcpu_ioctl
      KVM: Portability: Split kvm_vm_ioctl v3
      KVM: Portability: Move memory segmentation to x86.c
      KVM: Portability: move get/set_apic_base to x86.c
      KVM: Portability: Move control register helper functions to x86.c
      KVM: Portability: Move kvm_get/set_msr[_common] to x86.c
      KVM: Portability: Move x86 emulation and mmio device hook to x86.c
      KVM: Portability: Move pio emulation functions to x86.c

Christian Borntraeger (4):
      KVM: Use virtual cpu accounting if available for guest times.
      KVM: Per-architecture hypercall definitions
      KVM: Use virtual cpu accounting if available for guest times.
      KVM: Per-architecture hypercall definitions

Christian Ehrhardt (2):
      KVM: Rename kvm_arch_ops to kvm_x86_ops
      KVM: Portability: Move kvm_fpu to asm-x86/kvm.h

Dan Kenigsberg (2):
      KVM: Enhance guest cpuid management
      KVM: Enhance guest cpuid management

Daniel Hecken (1):
      KVM: VMX: Compile-fix for 32-bit hosts

Dong, Eddie (4):
      KVM: VMX: Reset mmu context when entering real mode
      KVM: MMU: Merge shadow level check in FNAME(fetch)
      KVM: MMU: Update shadow ptes on partial guest pte writes
      KVM: MMU: Simplify hash table indexing

Dor Laor (5):
      KVM: Fix guest register corruption on paravirt hypercall
      KVM: Use the generic skip_emulated_instruction() in hypercall code
      Add mmu cache clear function
      KVM: Add make_page_dirty() to kvm_clear_guest_page()
      KVM: Add make_page_dirty() to kvm_clear_guest_page()

Eddie Dong (31):
      KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles
      KVM: VMX: Avoid saving and restoring msrs on lightweight vmexit
      KVM: VMX: Cleanup redundant code in MSR set
      KVM: VMX: Fix a typo which mixes X86_64 and CONFIG_X86_64
      KVM: VMX: Avoid saving and restoring msr_efer on lightweight vmexit
      KVM: Use symbolic constants instead of magic numbers
      KVM: Add support for in-kernel pio handlers
      KVM: In-kernel string pio write support
      KVM: Add support for in-kernel PIC emulation
      KVM: Define and use cr8 access functions
      KVM: Emulate local APIC in kernel
      KVM: In-kernel I/O APIC model
      KVM: Emulate hlt in the kernel
      KVM: Protect in-kernel pio using kvm->lock
      KVM: in-kernel LAPIC save and restore support
      KVM: pending irq save/restore
      KVM: Keep track of missed timer irq injections
      KVM: Migrate lapic hrtimer when vcpu moves to another cpu
      KVM: VMX: Fix tpr threshold updating
      KVM: deliver PIC interrupt only to vcpu0
      KVM: Fix link error to "genapic"
      KVM: Export PIC reset for kernel device reset
      KVM: Split IOAPIC reset function and export for kernel RESET
      KVM: VMX: Comment VMX primary/secondary exec ctl definitions
      KVM: VMX: wbinvd exiting
      KVM: MMU: Coalesce remote tlb flushes
      KVM: Export PIC reset for kernel device reset
      KVM: Split IOAPIC reset function and export for kernel RESET
      KVM: VMX: Comment VMX primary/secondary exec ctl definitions
      KVM: VMX: wbinvd exiting
      KVM: MMU: Coalesce remote tlb flushes

Eric Sesterhenn / Snakebyte (1):
      KVM: Fix overflow bug in overflow detection code

Feng(Eric) Liu (1):
      KVM: MMU: Fix gpa truncation when reading a pte

Gabriel C (1):
      KVM: Fix defined but not used warning in drivers/kvm/vmx.c

Glauber de Oliveira Costa (2):
      KVM: VMX: Don't require cr8 load/store exit capability when running on 32-bit
      KVM: Put kvm_para.h include outside __KERNEL__

Gregory Haskins (3):
      KVM: Adds support for in-kernel mmio handlers
      KVM: VMX: Fix interrupt checking on lightweight exit
      KVM: Remove arch specific components from the general code

Guillaume Thouvenin (4):
      KVM: x86 emulator: Make a distinction between repeat prefixes F3 and F2
      KVM: x86 emulator: cmps instruction
      KVM: x86 emulator: Make a distinction between repeat prefixes F3 and F2
      KVM: x86 emulator: cmps instruction

He, Qing (9):
      KVM: VMX: Enable io bitmaps to avoid IO port 0x80 VMEXITs
      KVM: Add get/set irqchip ioctls for in-kernel PIC live migration support
      KVM: Bypass irq_pending get/set when using in kernel irqchip
      KVM: in-kernel IOAPIC save and restore support
      KVM: disable tpr/cr8 sync when in-kernel APIC is used
      KVM: round robin for APIC lowest priority delivery mode
      KVM: enable in-kernel APIC INIT/SIPI handling
      KVM: fix apic timer migration when inactive
      KVM: VMX: Fix exit qualification width on i386

Hollis Blanchard (22):
      KVM: Portability: Make exported debugfs data architecture-specific
      KVM: Portability: Move x86 instruction emulation code to x86.c
      KVM: Portability: Move x86 FPU handling to x86.c
      KVM: Portability: Move x86 vcpu ioctl handlers to x86.c
      KVM: Remove unused "rmap_overflow" variable
      KVM: Correct consistent typo: "destory" -> "destroy"
      KVM: Move misplaced comment
      KVM: Portability: Move address types to their own header file
      KVM: Portability: Move IO device definitions to its own header file
      KVM: Portability: Stop including x86-specific headers in kvm_main.c
      KVM: Portability: Create kvm_arch_vcpu_runnable() function
      KVM: Portability: Make exported debugfs data architecture-specific
      KVM: Portability: Move x86 instruction emulation code to x86.c
      KVM: Portability: Move x86 FPU handling to x86.c
      KVM: Portability: Move x86 vcpu ioctl handlers to x86.c
      KVM: Remove unused "rmap_overflow" variable
      KVM: Correct consistent typo: "destory" -> "destroy"
      KVM: Move misplaced comment
      KVM: Portability: Move address types to their own header file
      KVM: Portability: Move IO device definitions to its own header file
      KVM: Portability: Stop including x86-specific headers in kvm_main.c
      KVM: Portability: Create kvm_arch_vcpu_runnable() function

Ingo Molnar (4):
      KVM: add MSR based hypercall API
      KVM: Add host hypercall support for vmx
      KVM: trivial whitespace fixes
      KVM: always reload segment selectors

Izik Eidus (53):
      KVM: VMX: allow rmode_tss_base() to work with >2G of guest memory
      KVM: Support more memory slots
      KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte()
      KVM: Remove the usage of paeg->private field by rmap
      KVM: Add general accessors to read and write guest memory
      KVM: Allow dynamic allocation of the mmu shadow cache size
      KVM: Support assigning userspace memory to the guest
      KVM: MMU: Call update_dirty_bit() without disabling preemption
      KVM: MMU: Add rmap_next(), a helper for walking kvm rmaps
      KVM: MMU: Keep a reverse mapping of non-writable translations
      KVM: MMU: Make gfn_to_page() always safe
      KVM: Partial swapping of guest memory
      KVM: Unmap kernel-allocated memory on slot destruction
      KVM: Export memory slot allocation mechanism
      KVM: Add kernel-internal memory slots
      KVM: Add ioctl to tss address from userspace,
      KVM: x86 emulator: fix JMP_REL
      KVM: x86 emulator: fix the saving of of the eip value
      KVM: x86 emulator: remove 8 bytes operands emulator for call near instruction
      KVM: add kvm_is_error_hva()
      KVM: introduce gfn_to_hva()
      KVM: Change kvm_{read,write}_guest() to use copy_{from,to}_user()
      KVM: MMU: Change guest pte access to kvm_{read,write}_guest()
      kvm: simplify kvm_clear_guest_page()
      KVM: MMU: Fix potential memory leak with smp real-mode
      KVM: MMU: Selectively set PageDirty when releasing guest memory
      KVM: MMU: Code cleanup
      KVM: MMU: mark pages that were inserted to the shadow pages table as accessed
      KVM: Ensure pages are copied on write
      KVM: Remove the usage of page->private field by rmap
      KVM: Add general accessors to read and write guest memory
      KVM: Allow dynamic allocation of the mmu shadow cache size
      KVM: Support assigning userspace memory to the guest
      KVM: MMU: Add rmap_next(), a helper for walking kvm rmaps
      KVM: MMU: Keep a reverse mapping of non-writable translations
      KVM: MMU: Make gfn_to_page() always safe
      KVM: MMU: Partial swapping of guest memory
      KVM: Unmap kernel-allocated memory on slot destruction
      KVM: Export memory slot allocation mechanism
      KVM: Add kernel-internal memory slots
      KVM: Add ioctl to tss address from userspace,
      KVM: x86 emulator: remove 8 bytes operands emulator for call near instruction
      KVM: add kvm_is_error_hva()
      KVM: introduce gfn_to_hva()
      KVM: Change kvm_{read,write}_guest() to use copy_{from,to}_user()
      KVM: MMU: Change guest pte access to kvm_{read,write}_guest()
      KVM: Simplify kvm_clear_guest_page()
      KVM: MMU: Fix potential memory leak with smp real-mode
      KVM: MMU: Selectively set PageDirty when releasing guest memory
      KVM: MMU: Code cleanup
      KVM: MMU: mark pages that were inserted to the shadow pages table as accessed
      KVM: Ensure pages are copied on write
      KVM: MMU: Fix dirty page setting for pages removed from rmap

Jan Engelhardt (1):
      Use menuconfig objects II - KVM/Virt

Jan Kiszka (2):
      KVM: VMX: Force seg.base == (seg.sel << 4) in real  mode
      KVM: VMX: Force seg.base == (seg.sel << 4) in real  mode

Jeff Dike (2):
      KVM - add hypercall nr to kvm_run
      KVM: Set exit_reason to KVM_EXIT_MMIO where run->mmio is initialized.

Jeremy Katz (1):
      KVM: Move virtualization deactivation from CPU_DEAD state to CPU_DOWN_PREPARE

Jerone Young (16):
      KVM: Portability: Move kvm_memory_alias to asm/kvm.h
      KVM: Portability: Move x86 pic strutctures
      KVM: Portability: Move kvm_regs to <asm/kvm.h>
      KVM: Portability: Move structure lapic_state to <asm/kvm.h>
      KVM: Portability: Move kvm_segment & kvm_dtable structure to  <asm/kvm.h>
      KVM: Portability: Move kvm_sregs and msr structures to <asm/kvm.h>
      KVM: Portability: Move cpuid structures to <asm/kvm.h>
      KVM: Add ifdef in irqchip struct for x86 only structures
      KVM: Portability: Move kvm_memory_alias to asm/kvm.h
      KVM: Portability: Move x86 pic strutctures
      KVM: Portability: Move kvm_regs to <asm/kvm.h>
      KVM: Portability: Move structure lapic_state to <asm/kvm.h>
      KVM: Portability: Move kvm_segment & kvm_dtable structure to  <asm/kvm.h>
      KVM: Portability: Move kvm_sregs and msr structures to <asm/kvm.h>
      KVM: Portability: Move cpuid structures to <asm/kvm.h>
      KVM: Add ifdef in irqchip struct for x86 only structures

Jindrich Makovicka (1):
      KVM: Fix lapic 64-bit division on 32-bit hosts

Joe Perches (2):
      KVM: Remove ptr comparisons to 0
      KVM: Remove ptr comparisons to 0

Joerg Roedel (13):
      KVM: SVM: intercept SMI to handle it at host level
      KVM: SVM: forbid guest to execute monitor/mwait
      KVM: SVM: enable LBRV virtualization if available
      KVM: SVM: Reliably detect if SVM was disabled by BIOS
      KVM: SVM: Emulate read/write access to cr8
      KVM: SVM: Exit to userspace if write to cr8 and not using in-kernel apic
      KVM: SVM: support writing 0 to K8 performance counter control registers
      KVM: LAPIC: minor debugging compile fix
      KVM: SVM: Emulate read/write access to cr8
      KVM: SVM: Exit to userspace if write to cr8 and not using in-kernel apic
      KVM: LAPIC: minor debugging compile fix
      KVM: SVM: support writing 0 to K8 performance counter control registers
      KVM: SVM: Fix lazy FPU switching

Kevin Pedretti (2):
      KVM: Fix local apic timer divide by zero
      KVM: Improve local apic timer wraparound handling

Laurent Vivier (44):
      KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpu
      KVM: Remove kvm_{read,write}_guest()
      KVM: Remove useless assignment
      KVM: Cleanup string I/O instruction emulation
      KVM: Clean up kvm_setup_pio()
      KVM: VMX: Split segments reload in vmx_load_host_state()
      KVM: Simplify memory allocation
      KVM: x86 emulator: remove unused functions
      KVM: x86 emulator: move all x86_emulate_memop() to a structure
      KVM: x86 emulator: move all decoding process to function x86_decode_insn()
      KVM: emulate_instruction() calls now x86_decode_insn() and x86_emulate_insn()
      KVM: Call x86_decode_insn() only when needed
      KVM: x85 emulator: Correct inconcistency in between cr2 and ctxt->cr2.
      KVM: x86 emulator: fix repne/repnz decoding
      KVM: x86 emulator: split some decoding into functions for readability
      KVM: x86 emulator: remove _eflags and use directly ctxt->eflags.
      KVM: x86 emulator: Remove no_wb, use dst.type = OP_NONE instead
      KVM: Purify x86_decode_insn() error case management
      KVM: x86 emulator: Any legacy prefix after a REX prefix nullifies its effect
      KVM: x86 emulator: On a pop instruction, don't restore ECX and EIP on error
      KVM: x86 emulator: remove unused variable
      KVM: x86 emulator: Correct management of REP prefix
      KVM: Add some \n in ioapic_debug()
      KVM: Move kvm_guest_exit() after local_irq_enable()
      KVM: Use new smp_call_function_mask() in kvm_flush_remote_tlbs()
      KVM: VMX: Let gcc to choose which registers to save (x86_64)
      KVM: VMX: Let gcc to choose which registers to save (i386)
      KVM: SVM: Let gcc to choose which registers to save (x86_64)
      KVM: SVM: Let gcc to choose which registers to save (i386)
      KVM: x86 emulator: remove unused functions
      KVM: x86 emulator: move all x86_emulate_memop() to a structure
      KVM: x86 emulator: move all decoding process to function x86_decode_insn()
      KVM: emulate_instruction() calls now x86_decode_insn() and x86_emulate_insn()
      KVM: Call x86_decode_insn() only when needed
      KVM: x86 emulator: split some decoding into functions for readability
      KVM: x86 emulator: remove _eflags and use directly ctxt->eflags.
      KVM: x86 emulator: Remove no_wb, use dst.type = OP_NONE instead
      KVM: Purify x86_decode_insn() error case management
      KVM: x86 emulator: Any legacy prefix after a REX prefix nullifies its effect
      KVM: Add some \n in ioapic_debug()
      KVM: VMX: Let gcc to choose which registers to save (x86_64)
      KVM: VMX: Let gcc to choose which registers to save (i386)
      KVM: SVM: Let gcc to choose which registers to save (x86_64)
      KVM: SVM: Let gcc to choose which registers to save (i386)

Li, Xin B (1):
      KVM: VMX: Remove a duplicated ia32e mode vm entry control

Luca Tettamanti (2):
      KVM: Fix x86 emulator writeback
      KVM: Avoid useless memory write when possible

Marcelo Tosatti (11):
      KVM: MMU: Remove unused prev_shadow_ent variable from fetch()
      KVM: MMU: Use cmpxchg for pte updates on walk_addr()
      KVM: MMU: Fix SMP shadow instantiation race
      KVM: MMU: emulated cmpxchg8b should be atomic on i386
      KVM: MMU: Remove unused prev_shadow_ent variable from fetch()
      KVM: MMU: Use cmpxchg for pte updates on walk_addr()
      KVM: MMU: Fix SMP shadow instantiation race
      KVM: MMU: emulated cmpxchg8b should be atomic on i386
      KVM: MMU: Concurrent guest walkers
      KVM: Add kvm_read_guest_atomic()
      KVM: MMU: Switch to mmu spinlock

Markus Rechberger (3):
      KVM: vmx: hack set_cr0_no_modeswitch() to actually do modeswitch
      KVM: Use page_private()/set_page_private() apis
      KVM: Fix includes

Matthew Gregan (1):
      KVM: Implement IA32_EBL_CR_POWERON msr

Michal Piotrowski (1):
      KVM: Remove unused function

Mike Day (2):
      KVM: CodingStyle cleanup
      KVM: CodingStyle cleanup

Nguyen Anh Quynh (2):
      KVM: Remove unnecessary initialization and checks in mark_page_dirty()
      KVM: Fix *nopage() in kvm_main.c

Nitin A Kamble (22):
      KVM: VMX: Handle #SS faults from real mode
      KVM: Implement emulation of "pop reg" instruction (opcode 0x58-0x5f)
      KVM: Implement emulation of instruction "ret" (opcode 0xc3)
      KVM: x86 emulator: implement 'and $imm, %{al|ax|eax}'
      KVM: x86 emulator: implement 'jmp rel' instruction (opcode 0xe9)
      KVM: x86 emulator: Implement 'jmp rel short' instruction (opcode 0xeb)
      KVM: x86 emulator: implement 'push reg' (opcodes 0x50-0x57)
      KVM: x86 emulator: push imm8
      KVM: x86 emulator: call near
      KVM: x86 emulator: pushf
      KVM: x86 emulator: sort opcodes into ascending order
      KVM: x86 emulator: imlpement jump conditional relative
      KVM: X86 emulator: jump conditional short
      KVM: x86 emulator: lea
      KVM: x86 emulator: jmp abs
      KVM: x86 emulator: fix src, dst value initialization
      KVM: x86 emulator: popf
      KVM: x86 emulator: fix merge screwup due to emulator split
      KVM: x86 emulator: Implement emulation of instruction: inc & dec
      KVM: x86 emulator: cmc, clc, cli, sti
      KVM: x86 emulator: Implement emulation of instruction: inc & dec
      KVM: x86 emulator: cmc, clc, cli, sti

Qing He (6):
      KVM: SMP: Add vcpu_id field in struct vcpu
      KVM: fix PIC interrupt delivery on different APIC conditions
      KVM: x86_emulator: no writeback for bt
      KVM: apic round robin cleanup
      KVM: x86_emulator: no writeback for bt
      KVM: apic round robin cleanup

Robert P. J. Day (1):
      KVM: Replace C code with call to ARRAY_SIZE() macro.

Rusty Russell (40):
      KVM: Trivial: /dev/kvm interface is no longer experimental.
      KVM: Trivial: Remove unused struct cpu_user_regs declaration
      KVM: Trivial: Make decode_register() static
      KVM: Trivial: Comment spelling may escape grep
      KVM: Trivial: Avoid hardware_disable predeclaration
      KVM: Trivial: Use standard CR0 flags macros from asm/cpu-features.h
      Use standard CR3 flags, tighten checking
      Use standard CR4 flags, tighten checking
      KVM: Trivial: Use standard BITMAP macros, open-code userspace-exposed header
      KVM: Use standard CR8 flags, and fix TPR definition
      KVM: Fix unlikely kvm_create vs decache_vcpus_on_cpu race
      KVM: Return if the pdptrs are invalid when the guest turns on PAE.
      KVM: load_pdptrs() cleanups
      KVM: Dynamically allocate vcpus
      KVM: fx_init() needs preemption disabled while it plays with the FPU state
      KVM: VMX: pass vcpu_vmx internally
      KVM: Remove three magic numbers
      KVM: SVM: de-containization
      KVM: SVM: internal function name cleanup
      KVM: Use kmem cache for allocating vcpus
      KVM: Use alignment properties of vcpu to simplify FPU ops
      KVM: kvm_vm_ioctl_get_dirty_log restore "nothing dirty" optimization
      KVM: Don't assign vcpu->cr3 if it's invalid: check first, set last
      KVM: Cleanup mark_page_dirty
      KVM: SVM: Make set_msr_interception more reliable
      KVM: Remove redundant alloc_vmcs_cpu declaration
      KVM: Remove stat_set from debugfs
      KVM: Remove unneeded kvm_dev_open and kvm_dev_release functions.
      KVM: Add and use pr_unimpl for standard formatting of unimplemented features
      KVM: Use kmem_cache_free for kmem_cache_zalloc'ed objects
      KVM: Remove the unused invlpg member of struct kvm_arch_ops.
      KVM: Clean up unloved invlpg emulation
      KVM: Keep control regs in sync
      KVM: Hoist SVM's get_cs_db_l_bits into core code.
      KVM: Add kvm_free_lapic() to pair with kvm_create_lapic()
      KVM: Hoist kvm_create_lapic() into kvm_vcpu_init()
      KVM: Remove gratuitous casts from lapic.c
      KVM: Add kvm_free_lapic() to pair with kvm_create_lapic()
      KVM: Hoist kvm_create_lapic() into kvm_vcpu_init()
      KVM: Remove gratuitous casts from lapic.c

Ryan Harper (4):
      KVM: MMU: Ignore reserved bits in cr3 in non-pae mode
      KVM: VMX: Add printk_ratelimit in vmx_intr_assist
      KVM: MMU: Ignore reserved bits in cr3 in non-pae mode
      KVM: VMX: Add printk_ratelimit in vmx_intr_assist

Sergey Kiselev (1):
      KVM: Handle writes to MCG_STATUS msr

Shani Moideen (2):
      KVM: SVM: Replace memset(<addr>, 0, PAGESIZE) with clear_page(<addr>)
      KVM: VMX: Replace memset(<addr>, 0, PAGESIZE) with clear_page(<addr>)

Shaohua Li (4):
      KVM: MMU: Fix Wrong tlb flush order
      KVM: Hoist kvm_mmu_reload() out of the critical section
      KVM: Move gfn_to_page out of kmap/unmap pairs
      KVM: Convert vm lock to a mutex

Sheng Yang (14):
      KVM: VMX: Import some constants of vmcs from IA32 SDM
      KVM: Communicate cr8 changes to userspace
      KVM: VMX: Prevent setting CPU_BASED_TPR_SHADOW on i386 host
      KVM: x86 emulator: implement 'movnti mem, reg'
      KVM: VMX: Enable memory mapped TPR shadow (FlexPriority)
      KVM: VMX: Fix repeated allocation of apic access page on smp
      KVM: x86 emulator: modify 'lods', and 'stos' not to depend on CR2
      KVM: x86 emulator: Rename 'cr2' to 'memop'
      KVM: VMX: Remove the secondary execute control dependency on irqchip
      KVM: VMX: Enable memory mapped TPR shadow (FlexPriority)
      KVM: x86 emulator: modify 'lods', and 'stos' not to depend on CR2
      KVM: VMX: Remove the secondary execute control dependency on irqchip
      KVM: x86 emulator: Rename 'cr2' to 'memop'
      KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD

Signed-off-by: Anthony Liguori (1):
      KVM: SVM: Only save/restore MSRs when needed

Soren Hansen (2):
      UBUNTU: Update kvm driver to kvm-60.
      UBUNTU: Added CONFIG_ARCH_SUPPORTS_KVM=y for lpia, i386, and amd64

Uri Lublin (16):
      kvm, dirty pages log: adding some calls to mark_page_dirty()
      Merge branch 'master' of /home/avi/kvm/linux-2.6/
      .gitignore: ignore emacs backup files (*~)
      kvm: dirty pages log: fix bitmap size/access calculation
      kvm: move do_remove_write_access() up
      kvm: dirty page logging: remove write access permissions when dirty-page-logging is enabled
      KVM: Add missing calls to mark_page_dirty()
      KVM: Fix dirty page log bitmap size/access calculation
      kvm: move do_remove_write_access() up
      KVM: Remove write access permissions when dirty-page-logging is enabled
      Merge branch 'master' of /home/avi/kvm/linux-2.6/
      Merge /home/avi/kvm
      Merge branch 'master' of /home/avi/kvm/linux-2.6/
      added KVM_GET_MEM_MAP ioctl to get the memory bitmap for a memory slot
      KVM: Make mark_page_dirty() work for aliased pages too.
      KVM: Make mark_page_dirty() work for aliased pages too.

Yang, Sheng (3):
      KVM: VMX: Improve the method of writing vmcs control
      KVM: VMX: Add cpu consistency check
      KVM: VMX: Use shadow TPR/cr8 for 64-bits guests

Yaozu Dong (1):
      KVM: MMU: Avoid heavy ASSERT at non debug mode.

Zhang Xiantao (79):
      KVM: Portability: Split kvm_vcpu into arch dependent and independent parts (part 1)
      KVM: Portability: Move some includes to x86.c
      KVM: Portability: Move kvm_x86_ops to x86.c
      KVM: Portability: Add vcpu and hardware management arch hooks
      KVM: Portability: Combine kvm_init and kvm_init_x86
      KVM: Portability: Move x86 specific code from kvm_init() to kvm_arch()
      KVM: Portability: move KVM_CHECK_EXTENSION
      KVM: Portability: Make kvm_vcpu_ioctl_translate arch dependent
      KVM: Remove __init attributes for kvm_init_debug and kvm_init_msr_list
      KVM: Portability: Add two hooks to handle kvm_create and destroy vm
      KVM: Portability: Move kvm_vcpu_ioctl_get_dirty_log to arch-specific  file
      KVM: Portability: MMU initialization and teardown split
      KVM: Portability: Move some macro definitions from kvm.h to x86.h
      KVM: Portability: Move struct kvm_x86_ops definition to x86.h
      KVM: Portability: Move vcpu regs enumeration definition to x86.h
      KVM: Move some static inline functions out from kvm.h into x86.h
      KVM: Portability: Move some function declarations to x86.h
      KVM: Recalculate mmu pages needed for every memory region change
      KVM: Portability:  Split kvm_set_memory_region() to have an arch callout
      KVM: Portability: Move unalias_gfn to arch dependent file
      KVM: Portability: Move KVM_INTERRUPT vcpu ioctl to x86.c
      KVM: Correct kvm_init() error paths not freeing bad_pge.
      KVM: Replace kvm_lapic with kvm_vcpu in ioapic/lapic interface
      KVM: Replace dest_Lowest_Prio and dest_Fixed with self-defined macros
      KVM: Extend ioapic code to support iosapic
      KVM: Portability: Move kvm{pic,ioapic} accesors to x86 specific code
      KVM: Portability: Introduce kvm_vcpu_arch
      KVM: Portability: Split mmu-related static inline functions to mmu.h
      KVM: Portability: Move kvm_vcpu definition back to kvm.h
      KVM: Portability: Expand the KVM_VCPU_COMM in kvm_vcpu structure.
      KVM: Portability: Move kvm_vcpu_stat to x86.h
      KVM: Portability: Move memslot aliases to new struct kvm_arch
      KVM: Portability: Move mmu-related fields to kvm_arch
      KVM: Portability: move vpic and vioapic to kvm_arch
      KVM: Portability: Move round_robin_prev_vcpu and tss_addr to kvm_arch
      KVM: Portability: Move kvm_vm_stat to x86.h
      KVM: Move irqchip declarations into new ioapic.h and lapic.h
      KVM: Move ioapic code to common directory.
      KVM: Move kvm_vcpu_kick() to x86.c
      KVM: Portability: Split kvm_vcpu into arch dependent and independent parts (part 1)
      KVM: Portability: Move some includes to x86.c
      KVM: Portability: Move kvm_x86_ops to x86.c
      KVM: Portability: Add vcpu and hardware management arch hooks
      KVM: Portability: Combine kvm_init and kvm_init_x86
      KVM: Portability: Move x86 specific code from kvm_init() to kvm_arch()
      KVM: Portability: move KVM_CHECK_EXTENSION
      KVM: Portability: Make kvm_vcpu_ioctl_translate arch dependent
      KVM: Remove __init attributes for kvm_init_debug and kvm_init_msr_list
      KVM: Portability: Add two hooks to handle kvm_create and destroy vm
      KVM: Portability: Move kvm_vcpu_ioctl_get_dirty_log to arch-specific  file
      KVM: Portability: MMU initialization and teardown split
      KVM: Portability: Move some macro definitions from kvm.h to x86.h
      KVM: Portability: Move struct kvm_x86_ops definition to x86.h
      KVM: Portability: Move vcpu regs enumeration definition to x86.h
      KVM: Move some static inline functions out from kvm.h into x86.h
      KVM: Portability: Move some function declarations to x86.h
      KVM: Recalculate mmu pages needed for every memory region change
      KVM: Portability:  Split kvm_set_memory_region() to have an arch callout
      KVM: Portability: Move unalias_gfn to arch dependent file
      KVM: Portability: Move KVM_INTERRUPT vcpu ioctl to x86.c
      KVM: Correct kvm_init() error paths not freeing bad_pge.
      KVM: Replace kvm_lapic with kvm_vcpu in ioapic/lapic interface
      KVM: Replace dest_Lowest_Prio and dest_Fixed with self-defined macros
      KVM: Extend ioapic code to support iosapic
      KVM: Portability: Move kvm{pic,ioapic} accesors to x86 specific code
      KVM: Portability: Introduce kvm_vcpu_arch
      KVM: Portability: Split mmu-related static inline functions to mmu.h
      KVM: Portability: Move kvm_vcpu definition back to kvm.h
      KVM: Portability: Expand the KVM_VCPU_COMM in kvm_vcpu structure.
      KVM: Portability: Move kvm_vcpu_stat to x86.h
      KVM: Portability: Move memslot aliases to new struct kvm_arch
      KVM: Portability: Move mmu-related fields to kvm_arch
      KVM: Portability: move vpic and vioapic to kvm_arch
      KVM: Portability: Move round_robin_prev_vcpu and tss_addr to kvm_arch
      KVM: Portability: Move kvm_vm_stat to x86.h
      KVM: Move irqchip declarations into new ioapic.h and lapic.h
      KVM: Move ioapic code to common directory.
      KVM: Move kvm_vcpu_kick() to x86.c
      KVM: Expose ioapic to ia64 save/restore APIs

cotte at de.ibm.com (1):
      KVM: Move x86 msr handling to new files x86.[ch]

npiggin at suse.de (2):
      KVM: Convert KVM from ->nopage() to ->fault()
      KVM: Convert KVM from ->nopage() to ->fault()

xiantao.zhang at intel.com (1):
      KVM: Expose ioapic to ia64 save/restore APIs

 arch/x86/Kconfig                                   |    6 +
 arch/x86/Makefile                                  |    2 +
 {drivers => arch/x86}/kvm/Kconfig                  |    4 +-
 {drivers => arch/x86}/kvm/Makefile                 |    6 +-
 {drivers => arch/x86}/kvm/i8259.c                  |    8 +-
 {drivers => arch/x86}/kvm/irq.c                    |   22 +-
 arch/x86/kvm/irq.h                                 |   88 +
 {drivers => arch/x86}/kvm/kvm_svm.h                |    2 +-
 {drivers => arch/x86}/kvm/lapic.c                  |  216 +-
 arch/x86/kvm/lapic.h                               |   50 +
 arch/x86/kvm/mmu.c                                 | 1894 +++++++++
 arch/x86/kvm/mmu.h                                 |   44 +
 arch/x86/kvm/paging_tmpl.h                         |  481 +++
 arch/x86/kvm/segment_descriptor.h                  |   29 +
 {drivers => arch/x86}/kvm/svm.c                    |  355 +-
 {drivers => arch/x86}/kvm/svm.h                    |    3 +-
 {drivers => arch/x86}/kvm/vmx.c                    | 1078 +++---
 {drivers => arch/x86}/kvm/vmx.h                    |   26 +-
 drivers/kvm/kvm_main.c => arch/x86/kvm/x86.c       | 4243 +++++++++-----------
 arch/x86/kvm/x86_emulate.c                         | 1912 +++++++++
 debian/config/amd64/config                         |    1 +
 debian/config/i386/config                          |    1 +
 debian/config/lpia/config                          |    1 +
 drivers/Kconfig                                    |    2 -
 drivers/Makefile                                   |    1 -
 drivers/kvm/irq.h                                  |  165 -
 drivers/kvm/mmu.c                                  | 1498 -------
 drivers/kvm/paging_tmpl.h                          |  511 ---
 drivers/kvm/segment_descriptor.h                   |   17 -
 drivers/kvm/x86_emulate.c                          | 1662 --------
 include/asm-x86/Kbuild                             |    1 +
 include/asm-x86/kvm.h                              |  191 +
 drivers/kvm/kvm.h => include/asm-x86/kvm_host.h    |  538 +--
 include/asm-x86/kvm_para.h                         |  105 +
 .../asm-x86/kvm_x86_emulate.h                      |   69 +-
 include/linux/Kbuild                               |    2 +-
 include/linux/kvm.h                                |  203 +-
 include/linux/kvm_host.h                           |  299 ++
 include/linux/kvm_para.h                           |   82 +-
 include/linux/kvm_types.h                          |   54 +
 kernel/fork.c                                      |    1 +
 {drivers => virt}/kvm/ioapic.c                     |   99 +-
 virt/kvm/ioapic.h                                  |   95 +
 virt/kvm/iodev.h                                   |   63 +
 virt/kvm/kvm_main.c                                | 1400 +++++++
 45 files changed, 9966 insertions(+), 7564 deletions(-)
 rename {drivers => arch/x86}/kvm/Kconfig (94%)
 rename {drivers => arch/x86}/kvm/Makefile (51%)
 rename {drivers => arch/x86}/kvm/i8259.c (98%)
 rename {drivers => arch/x86}/kvm/irq.c (81%)
 create mode 100644 arch/x86/kvm/irq.h
 rename {drivers => arch/x86}/kvm/kvm_svm.h (96%)
 rename {drivers => arch/x86}/kvm/lapic.c (83%)
 create mode 100644 arch/x86/kvm/lapic.h
 create mode 100644 arch/x86/kvm/mmu.c
 create mode 100644 arch/x86/kvm/mmu.h
 create mode 100644 arch/x86/kvm/paging_tmpl.h
 create mode 100644 arch/x86/kvm/segment_descriptor.h
 rename {drivers => arch/x86}/kvm/svm.c (84%)
 rename {drivers => arch/x86}/kvm/svm.h (98%)
 rename {drivers => arch/x86}/kvm/vmx.c (75%)
 rename {drivers => arch/x86}/kvm/vmx.h (96%)
 rename drivers/kvm/kvm_main.c => arch/x86/kvm/x86.c (52%)
 create mode 100644 arch/x86/kvm/x86_emulate.c
 delete mode 100644 drivers/kvm/irq.h
 delete mode 100644 drivers/kvm/mmu.c
 delete mode 100644 drivers/kvm/paging_tmpl.h
 delete mode 100644 drivers/kvm/segment_descriptor.h
 delete mode 100644 drivers/kvm/x86_emulate.c
 create mode 100644 include/asm-x86/kvm.h
 rename drivers/kvm/kvm.h => include/asm-x86/kvm_host.h (64%)
 create mode 100644 include/asm-x86/kvm_para.h
 rename drivers/kvm/x86_emulate.h => include/asm-x86/kvm_x86_emulate.h (83%)
 create mode 100644 include/linux/kvm_host.h
 create mode 100644 include/linux/kvm_types.h
 rename {drivers => virt}/kvm/ioapic.c (83%)
 create mode 100644 virt/kvm/ioapic.h
 create mode 100644 virt/kvm/iodev.h
 create mode 100644 virt/kvm/kvm_main.c

-- 
Soren Hansen
Ubuntu Server Team
http://www.ubuntu.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20080128/ff29ecdc/attachment.sig>


More information about the kernel-team mailing list