[GIT PULL] KVM Updates for the 2.6.27 merge window - Kernel

This is a discussion on [GIT PULL] KVM Updates for the 2.6.27 merge window - Kernel ; Linus, please pull from the repo and branch: git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git kvm-updates-2.6.27 to receive the 2.6.27 merge window kvm updates. Changes include mmio coalescing, x86 emulator updates, nmi support, mtrr emualtion, and some kvmtrace work. Shortlog, diffstat: Adrian Bunk (1): x86: KVM ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [GIT PULL] KVM Updates for the 2.6.27 merge window

  1. [GIT PULL] KVM Updates for the 2.6.27 merge window

    Linus, please pull from the repo and branch:

    git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git kvm-updates-2.6.27

    to receive the 2.6.27 merge window kvm updates. Changes include mmio
    coalescing, x86 emulator updates, nmi support, mtrr emualtion, and
    some kvmtrace work.

    Shortlog, diffstat:

    Adrian Bunk (1):
    x86: KVM guest: make kvm_smp_prepare_boot_cpu() static

    Anthony Liguori (1):
    KVM: Handle vma regions with no backing page

    Aurelien Jarno (1):
    KVM: PIT: support mode 3

    Avi Kivity (26):
    KVM: VMX: Trivial vmcs_write64() code simplification
    KVM: MMU: Fix false flooding when a pte points to page table
    KVM: Handle virtualization instruction #UD faults during reboot
    KVM: VMX: Add list of potentially locally cached vcpus
    KVM: Remove decache_vcpus_on_cpu() and related callbacks
    KVM: Remove unnecessary ->decache_regs() call
    KVM: Order segment register constants in the same way as cpu operand encoding
    KVM: MTRR support
    KVM: MMU: Optimize prefetch_page()
    KVM: x86 emulator: simplify push imm8 emulation
    KVM: x86 emulator: implement 'push imm' (opcode 0x68)
    KVM: MMU: Move nonpaging_prefetch_page()
    KVM: MMU: Avoid page prefetch on SVM
    KVM: Use printk_rlimit() instead of reporting emulation failures just once
    KVM: x86 emulator: handle undecoded rex.b with r/m = 5 in certain cases
    KVM: x86 emulator: simplify sib decoding
    KVM: x86 emulator: simplify r/m decoding
    KVM: x86 emulator: simplify rip relative decoding
    KVM: x86 emulator: avoid segment base adjust for lea
    KVM: x86 emulator: lazily evaluate segment registers
    KVM: MMU: When debug is enabled, make it a run-time parameter
    KVM: MMU: Fix printk format
    KVM: Apply the kernel sigmask to vcpus blocked due to being uninitialized
    KVM: Prefix some x86 low level function with kvm_, to avoid namespace issues
    KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts
    KVM: Adjust smp_call_function_mask() callers to new requirements

    Ben-Ami Yassour (1):
    KVM: check injected pic irq within valid pic irqs

    Carsten Otte (2):
    KVM: s390: dont allocate dirty bitmap
    KVM: Fix memory leak on guest exit

    Chris Lalancette (2):
    KVM: SVM: Fake MSR_K7 performance counters
    KVM: VMX: Fake emulate Intel perfctr MSRs

    Christian Borntraeger (3):
    KVM: remove long -> void *user -> long cast
    KVM: s390: Set guest storage limit and offset to sane values
    KVM: s390: rename private structures

    Glauber Costa (2):
    KVM: Do not calculate linear rip in emulation failure report
    KVM: x86 emulator: emulate clflush

    Guillaume Thouvenin (6):
    KVM: Prefixes segment functions that will be exported with "kvm_"
    KVM: x86 emulator: Update c->dst.bytes in decode instruction
    KVM: x86 emulator: add support for jmp far 0xea
    KVM: x86 emulator: adds support to mov r,imm (opcode 0xb8) instruction
    KVM: x86 emulator: Add support for mov seg, r (0x8e) instruction
    KVM: x86 emulator: Add support for mov r, sreg (0x8c) instruction

    Harvey Harrison (1):
    KVM: add statics were possible, function definition in lapic.h

    Joerg Roedel (7):
    KVM: VMX: move APIC_ACCESS trace entry to generic code
    KVM: SVM: implement dedicated NMI exit handler
    KVM: SVM: implement dedicated INTR exit handler
    KVM: add missing kvmtrace bits
    KVM: SVM: add missing kvmtrace markers
    KVM: SVM: add tracing support for TDP page faults
    KVM: SVM: fix suspend/resume support

    Laurent Vivier (5):
    KVM: kvm_io_device: extend in_range() to manage len and write attribute
    KVM: Add coalesced MMIO support (common part)
    KVM: Add coalesced MMIO support (x86 part)
    KVM: Add coalesced MMIO support (powerpc part)
    KVM: Add coalesced MMIO support (ia64 part)

    Marcelo Tosatti (5):
    KVM: only abort guest entry if timer count goes from 0->1
    KVM: move slots_lock acquision down to vapic_exit
    KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held
    KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction
    KVM: MMU: improve invalid shadow root page handling

    Mohammed Gamal (2):
    KVM: x86 emulator: emulate nop and xchg reg, acc (opcodes 0x90 - 0x97)
    KVM: x86 emulator: Fix HLT instruction

    Sheng Yang (4):
    KVM: IOAPIC/LAPIC: Enable NMI support
    KVM: VMX: Enable NMI with in-kernel irqchip
    KVM: VMX: Fix a wrong usage of vmcs_config
    KVM: VMX: Add ept_sync_context in flush_tlb

    Tan, Li (1):
    KVM: Support mixed endian machines

    arch/ia64/kvm/Makefile | 3 +-
    arch/ia64/kvm/kvm-ia64.c | 20 +--
    arch/powerpc/kvm/Makefile | 2 +-
    arch/powerpc/kvm/powerpc.c | 11 +-
    arch/s390/kvm/interrupt.c | 32 ++--
    arch/s390/kvm/kvm-s390.c | 21 ++-
    arch/s390/kvm/priv.c | 2 +-
    arch/s390/kvm/sigp.c | 20 ++--
    arch/x86/kernel/kvmclock.c | 2 +-
    arch/x86/kvm/Makefile | 3 +-
    arch/x86/kvm/i8254.c | 24 ++--
    arch/x86/kvm/i8259.c | 9 +-
    arch/x86/kvm/irq.h | 2 +
    arch/x86/kvm/lapic.c | 14 ++-
    arch/x86/kvm/lapic.h | 1 +
    arch/x86/kvm/mmu.c | 62 ++++++---
    arch/x86/kvm/mmu.h | 3 +-
    arch/x86/kvm/paging_tmpl.h | 28 ++--
    arch/x86/kvm/svm.c | 131 +++++++++++-----
    arch/x86/kvm/vmx.c | 230 +++++++++++++++++++++-------
    arch/x86/kvm/vmx.h | 12 ++-
    arch/x86/kvm/x86.c | 299 ++++++++++++++++++++-----------------
    arch/x86/kvm/x86_emulate.c | 257 ++++++++++++++++++++------------
    include/asm-ia64/kvm_host.h | 3 +
    include/asm-powerpc/kvm_host.h | 2 +
    include/asm-s390/kvm_host.h | 36 +++---
    include/asm-x86/kvm.h | 1 +
    include/asm-x86/kvm_host.h | 69 +++++++--
    include/asm-x86/kvm_x86_emulate.h | 11 +-
    include/linux/kvm.h | 33 ++++-
    include/linux/kvm_host.h | 11 +-
    virt/kvm/coalesced_mmio.c | 156 +++++++++++++++++++
    virt/kvm/coalesced_mmio.h | 23 +++
    virt/kvm/ioapic.c | 23 +++-
    virt/kvm/iodev.h | 8 +-
    virt/kvm/kvm_main.c | 153 ++++++++++++++++---
    virt/kvm/kvm_trace.c | 18 ++-
    37 files changed, 1215 insertions(+), 520 deletions(-)
    create mode 100644 virt/kvm/coalesced_mmio.c
    create mode 100644 virt/kvm/coalesced_mmio.h
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. [patch] KVM: fix exception entry / build bug, on 64-bit


    hi Avi,

    * Avi Kivity wrote:

    > KVM: Handle virtualization instruction #UD faults during reboot


    -tip testing found a build failure on 64-bit x86, caused by this commit.
    Find the fix below.

    Thanks,

    Ingo

    -------------------->
    commit 33a37eb411d193851c334060780ab834ba534292
    Author: Ingo Molnar
    Date: Mon Jul 21 10:57:15 2008 +0200

    KVM: fix exception entry / build bug, on 64-bit

    -tip testing found this build bug:

    arch/x86/kvm/built-in.o.text.fixup+0x1): relocation truncated to fit: R_X86_64_32 against `.text'
    arch/x86/kvm/built-in.o.text.fixup+0xb): relocation truncated to fit: R_X86_64_32 against `.text'
    arch/x86/kvm/built-in.o.text.fixup+0x15): relocation truncated to fit: R_X86_64_32 against `.text'
    arch/x86/kvm/built-in.o.text.fixup+0x1f): relocation truncated to fit: R_X86_64_32 against `.text'
    arch/x86/kvm/built-in.o.text.fixup+0x29): relocation truncated to fit: R_X86_64_32 against `.text'

    Introduced by commit 4ecac3fd. The problem is that 'push' will default
    to 32-bit, which is not wide enough as a fixup address. (and which would
    crash on any real fixup event even if it was wide enough)

    Introduce KVM_EX_PUSH to get the proper address push width on 64-bit too.

    Signed-off-by: Ingo Molnar
    ---
    include/asm-x86/kvm_host.h | 8 +++++---
    1 files changed, 5 insertions(+), 3 deletions(-)

    diff --git a/include/asm-x86/kvm_host.h b/include/asm-x86/kvm_host.h
    index f995783..fdde0be 100644
    --- a/include/asm-x86/kvm_host.h
    +++ b/include/asm-x86/kvm_host.h
    @@ -703,9 +703,11 @@ enum {
    vcpu, 0, 0, 0, 0, 0, 0)

    #ifdef CONFIG_64BIT
    -#define KVM_EX_ENTRY ".quad"
    +# define KVM_EX_ENTRY ".quad"
    +# define KVM_EX_PUSH "pushq"
    #else
    -#define KVM_EX_ENTRY ".long"
    +# define KVM_EX_ENTRY ".long"
    +# define KVM_EX_PUSH "pushl"
    #endif

    /*
    @@ -719,7 +721,7 @@ asmlinkage void kvm_handle_fault_on_reboot(void);
    "666: " insn "\n\t" \
    ".pushsection .text.fixup, \"ax\" \n" \
    "667: \n\t" \
    - "push $666b \n\t" \
    + KVM_EX_PUSH " $666b \n\t" \
    "jmp kvm_handle_fault_on_reboot \n\t" \
    ".popsection \n\t" \
    ".pushsection __ex_table, \"a\" \n\t" \
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [patch] KVM: fix exception entry / build bug, on 64-bit

    Ingo Molnar wrote:
    > hi Avi,
    >
    > * Avi Kivity wrote:
    >
    >
    >> KVM: Handle virtualization instruction #UD faults during reboot
    >>

    >
    > -tip testing found a build failure on 64-bit x86, caused by this commit.
    > Find the fix below.
    >
    >


    Thanks. Applied this and will push to Linus later on.

    --
    error compiling committee.c: too many arguments to function

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread