Skip to content

KVM updates for 2.6.32 merge window (1/4)

Avi Kivity kvm lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest48 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/48KVM: VMX: Properly handle software interrupt re-injection in real modearch/x86/kvm/vmx.c+6 -20 replies
2/48KVM: Replace MSR_IA32_TIME_STAMP_COUNTER with MSR_IA32_TSC of msr-index.harch/x86/include/asm/kvm_host.h arch/x86/kvm/svm.c arch/x86/kvm/vmx.c +1 more+6 -90 replies
3/48KVM: Add MCE supportarch/x86/include/asm/kvm.h arch/x86/include/asm/kvm_host.h arch/x86/kvm/x86.c +1 more+222 -240 replies
4/48KVM: Use MSR names in place of addressarch/x86/kvm/x86.c+2 -20 replies
5/48KVM: fix cpuid E2BIG handling for extended request typesarch/x86/kvm/x86.c+4 -00 replies
6/48KVM: x86 emulator: Implement zero-extended immediate decodingarch/x86/kvm/x86_emulate.c+15 -00 replies
7/48KVM: x86 emulator: fix jmp far decoding (opcode 0xea)arch/x86/kvm/x86_emulate.c+1 -10 replies
8/48KVM: cleanup arch/x86/kvm/Makefilearch/x86/kvm/Makefile+13 -190 replies
9/48KVM: Drop interrupt shadow when single stepping should be done only on VMXarch/x86/kvm/vmx.c arch/x86/kvm/x86.c+8 -30 replies
10/48KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfigarch/ia64/kvm/Kconfig arch/powerpc/kvm/Kconfig arch/s390/kvm/Kconfig +2 more+13 -170 replies
11/48KVM: irqfdarch/x86/kvm/Kconfig arch/x86/kvm/Makefile arch/x86/kvm/x86.c +5 more+383 -10 replies
12/48KVM: Allow PIT emulation without speaker portarch/x86/kvm/i8254.c arch/x86/kvm/i8254.h arch/x86/kvm/x86.c +1 more+32 -80 replies
13/48KVM: ia64: Correct itc_offset calculationsarch/ia64/kvm/kvm-ia64.c+1 -10 replies
14/48KVM: s390: infrastructure to kick vcpus out of guest statearch/s390/include/asm/kvm_host.h arch/s390/kvm/intercept.c arch/s390/kvm/kvm-s390.c +2 more+54 -270 replies
15/48KVM: s390: fix signal handlingarch/s390/kvm/kvm-s390.c+3 -10 replies
16/48KVM: s390: streamline memslot handlingarch/s390/include/asm/kvm_host.h arch/s390/kvm/gaccess.h arch/s390/kvm/intercept.c +3 more+62 -540 replies
17/48KVM: Downsize max support MSI-X entry to 256include/linux/kvm.h+1 -10 replies
18/48KVM: SVM: use explicit 64bit storage for sysenter valuesarch/x86/kvm/kvm_svm.h arch/x86/kvm/svm.c+9 -60 replies
19/48KVM: No disable_irq for MSI/MSI-X interrupt on device assignmentvirt/kvm/kvm_main.c+8 -140 replies
20/48KVM: remove redundant declarationsinclude/linux/kvm_host.h+0 -20 replies
21/48KVM: SVM: Fold kvm_svm.h info svm.carch/x86/kvm/kvm_svm.h arch/x86/kvm/svm.c+41 -550 replies
22/48KVM: powerpc: fix some init/exit annotationsarch/powerpc/kvm/44x.c arch/powerpc/kvm/booke.c arch/powerpc/kvm/e500.c+5 -50 replies
23/48KVM: Clean up coalesced_mmio destructionvirt/kvm/coalesced_mmio.c+4 -10 replies
24/48KVM: cleanup io_device codearch/x86/kvm/i8254.c arch/x86/kvm/i8259.c arch/x86/kvm/lapic.c +5 more+109 -530 replies
25/48KVM: do not register i8254 PIO regions until we are initializedarch/x86/kvm/i8254.c+8 -90 replies
26/48KVM: VMX: Avoid duplicate ept tlb flush when setting cr3arch/x86/kvm/vmx.c+0 -10 replies
27/48KVM: VMX: Simplify pdptr and cr3 managementarch/x86/kvm/vmx.c+15 -60 replies
28/48KVM: Cache pdptrsarch/x86/include/asm/kvm_host.h arch/x86/kvm/kvm_cache_regs.h arch/x86/kvm/mmu.c +4 more+63 -130 replies
29/48KVM: VMX: Fix reporting of unhandled EPT violationsarch/x86/kvm/vmx.c+2 -20 replies
30/48KVM: Calculate available entries in coalesced mmio ringvirt/kvm/coalesced_mmio.c+5 -50 replies
31/48KVM: ppc: e500: Move to Book-3e MMU definitionsarch/powerpc/kvm/e500_tlb.c arch/powerpc/kvm/e500_tlb.h+8 -80 replies
32/48KVM: ppc: e500: Directly pass pvr to guestarch/powerpc/include/asm/kvm_host.h arch/powerpc/kvm/e500.c arch/powerpc/kvm/emulate.c+1 -50 replies
33/48KVM: ppc: e500: Add MMUCFG and PVR emulationarch/powerpc/kvm/e500_emulate.c arch/powerpc/kvm/emulate.c+5 -00 replies
34/48KVM: Cleanup LAPIC interfacearch/x86/kvm/lapic.c+0 -120 replies
35/48KVM: Grab pic lock in kvm_pic_clear_isr_ackarch/x86/kvm/i8259.c+2 -00 replies
36/48KVM: move coalesced_mmio locking to its own devicevirt/kvm/coalesced_mmio.c virt/kvm/coalesced_mmio.h+5 -60 replies
37/48KVM: introduce irq_lock, use it to protect ioapicinclude/linux/kvm_host.h virt/kvm/ioapic.c virt/kvm/kvm_main.c+8 -10 replies
38/48KVM: switch irq injection/acking data structures to irq_lockarch/ia64/kvm/kvm-ia64.c arch/x86/kvm/i8254.c arch/x86/kvm/lapic.c +5 more+58 -300 replies
39/48KVM: VMX: Support Unrestricted Guest featurearch/x86/include/asm/kvm_host.h arch/x86/include/asm/vmx.h arch/x86/kvm/vmx.c+62 -110 replies
40/48KVM: Reorder ioctls in kvm.hinclude/linux/kvm.h+5 -50 replies
41/48KVM: VMX: Move rmode structure to vmx-specific codearch/x86/include/asm/kvm_host.h arch/x86/kvm/vmx.c+44 -440 replies
42/48KVM: MMU: Fix is_dirty_pte()arch/x86/kvm/mmu.c+1 -10 replies
43/48KVM: MMU: Adjust pte accessors to explicitly indicate guest or shadow ptearch/x86/kvm/mmu.c arch/x86/kvm/mmu.h arch/x86/kvm/paging_tmpl.h +1 more+21 -210 replies
44/48KVM: MMU: s/shadow_pte/spte/arch/x86/kvm/mmu.c arch/x86/kvm/paging_tmpl.h+59 -590 replies
45/48KVM: Introduce kvm_vcpu_is_bsp() function.arch/ia64/kvm/kvm-ia64.c arch/ia64/kvm/vcpu.c arch/x86/kvm/i8254.c +8 more+28 -180 replies
46/48KVM: Use pointer to vcpu instead of vcpu_id in timer code.arch/x86/kvm/i8254.c arch/x86/kvm/kvm_timer.h arch/x86/kvm/lapic.c +1 more+4 -40 replies
47/48KVM: Break dependency between vcpu index in vcpus array and vcpu_id.arch/ia64/include/asm/kvm_host.h arch/ia64/kvm/Kconfig arch/ia64/kvm/kvm-ia64.c +6 more+55 -330 replies
48/48KVM: Use macro to iterate over vcpus.arch/ia64/kvm/kvm-ia64.c arch/powerpc/kvm/powerpc.c arch/s390/kvm/kvm-s390.c +6 more+77 -750 replies

Reviews trailers per patch

4 of 48 patches have a Reviewed-by or Acked-by.

PatchChris WrightXiantao Zhang
1/48
2/48
3/48
4/48
5/48
6/48
7/48
8/48
9/48
10/48
11/48
12/48
13/48A-b
14/48
15/48
16/48
17/48
18/48
19/48
20/48
21/48
22/48
23/48A-b
24/48A-b
25/48A-b
26/48
27/48
28/48
29/48
30/48
31/48
32/48
33/48
34/48
35/48
36/48
37/48
38/48
39/48
40/48
41/48
42/48
43/48
44/48
45/48
46/48
47/48
48/48

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 00/48] KVM updates for 2.6.32 merge window (1/4)

Here is the first of four batches containing the KVM changes for 2.6.32. The 2.6.32 cycle will see scalability improvements, support for new hardware features, improvements in nested svm support, and eventfd-based infrastructure for connecting kvm guests to components in the host kernel, host userspace, and other guests. Also of note is conversion to the new trace infrastructure and x2apic emulation.

Andre Przywara (1):
KVM: SVM: use explicit 64bit storage for sysenter values

Avi Kivity (14):
KVM: x86 emulator: Implement zero-extended immediate decoding
KVM: x86 emulator: fix jmp far decoding (opcode 0xea)
KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig
KVM: SVM: Fold kvm_svm.h info svm.c
KVM: VMX: Avoid duplicate ept tlb flush when setting cr3
KVM: VMX: Simplify pdptr and cr3 management
KVM: Cache pdptrs
KVM: VMX: Fix reporting of unhandled EPT violations
KVM: Calculate available entries in coalesced mmio ring
KVM: Reorder ioctls in kvm.h
KVM: VMX: Move rmode structure to vmx-specific code
KVM: MMU: Fix is_dirty_pte()
KVM: MMU: Adjust pte accessors to explicitly indicate guest or shadow
pte
KVM: MMU: s/shadow_pte/spte/

Christian Ehrhardt (4):
KVM: s390: infrastructure to kick vcpus out of guest state
KVM: s390: fix signal handling
KVM: s390: streamline memslot handling
KVM: remove redundant declarations

Christoph Hellwig (1):
KVM: cleanup arch/x86/kvm/Makefile

Gleb Natapov (6):
KVM: VMX: Properly handle software interrupt re-injection in real
mode
KVM: Drop interrupt shadow when single stepping should be done only
on VMX
KVM: Introduce kvm_vcpu_is_bsp() function.
KVM: Use pointer to vcpu instead of vcpu_id in timer code.
KVM: Break dependency between vcpu index in vcpus array and vcpu_id.
KVM: Use macro to iterate over vcpus.

Gregory Haskins (4):
KVM: irqfd
KVM: Clean up coalesced_mmio destruction
KVM: cleanup io_device code
KVM: do not register i8254 PIO regions until we are initialized

Huang Ying (1):
KVM: Add MCE support

Jan Kiszka (2):
KVM: Allow PIT emulation without speaker port
KVM: Cleanup LAPIC interface

Jaswinder Singh Rajput (2):
KVM: Replace MSR_IA32_TIME_STAMP_COUNTER with MSR_IA32_TSC of
msr-index.h
KVM: Use MSR names in place of address

Jes Sorensen (1):
KVM: ia64: Correct itc_offset calculations

Liu Yu (3):
KVM: ppc: e500: Move to Book-3e MMU definitions
KVM: ppc: e500: Directly pass pvr to guest
KVM: ppc: e500: Add MMUCFG and PVR emulation

Marcelo Tosatti (4):
KVM: Grab pic lock in kvm_pic_clear_isr_ack
KVM: move coalesced_mmio locking to its own device
KVM: introduce irq_lock, use it to protect ioapic
KVM: switch irq injection/acking data structures to irq_lock

Mark McLoughlin (1):
KVM: fix cpuid E2BIG handling for extended request types

Nitin A Kamble (1):
KVM: VMX: Support Unrestricted Guest feature

Sheng Yang (2):
KVM: Downsize max support MSI-X entry to 256
KVM: No disable_irq for MSI/MSI-X interrupt on device assignment

Stephen Rothwell (1):
KVM: powerpc: fix some init/exit annotations

 arch/ia64/include/asm/kvm_host.h    |    1 -
 arch/ia64/kvm/Kconfig               |    8 +-
 arch/ia64/kvm/kvm-ia64.c            |   41 ++---
 arch/ia64/kvm/vcpu.c                |    4 +-
 arch/powerpc/include/asm/kvm_host.h |    1 -
 arch/powerpc/kvm/44x.c              |    4 +-
 arch/powerpc/kvm/Kconfig            |    3 +-
 arch/powerpc/kvm/booke.c            |    2 +-
 arch/powerpc/kvm/e500.c             |    7 +-
 arch/powerpc/kvm/e500_emulate.c     |    3 +
 arch/powerpc/kvm/e500_tlb.c         |   10 +-
 arch/powerpc/kvm/e500_tlb.h         |    6 +-
 arch/powerpc/kvm/emulate.c          |    4 +-
 arch/powerpc/kvm/powerpc.c          |   16 +-
 arch/s390/include/asm/kvm_host.h    |    9 +-
 arch/s390/kvm/Kconfig               |    6 +-
 arch/s390/kvm/gaccess.h             |   23 ++--
 arch/s390/kvm/intercept.c           |   18 ++-
 arch/s390/kvm/kvm-s390.c            |   80 ++++-----
 arch/s390/kvm/kvm-s390.h            |   32 ++++-
 arch/s390/kvm/sigp.c                |   60 ++++---
 arch/x86/include/asm/kvm.h          |    1 +
 arch/x86/include/asm/kvm_host.h     |   33 ++--
 arch/x86/include/asm/vmx.h          |    1 +
 arch/x86/kvm/Kconfig                |    9 +-
 arch/x86/kvm/Makefile               |   32 ++--
 arch/x86/kvm/i8254.c                |   70 +++++---
 arch/x86/kvm/i8254.h                |    2 +-
 arch/x86/kvm/i8259.c                |   28 ++-
 arch/x86/kvm/kvm_cache_regs.h       |    9 +
 arch/x86/kvm/kvm_svm.h              |   51 ------
 arch/x86/kvm/kvm_timer.h            |    2 +-
 arch/x86/kvm/lapic.c                |   47 +++---
 arch/x86/kvm/mmu.c                  |  127 +++++++-------
 arch/x86/kvm/mmu.h                  |    2 +-
 arch/x86/kvm/paging_tmpl.h          |   40 ++--
 arch/x86/kvm/svm.c                  |   86 ++++++++--
 arch/x86/kvm/timer.c                |    2 +-
 arch/x86/kvm/vmx.c                  |  210 ++++++++++++++++-------
 arch/x86/kvm/x86.c                  |  305 ++++++++++++++++++++++++++------
 arch/x86/kvm/x86_emulate.c          |   17 ++-
 include/linux/kvm.h                 |   57 ++++++-
 include/linux/kvm_host.h            |   54 ++++++-
 virt/kvm/Kconfig                    |   14 ++
 virt/kvm/coalesced_mmio.c           |   44 +++--
 virt/kvm/coalesced_mmio.h           |    1 +
 virt/kvm/eventfd.c                  |  329 +++++++++++++++++++++++++++++++++++
 virt/kvm/ioapic.c                   |   31 +++-
 virt/kvm/iodev.h                    |   29 ++-
 virt/kvm/irq_comm.c                 |   40 ++++-
 virt/kvm/kvm_main.c                 |  130 ++++++++------
 51 files changed, 1502 insertions(+), 639 deletions(-)
 delete mode 100644 arch/x86/kvm/kvm_svm.h
 create mode 100644 virt/kvm/Kconfig
 create mode 100644 virt/kvm/eventfd.c