From: Avi Kivity <avi@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
KVM list <kvm@vger.kernel.org>
Subject: [GIT PULL] KVM updates for the 2.6.38 merge window
Date: Mon, 10 Jan 2011 11:21:43 +0200 [thread overview]
Message-ID: <4D2ACFA7.6000502@redhat.com> (raw)
Linus, please pull from
git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-updates/2.6.38
to receive the KVM updates for the 2.6.38 merge window. Major features
include
- asynchronous page faults, which allow a guest to continue processing
interrupts even when its memory is being paged in; in the case of a
Linux 2.6.38+ guest, it will receive a notification that the host is
servicing a page fault, and may switch into another guest process
- AMD Bulldozer virtualization extensions: instruction decode assist,
clean bits, xsave/avx, flush-by-asid
as well as other minor enhancements and fixes.
Alexander Graf (1):
KVM: PPC: Fix compile warning
Andi Kleen (1):
KVM: Move KVM context switch into own function
Andre Przywara (8):
KVM: x86: fix CR8 handling
KVM: move complete_insn_gp() into x86.c
KVM: cleanup emulate_instruction
KVM: SVM: add new SVM feature bit names
KVM: SVM: enhance MOV CR intercept handler
KVM: SVM: enhance mov DR intercept handler
KVM: SVM: implement enhanced INVLPG intercept
KVM: SVM: copy instruction bytes from VMCB
Anthony Liguori (1):
KVM: VMX: add module parameter to avoid trapping HLT instructions
(v5)
Avi Kivity (36):
KVM: Don't reset mmu context unnecessarily when updating EFER
KVM: SVM: Move guest register save out of interrupts disabled section
KVM: SVM: Move svm->host_gs_base into a separate structure
KVM: SVM: Move fs/gs/ldt save/restore to heavyweight exit path
KVM: SVM: Fold save_host_msrs() and load_host_msrs() into their
callers
KVM: Avoid double interrupt injection with vapic
KVM: VMX: Disallow NMI while blocked by STI
KVM: SVM: Replace svm_has() by standard Linux cpuid accessors
KVM: Mask KVM_GET_SUPPORTED_CPUID data with Linux cpuid info
KVM: x86 emulator: drop unused #ifndef __KERNEL__
KVM: x86 emulator: drop DPRINTF()
KVM: x86 emulator: preserve an operand's segment identity
KVM: x86 emulator: do not perform address calculations on linear
addresses
KVM: VMX: Fold __vmx_vcpu_run() into vmx_vcpu_run()
KVM: Record instruction set in kvm_exit tracepoint
KVM: Add instruction-set-specific exit qualifications to kvm_exit
trace
KVM: x86 emulator: introduce struct x86_exception to communicate
faults
KVM: x86 emulator: make emulator memory callbacks return full
exception
KVM: x86 emulator: drop dead pf injection in emulate_popf()
KVM: x86 emulator: tighen up ->read_std() and ->write_std() error
checks
KVM: x86 emulator: simplify exception generation
KVM: Push struct x86_exception info the various gva_to_gpa variants
KVM: Push struct x86_exception into walk_addr()
KVM: Pull extra page fault information into struct x86_exception
KVM: Don't spin on virt instruction faults during reboot
KVM: VMX: Return 0 from a failed VMREAD
KVM: Fix build error on s390 due to missing tlbs_dirty
KVM: MMU: Fix incorrect direct page write protection due to ro
host page
KVM: Correct kvm_pio tracepoint count field
KVM guest: Fix kvm clock initialization when it's configured out
KVM: VMX: Add definitions for more vm entry/exit control bits
KVM: VMX: Optimize atomic EFER load
KVM: MMU: Initialize base_role for tdp mmus
KVM: VMX: Correct asm constraint in vmcs_load()/vmcs_clear()
KVM: Replace reads of vcpu->arch.cr3 by an accessor
KVM: Fetch guest cr3 from hardware on demand
Gleb Natapov (16):
Add get_user_pages() variant that fails if major fault is required.
KVM: Halt vcpu if page it tries to access is swapped out.
KVM: Retry fault before vmentry
KVM: Add memory slot versioning and use it to provide fast guest
write interface
KVM paravirt: Move kvm_smp_prepare_boot_cpu() from kvmclock.c to
kvm.c.
KVM: Add PV MSR to enable asynchronous page faults delivery.
KVM paravirt: Add async PF initialization to PV guest.
KVM: Handle async PF in a guest.
KVM: Inject asynchronous page fault into a PV guest if page is
swapped out.
KVM paravirt: Handle async PF in non preemptable context
KVM: Let host know whether the guest can handle async PF in
non-userspace context.
KVM: Send async PF when guest is not in userspace too.
KVM: improve hva_to_pfn() readability
KVM: x86: trace "exit to userspace" event
KVM: handle exit due to INVD in VMX
KVM: VMX: when entering real mode align segment base to 16 bytes
Heiko Carstens (2):
KVM: add cast within kvm_clear_guest_page to fix warning
KVM: get rid of warning within kvm_dev_ioctl_create_vm
Jan Kiszka (11):
KVM: x86: Mark kvm_arch_setup_async_pf static
KVM: x86: Add missing inline tag to kvm_read_and_reset_pf_reason
KVM: x86: Avoid issuing wbinvd twice
KVM: Refactor srcu struct release on early errors
KVM: Clean up vm creation and release
KVM: Clear assigned guest IRQ on release
KVM: Switch assigned device IRQ forwarding to threaded handler
KVM: Refactor IRQ names of assigned devices
KVM: Save/restore state of assigned PCI device
KVM: Clean up kvm_vm_ioctl_assigned_device
KVM: Document device assigment API
Joerg Roedel (23):
KVM: X86: Introduce generic guest-mode representation
KVM: SVM: Make Use of the generic guest-mode functions
KVM: X86: Don't report L2 emulation failures to user-space
KVM: SVM: Add function to recalculate intercept masks
KVM: SVM: Add manipulation functions for DRx intercepts
KVM: SVM: Add manipulation functions for exception intercepts
KVM: SVM: Add manipulation functions for misc intercepts
KVM: SVM: Use get_host_vmcb function in svm_get_msr for TSC
KVM: SVM: Add clean-bit for intercetps, tsc-offset and pause
filter count
KVM: SVM: Add clean-bit for IOPM_BASE and MSRPM_BASE
KVM: SVM: Add clean-bit for the ASID
KVM: SVM: Add clean-bit for interrupt state
KVM: SVM: Add clean-bit for NPT state
KVM: SVM: Add clean-bit for control registers
KVM: SVM: Add clean-bit for DR6 and DR7
KVM: SVM: Add clean-bit for GDT and IDT
KVM: SVM: Add clean-bit for Segements and CPL
KVM: SVM: Add clean-bit for CR2 register
KVM: SVM: Add clean-bit for LBR state
KVM: SVM: Remove flush_guest_tlb function
KVM: SVM: Use svm_flush_tlb instead of force_new_asid
KVM: SVM: Implement Flush-By-Asid feature
KVM: SVM: Add xsetbv intercept
Lai Jiangshan (2):
KVM: MMU: rename 'reset_host_protection' to 'host_writable'
KVM: return true when user space query KVM_CAP_USER_NMI extension
Marcelo Tosatti (5):
KVM: VMX: remove setting of shadow_base_ptes for EPT
KVM: MMU: remove kvm_mmu_set_base_ptes
KVM: MMU: flush TLBs on writable -> read-only spte overwrite
KVM: propagate fault r/w information to gup(), allow read-only memory
KVM: MMU: only write protect mappings at pagetable level
Michael S. Tsirkin (1):
KVM: fast-path msi injection with irqfd
Roedel, Joerg (2):
KVM: SVM: Add manipulation functions for CRx intercepts
KVM: SVM: Add clean-bits infrastructure code
Shane Wang (1):
KVM: VMX: Inform user about INTEL_TXT dependency
Takuya Yoshikawa (9):
KVM: introduce wrapper functions for creating/destroying dirty
bitmaps
KVM: pre-allocate one more dirty bitmap to avoid vmalloc()
KVM: use kmalloc() for small dirty bitmaps
KVM: replace vmalloc and memset with vzalloc
KVM: take kvm_lock for hardware_disable() during cpu hotplug
KVM: rename hardware_[dis|en]able() to *_nolock() and add locking
wrappers
KVM: MMU: Avoid dropping accessed bit while removing write access
KVM: MMU: Make the way of accessing lpage_info more generic
KVM: Take missing slots_lock for kvm_io_bus_unregister_dev()
Tracey Dent (1):
KVM: x86: Makefile clean up
Xiao Guangrong (22):
KVM: fix tracing kvm_try_async_get_page
KVM: cleanup async_pf tracepoints
KVM: fix searching async gfn in kvm_async_pf_gfn_slot
KVM: avoid unnecessary wait for a async pf
KVM: handle more completed apfs if possible
KVM: fix the race while wakeup all pv guest
KVM: remove unused function declaration
KVM: MMU: fix missing post sync audit
KVM: MMU: clear apfs if page state is changed
KVM: MMU: support apf for nonpaing guest
KVM: MMU: fix apf prefault if nested guest is enabled
KVM: MMU: don't mark spte notrap if reserved bit set
KVM: MMU: fix forgot flush tlbs on sync_page path
KVM: MMU: don't drop spte if overwrite it from W to RO
KVM: MMU: remove 'clear_unsync' parameter
KVM: MMU: abstract invalid guest pte mapping
KVM: MMU: delay flush all tlbs on sync_page path
KVM: MMU: rename 'no_apf' to 'prefault'
KVM: MMU: fix accessed bit set on prefault path
KVM: MMU: retry #PF for softmmu
KVM: MMU: audit: allow audit more guests at the same time
KVM: MMU: handle 'map_writable' in set_spte() function
Documentation/kernel-parameters.txt | 3 +
Documentation/kvm/api.txt | 178 +++++++
Documentation/kvm/cpuid.txt | 3 +
Documentation/kvm/msr.txt | 36 ++-
arch/ia64/include/asm/kvm_host.h | 4 +
arch/ia64/kvm/kvm-ia64.c | 30 +-
arch/powerpc/kvm/book3s.c | 4 +-
arch/powerpc/kvm/powerpc.c | 20 +-
arch/s390/kvm/kvm-s390.c | 23 +-
arch/x86/include/asm/kvm_emulate.h | 35 +-
arch/x86/include/asm/kvm_host.h | 99 +++--
arch/x86/include/asm/kvm_para.h | 24 +
arch/x86/include/asm/svm.h | 57 ++-
arch/x86/include/asm/traps.h | 1 +
arch/x86/include/asm/vmx.h | 15 +
arch/x86/kernel/entry_32.S | 10 +
arch/x86/kernel/entry_64.S | 3 +
arch/x86/kernel/kvm.c | 317 +++++++++++++
arch/x86/kernel/kvmclock.c | 13 +-
arch/x86/kvm/Kconfig | 1 +
arch/x86/kvm/Makefile | 3 +-
arch/x86/kvm/emulate.c | 367 +++++++---------
arch/x86/kvm/kvm_cache_regs.h | 22 +
arch/x86/kvm/lapic.c | 3 +-
arch/x86/kvm/mmu.c | 251 +++++++----
arch/x86/kvm/mmu_audit.c | 39 +-
arch/x86/kvm/paging_tmpl.h | 147 ++++---
arch/x86/kvm/svm.c | 865
++++++++++++++++++++++-------------
arch/x86/kvm/trace.h | 17 +-
arch/x86/kvm/vmx.c | 156 +++++--
arch/x86/kvm/x86.c | 471 ++++++++++++++-----
fs/ncpfs/mmap.c | 2 +
include/linux/kvm.h | 1 +
include/linux/kvm_host.h | 101 ++++-
include/linux/kvm_types.h | 7 +
include/linux/mm.h | 5 +
include/trace/events/kvm.h | 121 +++++
mm/filemap.c | 3 +
mm/memory.c | 31 ++-
mm/shmem.c | 8 +-
virt/kvm/Kconfig | 3 +
virt/kvm/assigned-dev.c | 125 ++----
virt/kvm/async_pf.c | 216 +++++++++
virt/kvm/async_pf.h | 36 ++
virt/kvm/eventfd.c | 91 ++++-
virt/kvm/irq_comm.c | 7 +-
virt/kvm/kvm_main.c | 342 ++++++++++----
47 files changed, 3127 insertions(+), 1189 deletions(-)
create mode 100644 virt/kvm/async_pf.c
create mode 100644 virt/kvm/async_pf.h
--
error compiling committee.c: too many arguments to function
next reply other threads:[~2011-01-10 9:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-10 9:21 Avi Kivity [this message]
2011-01-10 19:31 ` [GIT PULL] KVM updates for the 2.6.38 merge window Linus Torvalds
2011-01-11 9:25 ` Avi Kivity
2011-01-11 16:19 ` Linus Torvalds
2011-01-11 17:14 ` Avi Kivity
2011-01-12 20:33 ` Rik van Riel
2011-01-12 20:53 ` Linus Torvalds
2011-01-13 12:53 ` Gleb Natapov
2011-01-13 15:43 ` Linus Torvalds
2011-01-13 18:58 ` Hugh Dickins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D2ACFA7.6000502@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.