From: Avi Kivity <avi@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: kvm-devel <kvm@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Marcelo Tosatti <mtosatti@redhat.com>
Subject: KVM updates for 2.6.32-rc1
Date: Sat, 12 Sep 2009 11:20:14 +0300 [thread overview]
Message-ID: <4AAB59BE.6070702@redhat.com> (raw)
Linus, please pull from
git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-updates/2.6.32
to receive the KVM updates for this cycle. Changes include
- support for injecting MCEs into guests
- irqfd/ioeventfd, an eventfd-based mechanism to connect user- and
kernel- based components to guests
- "unrestricted guests" on Intel, which improves real-mode support
- nested svm improvements
- event traces supplant the old KVM-private trace implementation
- syscall/sysenter emulation for cross-vendor migration
- 1GB pages on AMD
- x2apic, which improves SMP performance
as well as the usual fixes and performance and scaling improvements.
Note that Marcelo is joining me as co-maintainer, so you may get KVM
updates from him in the future.
Shortlog/diffstat:
Akinobu Mita (2):
KVM: x86: use get_desc_base() and get_desc_limit()
KVM: x86: use kvm_get_gdt() and kvm_read_ldt()
Alexander Graf (4):
x86: Add definition for IGNNE MSR
KVM: Implement MSRs used by Hyper-V
KVM: SVM: Implement INVLPGA
KVM: SVM: Improve nested interrupt injection
Amit Shah (2):
KVM: ignore reads to perfctr msrs
Documentation: Update KVM list email address
Andre Przywara (15):
KVM: SVM: use explicit 64bit storage for sysenter values
KVM: Move performance counter MSR access interception to generic
x86 path
KVM: Allow emulation of syscalls instructions on #UD
KVM: x86 emulator: Add missing EFLAGS bit definitions
KVM: x86 emulator: Prepare for emulation of syscall instructions
KVM: x86 emulator: add syscall emulation
KVM: x86 emulator: Add sysenter emulation
KVM: x86 emulator: Add sysexit emulation
KVM: ignore AMDs HWCR register access to set the FFDIS bit
KVM: ignore reads from AMDs C1E enabled MSR
KVM: introduce module parameter for ignoring unknown MSRs accesses
KVM: Ignore PCI ECS I/O enablement
KVM: handle AMD microcode MSR
KVM: fix MMIO_CONF_BASE MSR access
KVM: add module parameters documentation
Anthony Liguori (1):
KVM: When switching to a vm8086 task, load segments as 16-bit
Avi Kivity (37):
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/
KVM: Return to userspace on emulation failure
KVM: VMX: Only reload guest cr2 if different from host cr2
KVM: SVM: Don't save/restore host cr2
KVM: Trace irq level and source id
KVM: Trace mmio
KVM: Trace apic registers using their symbolic names
KVM: MMU: Trace guest pagetable walker
KVM: Document basic API
KVM: Trace shadow page lifecycle
KVM: VMX: Optimize vmx_get_cpl()
x86: Export kmap_atomic_to_page()
KVM: SVM: Drop tlb flush workaround in npt
KVM: Move #endif KVM_CAP_IRQ_ROUTING to correct place
KVM: VMX: Adjust rflags if in real mode emulation
KVM: Rename x86_emulate.c to emulate.c
KVM: Add __KERNEL__ guards to exported headers
KVM: Add missing #include
KVM: Protect update_cr8_intercept() when running without an apic
KVM: Document KVM_CAP_IRQCHIP
KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp
KVM: Use thread debug register storage instead of kvm specific data
KVM: VMX: Conditionally reload debug register 6
KVM: VMX: Check cpl before emulating debug register access
Bartlomiej Zolnierkiewicz (1):
KVM: remove superfluous NULL pointer check in
kvm_inject_pit_timer_irqs()
Beth Kon (1):
KVM: PIT support for HPET legacy mode
Christian Borntraeger (1):
KVM: s390: Fix memslot initialization for userspace_addr != 0
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
Glauber Costa (1):
KVM guest: fix bogus wallclock physical address calculation
Gleb Natapov (28):
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.
KVM: Replace pending exception by PF if it happens serially
KVM: Optimize searching for highest IRR
KVM: Add Directed EOI support to APIC emulation
KVM: x2apic interface to lapic
KVM: Use temporary variable to shorten lines.
KVM: Add trace points in irqchip code
KVM: No need to kick cpu if not in a guest mode
KVM: Always report x2apic as supported feature
KVM: Move exception handling to the same place as other events
KVM: Move kvm_cpu_get_interrupt() declaration to x86 code
KVM: Reduce runnability interface with arch support code
KVM: silence lapic kernel messages that can be triggered by a guest
KVM: s390: remove unused structs
KVM: PIT: Unregister ack notifier callback when freeing
KVM: Call kvm_vcpu_kick() inside pic spinlock
KVM: Call ack notifiers from PIC when guest OS acks an IRQ.
KVM: Replace pic_lock()/pic_unlock() with direct call to spinlock
functions
KVM: Update cr8 intercept when APIC TPR is changed by userspace
KVM: VMX: Fix cr8 exiting control clobbering by EPT
KVM: Fix coalesced interrupt reporting in IOAPIC
KVM: VMX: call vmx_load_host_state() only if msr is cached
KVM: fix misreporting of coalesced interrupts by kvm tracer
Gregory Haskins (6):
KVM: irqfd
KVM: Clean up coalesced_mmio destruction
KVM: cleanup io_device code
KVM: do not register i8254 PIO regions until we are initialized
KVM: make io_bus interface more robust
KVM: add ioeventfd support
Heiko Carstens (1):
KVM: fix compile warnings on s390
Huang Ying (1):
KVM: Add MCE support
Izik Eidus (1):
KVM: MMU: make __kvm_mmu_free_some_pages handle empty list
Jan Kiszka (8):
KVM: Allow PIT emulation without speaker port
KVM: Cleanup LAPIC interface
KVM: Fix racy event propagation in timer
KVM: Drop useless atomic test from timer function
Revert "KVM: x86: check for cr3 validity in ioctl_set_sregs"
KVM: Drop obsolete cpu_get/put in make_all_cpus_request
KVM: VMX: Avoid to return ENOTSUPP to userland
KVM: x86: Disallow hypercalls for guest callers in rings > 0
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
Jiri Slaby (1):
KVM: fix lock imbalance
Joerg Roedel (31):
hugetlbfs: export vma_kernel_pagsize to modules
KVM: Prepare memslot data structures for multiple hugepage sizes
KVM: MMU: Fix MMU_DEBUG compile breakage
KVM: MMU: make rmap code aware of mapping levels
KVM: MMU: rename is_largepage_backed to mapping_level
KVM: MMU: make direct mapping paths aware of mapping levels
KVM: MMU: make page walker aware of mapping levels
KVM: MMU: shadow support for 1gb pages
KVM: MMU: enable gbpages by increasing nr of pagesizes
KVM: report 1GB page support to userspace
KVM: SVM: add helper functions for global interrupt flag
KVM: SVM: optimize nested #vmexit
KVM: SVM: optimize nested vmrun
KVM: SVM: copy only necessary parts of the control area on
vmrun/vmexit
KVM: SVM: complete interrupts after handling nested exits
KVM: SVM: move nested svm state into seperate struct
KVM: SVM: cache nested intercepts
KVM: SVM: consolidate nested_svm_exit_handled
KVM: SVM: do nested vmexit in nested_svm_exit_handled
KVM: SVM: simplify nested_svm_check_exception
KVM: SVM: get rid of nested_svm_vmexit_real
KVM: SVM: clean up nested_svm_exit_handled_msr
KVM: SVM: clean up nestec vmload/vmsave paths
KVM: SVM: clean up nested vmrun path
KVM: SVM: remove nested_svm_do and helper functions
KVM: SVM: handle errors in vmrun emulation path appropriatly
KVM: SVM: move special nested exit handling to separate function
KVM: SVM: remove unnecessary is_nested check from svm_cpu_run
KVM: SVM: move nested_svm_intr main logic out of if-clause
KVM: SVM: check for nested VINTR flag in svm_interrupt_allowed
KVM: SVM: enable nested svm by default
Julia Lawall (1):
KVM: correct error-handling code
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 (26):
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
KVM: MMU: introduce is_last_spte helper
KVM: MMU audit: update count_writable_mappings / count_rmaps
KVM: MMU audit: update audit_write_protection
KVM: MMU audit: nontrapping ptes in nonleaf level
KVM: MMU audit: audit_mappings tweaks
KVM: MMU audit: largepage handling
KVM: VMX: more MSR_IA32_VMX_EPT_VPID_CAP capability bits
KVM: MMU: make for_each_shadow_entry aware of largepages
KVM: MMU: add kvm_mmu_get_spte_hierarchy helper
KVM: VMX: EPT misconfiguration handler
KVM: VMX: conditionally disable 2M pages
KVM: convert custom marker based tracing to event traces
KVM: x86: missing locking in PIT/IRQCHIP/SET_BSP_CPU ioctl paths
KVM: powerpc: convert marker probes to event trace
KVM: remove old KVMTRACE support code
KVM: use vcpu_id instead of bsp_vcpu pointer in kvm_vcpu_is_bsp
KVM: MMU: fix missing locking in alloc_mmu_pages
KVM: limit lapic periodic timer frequency
KVM: MMU: fix bogus alloc_mmu_pages assignment
KVM guest: do not batch pte updates from interrupt context
KVM: x86: drop duplicate kvm_flush_remote_tlb calls
MAINTAINERS: update KVM entry
Mark McLoughlin (1):
KVM: fix cpuid E2BIG handling for extended request types
Michael S. Tsirkin (8):
KVM: document locking for kvm_io_device_ops
KVM: switch coalesced mmio changes to slots_lock
KVM: switch pit creation to slots_lock
KVM: convert bus to slots_lock
KVM: remove in_range from io devices
KVM: document lock nesting rule
KVM: ignore msi request if !level
KVM: export kvm_para.h
Mikhail Ershov (2):
KVM: Align cr8 threshold when userspace changes cr8
KVM: Use kvm_{read,write}_guest_virt() to read and write segment
descriptors
Mohammed Gamal (1):
KVM: x86 emulator: Add adc and sbb missing decoder flags
Nitin A Kamble (1):
KVM: VMX: Support Unrestricted Guest feature
Roel Kluin (1):
KVM: fix EFER read buffer overflow
Sheng Yang (6):
KVM: Downsize max support MSI-X entry to 256
KVM: No disable_irq for MSI/MSI-X interrupt on device assignment
KVM: Fix apic_mmio_write return for unaligned write
KVM: Discard unnecessary kvm_mmu_flush_tlb() in kvm_mmu_load()
KVM: VMX: Introduce KVM_SET_IDENTITY_MAP_ADDR ioctl
KVM: VMX: Fix EPT with WP bit change during paging
Stephen Rothwell (1):
KVM: powerpc: fix some init/exit annotations
Xiao Guangrong (1):
KVM: fix kvm_init() error handling
Documentation/ioctl/ioctl-number.txt | 2 +-
Documentation/kernel-parameters.txt | 39 +
Documentation/kvm/api.txt | 759
+++++++++++++++++
MAINTAINERS | 1 +
arch/ia64/include/asm/kvm_host.h | 4 +-
arch/ia64/include/asm/kvm_para.h | 4 +
arch/ia64/kvm/Kconfig | 11 +-
arch/ia64/kvm/kvm-ia64.c | 85 +--
arch/ia64/kvm/vcpu.c | 4 +-
arch/powerpc/include/asm/kvm_host.h | 4 +-
arch/powerpc/kvm/44x.c | 4 +-
arch/powerpc/kvm/44x_tlb.c | 11 +-
arch/powerpc/kvm/Kconfig | 14 +-
arch/powerpc/kvm/Makefile | 4 +-
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 | 26 +-
arch/powerpc/kvm/e500_tlb.h | 6 +-
arch/powerpc/kvm/emulate.c | 7 +-
arch/powerpc/kvm/powerpc.c | 32 +-
arch/powerpc/kvm/trace.h | 104 +++
arch/s390/include/asm/kvm.h | 9 -
arch/s390/include/asm/kvm_host.h | 15 +-
arch/s390/include/asm/kvm_para.h | 4 +
arch/s390/kvm/Kconfig | 9 +-
arch/s390/kvm/gaccess.h | 23 +-
arch/s390/kvm/intercept.c | 18 +-
arch/s390/kvm/interrupt.c | 8 +-
arch/s390/kvm/kvm-s390.c | 78 +-
arch/s390/kvm/kvm-s390.h | 32 +-
arch/s390/kvm/sigp.c | 60 +-
arch/x86/include/asm/apicdef.h | 2 +
arch/x86/include/asm/kvm.h | 10 +
.../asm/{kvm_x86_emulate.h => kvm_emulate.h} | 0
arch/x86/include/asm/kvm_host.h | 60 +-
arch/x86/include/asm/kvm_para.h | 2 +
arch/x86/include/asm/msr-index.h | 1 +
arch/x86/include/asm/vmx.h | 8 +
arch/x86/kernel/kvm.c | 7 +-
arch/x86/kernel/kvmclock.c | 4 +-
arch/x86/kvm/Kconfig | 21 +-
arch/x86/kvm/Makefile | 35 +-
arch/x86/kvm/{x86_emulate.c => emulate.c} | 265 ++++++-
arch/x86/kvm/i8254.c | 160 +++--
arch/x86/kvm/i8254.h | 5 +-
arch/x86/kvm/i8259.c | 116 ++--
arch/x86/kvm/irq.h | 1 -
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 | 334 ++++++--
arch/x86/kvm/lapic.h | 4 +
arch/x86/kvm/mmu.c | 587 +++++++++-----
arch/x86/kvm/mmu.h | 4 +-
arch/x86/kvm/mmutrace.h | 220 +++++
arch/x86/kvm/paging_tmpl.h | 141 ++--
arch/x86/kvm/svm.c | 889
++++++++++++--------
arch/x86/kvm/timer.c | 16 +-
arch/x86/kvm/trace.h | 355 ++++++++
arch/x86/kvm/vmx.c | 497 ++++++++---
arch/x86/kvm/x86.c | 815
+++++++++++++------
arch/x86/kvm/x86.h | 4 +
arch/x86/mm/highmem_32.c | 1 +
include/asm-generic/Kbuild.asm | 5 +
include/linux/Kbuild | 4 +
include/linux/kvm.h | 127 ++-
include/linux/kvm_host.h | 114 ++-
include/linux/kvm_para.h | 1 +
include/trace/events/kvm.h | 151 ++++
mm/hugetlb.c | 1 +
virt/kvm/Kconfig | 14 +
virt/kvm/coalesced_mmio.c | 74 +-
virt/kvm/coalesced_mmio.h | 1 +
virt/kvm/eventfd.c | 578 +++++++++++++
virt/kvm/ioapic.c | 78 ++-
virt/kvm/iodev.h | 55 +-
virt/kvm/irq_comm.c | 51 +-
virt/kvm/kvm_main.c | 298 +++++--
virt/kvm/kvm_trace.c | 285 -------
80 files changed, 5692 insertions(+), 2160 deletions(-)
create mode 100644 Documentation/kvm/api.txt
create mode 100644 arch/powerpc/kvm/trace.h
rename arch/x86/include/asm/{kvm_x86_emulate.h => kvm_emulate.h} (100%)
rename arch/x86/kvm/{x86_emulate.c => emulate.c} (90%)
delete mode 100644 arch/x86/kvm/kvm_svm.h
create mode 100644 arch/x86/kvm/mmutrace.h
create mode 100644 arch/x86/kvm/trace.h
create mode 100644 include/trace/events/kvm.h
create mode 100644 virt/kvm/Kconfig
create mode 100644 virt/kvm/eventfd.c
delete mode 100644 virt/kvm/kvm_trace.c
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
reply other threads:[~2009-09-12 8:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=4AAB59BE.6070702@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.