Skip to content

KVM patch queue for the 2.6.24 merge window

Avi Kivity git kvm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest102 of 104 patches 14 repliesIn review

102 of 104 patches are in this archive. The cover letter announces 104.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/104KVM: Fix *nopage() in kvm_main.cdrivers/kvm/kvm_main.c+6 -27 replies
2/104KVM: SMP: Add vcpu_id field in struct vcpudrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+4 -20 replies
3/104KVM: Future-proof the exit information union ABIinclude/linux/kvm.h+2 -00 replies
4/104KVM: In-kernel string pio write supportdrivers/kvm/kvm_main.c+37 -110 replies
5/104KVM: Trivial: /dev/kvm interface is no longer experimental.include/linux/kvm.h+1 -20 replies
6/104KVM: Trivial: Remove unused struct cpu_user_regs declarationdrivers/kvm/x86_emulate.h+0 -20 replies
7/104KVM: Trivial: Make decode_register() staticdrivers/kvm/x86_emulate.c drivers/kvm/x86_emulate.h+7 -100 replies
8/104KVM: Trivial: Comment spelling may escape grepdrivers/kvm/x86_emulate.c+1 -10 replies
9/104KVM: Trivial: Avoid hardware_disable predeclarationdrivers/kvm/kvm_main.c+19 -210 replies
10/104KVM: Trivial: Use standard CR0 flags macros from asm/cpu-features.hdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/mmu.c +2 more+36 -420 replies
11/104KVM: Use standard CR3 flags, tighten checkingdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/paging_tmpl.h+25 -190 replies
12/104KVM: Use standard CR4 flags, tighten checkingdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +2 more+22 -270 replies
13/104KVM: Trivial: Use standard BITMAP macros, open-code userspace-exposed headerdrivers/kvm/kvm.h drivers/kvm/kvm_main.c include/linux/kvm.h+4 -110 replies
14/104KVM: Set exit_reason to KVM_EXIT_MMIO where run->mmio is initialized.drivers/kvm/kvm_main.c drivers/kvm/svm.c drivers/kvm/vmx.c+1 -30 replies
15/104KVM: Use standard CR8 flags, and fix TPR definitiondrivers/kvm/kvm_main.c include/asm-i386/processor-flags.h+3 -30 replies
16/104KVM: x86 emulator: fix cmov for writeback changesdrivers/kvm/x86_emulate.c+11 -110 replies
17/104KVM: x86 emulator: fix faulty check for two-byte opcodedrivers/kvm/x86_emulate.c+1 -10 replies
18/104KVM: Return if the pdptrs are invalid when the guest turns on PAE.drivers/kvm/kvm_main.c+1 -00 replies
19/104KVM: Hoist kvm_mmu_reload() out of the critical sectiondrivers/kvm/vmx.c+4 -40 replies
20/104KVM: Move gfn_to_page out of kmap/unmap pairsdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/mmu.c +1 more+52 -390 replies
21/104KVM: VMX: Import some constants of vmcs from IA32 SDMdrivers/kvm/vmx.c drivers/kvm/vmx.h+55 -300 replies
22/104KVM: Remove dead code in the cmpxchg instruction emulationdrivers/kvm/x86_emulate.c+0 -20 replies
23/104KVM: load_pdptrs() cleanupsdrivers/kvm/kvm_main.c+12 -100 replies
24/104KVM: Remove arch specific components from the general codedrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/kvm_svm.h +2 more+397 -3060 replies
25/104KVM: Dynamically allocate vcpusdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/kvm_svm.h +2 more+236 -2180 replies
26/104KVM: VMX: Improve the method of writing vmcs controldrivers/kvm/vmx.c+102 -450 replies
27/104KVM: add hypercall nr to kvm_rundrivers/kvm/kvm_main.c include/linux/kvm.h+2 -00 replies
28/104KVM: Use the scheduler preemption notifiers to make kvm preemptibledrivers/kvm/Kconfig drivers/kvm/kvm.h drivers/kvm/kvm_main.c +3 more+56 -220 replies
29/104KVM: Convert vm lock to a mutexdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/mmu.c +2 more+46 -500 replies
30/104KVM: fx_init() needs preemption disabled while it plays with the FPU statedrivers/kvm/kvm_main.c+3 -00 replies
31/104KVM: VMX: pass vcpu_vmx internallydrivers/kvm/vmx.c+65 -750 replies
32/104KVM: Remove three magic numbersdrivers/kvm/kvm_main.c drivers/kvm/svm.c+2 -20 replies
33/104KVM: SVM: de-containizationdrivers/kvm/svm.c+108 -1240 replies
34/104KVM: SVM: internal function name cleanupdrivers/kvm/svm.c+6 -60 replies
35/104KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpudrivers/kvm/kvm_main.c drivers/kvm/x86_emulate.c drivers/kvm/x86_emulate.h+36 -340 replies
36/104KVM: Remove kvm_{read,write}_guest()drivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+25 -880 replies
37/104KVM: Use kmem cache for allocating vcpusdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+23 -60 replies
38/104KVM: Use alignment properties of vcpu to simplify FPU opsdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c+25 -410 replies
39/104KVM: kvm_vm_ioctl_get_dirty_log restore "nothing dirty" optimizationdrivers/kvm/kvm_main.c+8 -50 replies
40/104KVM: VMX: Add cpu consistency checkdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+50 -180 replies
41/104KVM: Don't assign vcpu->cr3 if it's invalid: check first, set lastdrivers/kvm/kvm_main.c+3 -20 replies
42/104KVM: Cleanup mark_page_dirtydrivers/kvm/kvm_main.c+7 -170 replies
43/104KVM: SVM: Make set_msr_interception more reliabledrivers/kvm/svm.c+4 -50 replies
44/104KVM: Remove redundant alloc_vmcs_cpu declarationdrivers/kvm/vmx.c+0 -20 replies
45/104KVM: Fix defined but not used warning in drivers/kvm/vmx.cdrivers/kvm/vmx.c+2 -02 replies
46/104KVM: Remove stat_set from debugfsdrivers/kvm/kvm_main.c+1 -50 replies
47/104KVM: Remove unneeded kvm_dev_open and kvm_dev_release functions.drivers/kvm/kvm_main.c+0 -120 replies
48/104KVM: Add and use pr_unimpl for standard formatting of unimplemented featuresdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+19 -132 replies
49/104KVM: Use kmem_cache_free for kmem_cache_zalloc'ed objectsdrivers/kvm/svm.c drivers/kvm/vmx.c+4 -40 replies
50/104KVM: VMX: Remove a duplicated ia32e mode vm entry controldrivers/kvm/vmx.c drivers/kvm/vmx.h+4 -70 replies
51/104KVM: Remove useless assignmentdrivers/kvm/kvm_main.c+0 -20 replies
52/104KVM: Cleanup string I/O instruction emulationdrivers/kvm/kvm_main.c drivers/kvm/svm.c drivers/kvm/vmx.c +1 more+69 -2080 replies
53/104KVM: Clean up kvm_setup_pio()drivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +2 more+48 -350 replies
55/104KVM: Communicate cr8 changes to userspacedrivers/kvm/vmx.c include/linux/kvm.h+3 -10 replies
56/104KVM: x86 emulator: implement 'and $imm, %{al|ax|eax}'drivers/kvm/x86_emulate.c+19 -20 replies
57/104KVM: x86 emulator: implement 'jmp rel' instruction (opcode 0xe9)drivers/kvm/x86_emulate.c+14 -20 replies
58/104KVM: x86 emulator: Implement 'jmp rel short' instruction (opcode 0xeb)drivers/kvm/x86_emulate.c+2 -10 replies
59/104KVM: x86 emulator: implement 'push reg' (opcodes 0x50-0x57)drivers/kvm/x86_emulate.c+15 -10 replies
60/104KVM: VMX: allow rmode_tss_base() to work with >2G of guest memorydrivers/kvm/vmx.c+1 -10 replies
61/104KVM: Support more memory slotsdrivers/kvm/kvm.h+1 -10 replies
62/104KVM: X86 emulator: fix 'push reg' writebackdrivers/kvm/x86_emulate.c+0 -10 replies
63/104KVM: VMX: Split segments reload in vmx_load_host_state()drivers/kvm/vmx.c+12 -100 replies
64/104KVM: Add support for in-kernel PIC emulationdrivers/kvm/Makefile drivers/kvm/i8259.c drivers/kvm/irq.c +6 more+770 -240 replies
65/104KVM: Define and use cr8 access functionsdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+40 -170 replies
66/104KVM: Emulate local APIC in kerneldrivers/kvm/Makefile drivers/kvm/irq.c drivers/kvm/irq.h +6 more+1067 -330 replies
67/104KVM: In-kernel I/O APIC modeldrivers/kvm/Makefile drivers/kvm/ioapic.c drivers/kvm/irq.c +3 more+461 -80 replies
68/104KVM: Emulate hlt in the kerneldrivers/kvm/i8259.c drivers/kvm/irq.c drivers/kvm/kvm.h +4 more+57 -110 replies
69/104KVM: Protect in-kernel pio using kvm->lockdrivers/kvm/kvm_main.c+6 -00 replies
70/104KVM: Add get/set irqchip ioctls for in-kernel PIC live migration supportdrivers/kvm/i8259.c drivers/kvm/irq.h drivers/kvm/kvm_main.c +1 more+124 -00 replies
71/104KVM: Bypass irq_pending get/set when using in kernel irqchipdrivers/kvm/kvm_main.c+14 -80 replies
72/104KVM: in-kernel IOAPIC save and restore supportdrivers/kvm/irq.h drivers/kvm/kvm.h drivers/kvm/kvm_main.c +1 more+48 -50 replies
73/104KVM: in-kernel LAPIC save and restore supportdrivers/kvm/irq.h drivers/kvm/kvm_main.c drivers/kvm/lapic.c +1 more+68 -00 replies
74/104KVM: pending irq save/restoredrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+56 -30 replies
75/104KVM: VMX: Use shadow TPR/cr8 for 64-bits guestsdrivers/kvm/irq.h drivers/kvm/lapic.c drivers/kvm/vmx.c +1 more+81 -40 replies
76/104KVM: Keep track of missed timer irq injectionsdrivers/kvm/irq.c drivers/kvm/irq.h drivers/kvm/kvm_main.c +3 more+69 -250 replies
77/104KVM: Migrate lapic hrtimer when vcpu moves to another cpudrivers/kvm/irq.h drivers/kvm/lapic.c drivers/kvm/svm.c +1 more+19 -10 replies
78/104KVM: disable tpr/cr8 sync when in-kernel APIC is useddrivers/kvm/kvm_main.c+2 -10 replies
79/104KVM: deliver PIC interrupt only to vcpu0drivers/kvm/irq.c drivers/kvm/irq.h drivers/kvm/lapic.c+28 -50 replies
80/104KVM: round robin for APIC lowest priority delivery modedrivers/kvm/kvm.h drivers/kvm/lapic.c+29 -50 replies
81/104KVM: enable in-kernel APIC INIT/SIPI handlingdrivers/kvm/irq.h drivers/kvm/kvm.h drivers/kvm/kvm_main.c +2 more+85 -160 replies
82/104KVM: Set the ET flag in CR0 after initializing FXdrivers/kvm/kvm_main.c+1 -00 replies
83/104KVM: Remove the unused invlpg member of struct kvm_arch_ops.drivers/kvm/kvm.h drivers/kvm/svm.c+0 -70 replies
84/104KVM: Clean up unloved invlpg emulationdrivers/kvm/kvm.h drivers/kvm/svm.c drivers/kvm/x86_emulate.c+3 -170 replies
85/104KVM: Keep control regs in syncdrivers/kvm/kvm_main.c+4 -40 replies
86/104KVM: Hoist SVM's get_cs_db_l_bits into core code.drivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c+12 -90 replies
87/104KVM: Simplify memory allocationdrivers/kvm/kvm.h drivers/kvm/kvm_main.c+3 -370 replies
88/104KVM: Rename kvm_arch_ops to kvm_x86_opsdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/mmu.c +4 more+96 -960 replies
89/104KVM: MMU: Don't do GFP_NOWAIT allocationsdrivers/kvm/mmu.c+10 -240 replies
90/104KVM: VMX: Move vm entry failure handling to the exit handlerdrivers/kvm/vmx.c+10 -90 replies
91/104KVM: Move main vcpu loop into subarch independent codedrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+187 -2170 replies
92/104KVM: VMX: Fix exit qualification width on i386drivers/kvm/vmx.c+6 -60 replies
93/104KVM: x86 emulator: push imm8drivers/kvm/x86_emulate.c+14 -30 replies
94/104KVM: x86 emulator: call neardrivers/kvm/x86_emulate.c+21 -10 replies
95/104KVM: x86 emulator: pushfdrivers/kvm/x86_emulate.c+9 -20 replies
96/104KVM: Improve emulation failure reportingdrivers/kvm/kvm.h drivers/kvm/kvm_main.c drivers/kvm/svm.c +1 more+11 -100 replies
97/104KVM: x86 emulator: sort opcodes into ascending orderdrivers/kvm/x86_emulate.c+49 -500 replies
98/104KVM: x86 emulator: imlpement jump conditional relativedrivers/kvm/x86_emulate.c+60 -10 replies
99/104KVM: X86 emulator: jump conditional shortdrivers/kvm/x86_emulate.c+13 -20 replies
100/104KVM: x86 emulator: leadrivers/kvm/x86_emulate.c+4 -10 replies
101/104KVM: x86 emulator: jmp absdrivers/kvm/x86_emulate.c+6 -00 replies
102/104KVM: x86 emulator: fix src, dst value initializationdrivers/kvm/x86_emulate.c+2 -00 replies
103/104KVM: x86 emulator: popfdrivers/kvm/x86_emulate.c+4 -10 replies

Reviews trailers per patch

1 of 102 patches has a Reviewed-by or Acked-by.

PatchH. Peter AnvinRusty Russell
1/104
2/104
3/104
4/104
5/104
6/104
7/104
8/104
9/104
10/104
11/104
12/104
13/104
14/104
15/104A-b
16/104
17/104
18/104
19/104
20/104
21/104
22/104
23/104
24/104
25/104
26/104
27/104
28/104
29/104
30/104
31/104
32/104
33/104
34/104
35/104
36/104
37/104
38/104
39/104
40/104
41/104sSigned-off-by
42/104
43/104
44/104
45/104
46/104
47/104
48/104
49/104
50/104
51/104
52/104
53/104
55/104
56/104
57/104
58/104
59/104
60/104
61/104
62/104
63/104
64/104
65/104
66/104
67/104
68/104
69/104
70/104
71/104
72/104
73/104
74/104
75/104
76/104
77/104
78/104
79/104
80/104
81/104
82/104
83/104
84/104
85/104
86/104
87/104
88/104
89/104
90/104
91/104
92/104
93/104
94/104
95/104
96/104
97/104
98/104
99/104
100/104
101/104
102/104
103/104

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 000/104] KVM patch queue for the 2.6.24 merge window

The following represents the patch queue for the 2.6.24, posted here for review. Most of the patches have already been on kvm-devel (and all of them on kvm-commits), but some folding has occured to merge fixes and to make the whole series bisect-friendly.

A few patches are likely to change in the near future; they will be reposted if they do.

The most visible new feature is the in-kernel lapic/ioapic/pic emulation; others include making kvm preemptible (a first step for guest swapping), additional x86 emulator work, and Rusty Unleashed.

Amit Shah (1):
KVM: Set the ET flag in CR0 after initializing FX

Aurelien Jarno (1):
KVM: Remove dead code in the cmpxchg instruction emulation

Avi Kivity (11):
KVM: Future-proof the exit information union ABI
KVM: x86 emulator: fix cmov for writeback changes
KVM: x86 emulator: fix faulty check for two-byte opcode
KVM: Use the scheduler preemption notifiers to make kvm preemptible
KVM: Close minor race in signal handling
KVM: X86 emulator: fix 'push reg' writeback
KVM: MMU: Don't do GFP_NOWAIT allocations
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
KVM: Skip pio instruction when it is emulated, not executed

Christian Ehrhardt (1):
KVM: Rename kvm_arch_ops to kvm_x86_ops

Eddie Dong (11):
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

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

Gregory Haskins (1):
KVM: Remove arch specific components from the general code

He, Qing (7):
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: VMX: Fix exit qualification width on i386

Izik Eidus (2):
KVM: VMX: allow rmode_tss_base() to work with >2G of guest memory
KVM: Support more memory slots

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

Laurent Vivier (7):
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

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

Nguyen Anh Quynh (1):
KVM: Fix *nopage() in kvm_main.c

Nitin A Kamble (14):
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

Qing He (2):
KVM: SMP: Add vcpu_id field in struct vcpu
KVM: deliver PIC interrupt only to vcpu0

Rusty Russell (33):
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
KVM: Use standard CR3 flags, tighten checking
KVM: 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: 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.

Shaohua Li (3):
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

Yang, Sheng (5):
KVM: VMX: Import some constants of vmcs from IA32 SDM
KVM: VMX: Improve the method of writing vmcs control
KVM: VMX: Add cpu consistency check
KVM: Communicate cr8 changes to userspace
KVM: VMX: Use shadow TPR/cr8 for 64-bits guests

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/