ChangeLog: Difference between revisions

From KVM
No edit summary
(fix missing kvm-80)
Line 477: Line 477:
* fix handlig of ack from irq shared between assigned and emulated devices (Mark !McLoughlin)
* fix handlig of ack from irq shared between assigned and emulated devices (Mark !McLoughlin)
* fix nmi-vs-irq race for -no-kvm-irqchip (Jan Kiszka)
* fix nmi-vs-irq race for -no-kvm-irqchip (Jan Kiszka)
= kvm-80 [7 dec 2008] =
* merge qemu-svn
** automatic port allocation for vnc and similar
** improved cdrom media change handling
** improved debugging support
** more scsi improvements
** e1000 vlan offload
* up to 256 vcpus for ia64 (Jes Sorensen)
* only request io port permission if device assignment is enabled (Jes Sorensen)
* fix in-kernel ioapic reset (Jan Kiszka)
** fixes guest reboot failures
* fix balloon for systems with page size different from 4K (Hollis Blanchard)
* fix bios memory reporting with >32G guests (Bill Rieske)
* drop inclusion of compiler.h in external modules (Xiantao Zhang)
* use vcpu pointers instead of vcpu numbers (Jes Sorensen)
* goodbye bool (Jes Sorensen)
* stop using separate structure for cpu state; use qemu's instead (Jes Sorensen)
* apic testsuite
* fix -no-kvm apic with smp (Jan Kiszka)
* clean up userspace nmi injection (Jan Kiszka)
* adjust external module for 2.6.28 hosts (Mark McLoughlin)
* much improved large mtu/gso support for virtio-net (Mark McLoughlin)
* simplify x86 emulator stack pop operations
* clean up device assignment code (Mark McLoughlin)
* fix extboot returning error incorrectly (Glauber Costa)
* constrain device assignment mmio to page alignment (Han Weidong)
* ppc speedups (Hollis Blanchard)
* fix s390 problem state handling (Christian Borntraeger)
* fix interrupt loss when injecting an nmi
** fixes Linux guests with nmi watchdog hanging
* fix ia64 build (Xiantao Zhang)
* fix emergency reboot and kdump on host while running VMs (Eduardo Habkost)
* fix syncing of self-referencing ptes (Marcelo Tosatti)
* add printk() for ia64 vmm (Xiantao Zhang)
* add crashed vm handler for ia64 (Xiantao Zhang)
* use correct calling convention into ia64 PAL code (Xiantao Zhang)
* request interrupt window after injecting an interrupt if another is pending
* plug ppc memory leak when destroying a vm
* sign kvmclock as a paravirt operation (Glauber Costa)
* MSI support for device assigment (Sheng Yang)
* fix shadow pagetables leak (Marcelo Tosatti)
** fixes an oops
* optimize setting new pte while syncing a page (Marcelo Tosatti)
* reduce code duplication in x86 emulator
* fix s390 refcounting; allow module unload (Christian Borntraeger)
* fix s390 memory leak (Christian Borntraeger)
* prevent tracing calls into unloaded module (Wu Fengguang)
* fix sparse warnings (Hannes Eder)
* clean up irq ack notifiers (Mark McLoughlin)
* powerpc large page support (Hollis Blanchard)
* faster powerpc shadow tlb handling (Hollis Blanchard)
* reduce powerpc guest tlb miss rate on context switches (Hollis Blanchard)
* powerpc exit timing stats (Hollis Blanchard)
* fix -no-kvm-irqchip not working with smp (Jan Kiszka)
* fix rendering regressions introduced by upstream qemu rendering support
= kvm-79 [12 nov 2008] =
= kvm-79 [12 nov 2008] =



Revision as of 23:22, 16 September 2009


kvm-88 [12 july 2009]

  • merge upstream qemu.git
    • virtio indirect ring entries
      • improves block performance for newer Linux guests
    • -net tap,sndbuf=... option for improving udp performance
    • msi-x support
    • sdl window resize
    • more flexible -net user configuration
    • -cpu host to pass through all host cpu features
    • multiboot support for -kernel
  • fix KVM_GET_SUPPORTED_CPUID feature usage (Andre Przywara)
  • fix register contents after SIPI (Gleb Natapov)
  • re-enable device assignment (Markus Armbruster)
  • fix ia64 build (Markus Armbruster)
  • fix migration for virtio-net version > 7 (Michael S. Tsirkin)
  • merge more code with upstream (Glauber Costa)
  • fix vnet_hdr checks (Mark McLoughlin)
    • fixes broken tap networking with rtl8139 and e1000
  • move extboot to standard optionrom location (Jan Kiszka)
  • emulate 32-bit syscall/sysenter instructions on 64-bit guests (Andre Przywara)
    • allows cross-vendor live migration with 32-bit userspace on 64-bit kernel
  • fix s390 memslot initialization for userspace_addr != 0 (Christian Borntraeger)
  • allow s390 stfle instruction to be executed by guest (Christian Borntraeger)
  • prepare memory slot data structures for multiple large page sizes (Joerg Roedel)
  • correct missing locking in PIT/IRQCHIP/SET_BSP_CPU ioctl paths (Marcelo Tosatti)
  • do not allow invalid mtrr/pat settings (Marcelo Tosatti)
  • ignore some more AMD system configuration msrs (Andre Przywara)
  • introduce module parameter for ignoring unknown msrs (Andre Przywara)
  • fix ftrace build when kvm is built into the kernel
  • convert powerpc marker probes to tracepoints (Marcelo Tosatti)
  • drop old kvmtrace code (Marcelo Tosatti)
  • document kvm_io_device locking (Michael S. Tsirkin)
  • switch coalesced mmio, PIT creation, io bus to slots_lock (Michael S. Tsirkin)
  • fix locking imbalance (Jiri Slaby)
  • irq tracing
  • mmio tracing
  • irqfd deassign (Gregory Haskins)
  • x2apic support (Gleb Natapov)
  • avoid redelivery of edge triggered interrupt before next edge (Gleb Natapov)
    • fixes keyboard issues running Windows XP x64 smp installer
  • avoid pit division by zero (Marcelo Tosatti)
  • fix KVM_GET_MSR_INDEX_LIST user memory corruption (Jan Kiszka)
  • drop old cr3 checks in favor of new checks (Jan Kiszka)
  • mmu tracing
  • basic API documentation
  • ignore msi requests if level = 0 (Michael S. Tsirkin)
  • ioapic/pic/msi tracing (Gleb Natapov)
  • don't kick vcpu if not in guest mode (Gleb Natapov)

kvm-87 [25 june 2009]

  • merge qemu upstream (Mark McLoughlin, Avi Kivity)
    • tune and view live migration progress
    • allow setting qcow2 cluster size
    • http protocol for images
    • qcow2 speedups
    • networking improvements
  • fix -no-shatdown command line option (Daniel Gollub)
  • fix warnings on 32-bit hosts (Michael S. Tsirkin)
  • use a bitmap for tracking used interrupts (Alex Williamson)
  • support running without vga option rom (Jan Kiszka)
  • make kvmtrace_format mode distro friendly (Eduardo Habkost)
  • fix mac annoucement after live migation with virtio net (Gleb Natapov)
  • merge cpu state more compatible with upstream qemu (Jan Kiszka)
  • improve large page memory layout
  • only initialize lapic after the vcpu (Glauber Costa)
  • clean up cpuid feature trimming (Glauber Costa)
  • avoid harmless msr warnings (Marcelo Tosatti)
  • have bios read read MADT to implement acpi _MAT (Gleb Natapov)
  • fix tpr patching to get cpu index from Windows PCR (Gleb Natapov)
  • separate kvm from pic implementation (Glauber Costa)
  • remove cpu index in libkvm/qemu interface (Gleb Natapov)
  • halt guest instead of aborting on error
  • fix dma on ia64 (Jes Sorensen)
  • fix MADT, RSDT creation (Beth Kon)
  • start libkvm removal (Glauber Costa)
  • make qemu-kvm implementation closer to upstream (Gleb Natapov)
  • move acpi processor descriptions to ssdt (Jes Sorensen)
  • machine check exception support (Huang Ying)
  • not userspace visible yet
  • msr cleanups (Jaswinder Singh Rajput)
  • fix cpuid error handling (Mark McLoughlin)
  • fix jmp far decoding
  • makefile cleanup (Christoph Hellwig)
  • drop "interrupt shadow" flag when single stepping (Gleb Natapov)
  • allow 4K ptes with PAT bit set
  • irqfd (Gregory Haskins)
  • allow speaker emulation in usespace (Jan Kiszka)
  • fix ia64 timestamp counter (Jes Sorensen)
  • fix PAE PDPTR handling
    • fixes Fedora 11 i686 guests
  • s390 inter-vcpu communication fixes (Christian Ehrhardt)
  • s390 memory slot management improvements (Christian Ehrhardt)
  • reduce MSI-X support to 256 vectors (Sheng Yang)
  • avoid truncation of sysenter msrs on AMD (Andre Przywara)
  • fix performance problem due to irq disabling on device assignment (Sheng Yang)
  • fix init/exit text annotations (Stephen Rothwell)
  • clean up coalesced_mmio destruction (Gregory Haskins)
  • cleanup kernel iodevice code (Gregory Haskins)
  • register PIT device after initialization (Gregory Haskins)
  • avoid redundant tlb flush when using ept
  • simplify ptptr and cr3 management on Intel
  • cache pdptrs for i686 pae guests
  • improve handling of unhandled ept violations
  • fix host reboot failures with CONFIG_MAXSMP
  • powerpc e500 adjustments (Liu Yu)
  • vmx unrestricted guest (Nitin A Kamble)
  • clean up lapic interface (Jan Kiszka)
  • fix PIC locking (Marcelo Tosatti)
  • improve PIC and IOAPIC scaling (Marcelo Tosatti)
  • handle machine checks while running in guest mode (Andi Kleen)
  • disable large pages on misaligned memory slots
  • prevent overflow in largepage calculation
  • prevent unnecessarily setting guest pages dirty bits under ept
  • decouple vcpu id from apic id (Gleb Natapov)
  • improve internal vcpu accessors (Gleb Natapov)
  • break infinite emulation failure loops
  • fix mmu audit (Marcelo Tosatti)
  • generic performance counter msr handling (Andre Przywara, Amit Shah)
  • improve ept error reporting (Marcelo Tosatti)
  • disable large pages if ept does not support them (Marcelo Tosatti)
  • improve simultaneous exception handling (Gleb Natapov)
  • optimize APIC interrupt request register searching (Gleb Natapov)
  • fix live migration with large pages (Izik Eidus)
  • fix racy event propagation in timer (Jan Kiszka)
  • remove unnecessary atomic test in timer (Jan Kiszka)
  • optimize cr2 reloads on vmx
  • drop cr2 save/restore on svm
  • fix crash when guest uses vmx instructions
  • implement msrs used by Hyper-V as a guest (Alexander Graf)
  • implement invlpga instruction (Alexander Graf)
  • improve nested interrupt injection (Alexander Graf)
  • convert kvmtrace to use the generic kernel infrastructure (Marcelo Tosatti)
  • fix concurrent mmu reloads and tlb flushes (Marcelo Tosatti)
  • fix ia64 build (Jes Sorensen)

kvm-86 [20 may 2009]

  • merge qemu.git
    • qcow2 corruption fixes
    • cpuid initialization fixes
    • numa support
    • improve rtc time drift compensation
    • hardware watchdog
  • merge bochs bios
  • drop packets if all net links are down (Mark McLoughlin)
  • fix device assignment error checking (Michael S. Tsirkin)
  • fix -drive boot= parameter help (Pauline Middelink)
  • fix tap networking after merge (Mark McLoughlin)
  • set default configure option for ia64 (Xiantao Zhang)
  • remove unnecesary differences compared to upstream (Anthony Liguori)
  • fix build outside source directory (Anthony Liguori)
  • ppc build fixes (Hollis Blanchard)
  • revert incorrect ia64 icache sync (Hollis Blanchard)
  • fix apic id save/load (Glauber Costa)
    • fixes smp live migration
  • libkvm cosmetics (Michael S. Tsirkin)
  • fix virtio-net save/load (Alex Williamson)
  • allow loading additional acpi tables (Gleb Natapov)
  • allow loading additional smbios entries (Alex Williamson)
  • fix dirty tracking on large memory (Glauber Costa)
    • fixes live migration for guests with a lot of memory
  • fix device assignment irq error handling (Alex Williamson)
  • make kvm headers C++ friendly (Nathan Binkert)
  • remove global page optimization (Marcelo Tosatti)
    • fixes FreeBSD on shadow paging
  • move lcall, ljmp, jcc, pio decoding to decode stage (Gleb Natapov)
  • only skip instruction on task switch when approprite (Gleb Natapov)
  • kvmclock cosmetics
  • fix memory region overlap check (Jan Kiszka)
  • ia64: don't hold slots lock in guest mode (Jes Sorensen)
  • check cr3 validity on guest restore (Marcelo Tosatti)
  • ia64: flush all tlbs on mapping change (Xiantao Zhang)
  • ia64 cosmetics (Jes Sorensen)
  • interrupt disable fixes for ia64 (Jes Sorensen)
  • unregister cpu frequency notifiers on module unload (Jan Kiszka)
  • fix mmu auditing code (Jan Kiszka)
  • move irq injection logic to common code (Gleb Natapov)
    • contains several irq fixes
  • cleanup ept memory type support (Sheng Yang)
  • enable snoop control for device assignment (Sheng Yang)
  • disable vmx on system shutdown (Sheng Yang)
  • fix nx feature reporting
  • fix efer reads on hosts without efer
  • fix apic debugging (Glauber Costa)
  • fix cross vendor migration (Andre Przywara)
  • drop request_nmi from kvm_stat (Jan Kiszka)
  • fix MTRR, PAT, MCE, MCA feature reporting
  • add cr8_legacy, abm, misaligned_sse, sse4, 3dnow prefetch feature reporting
  • add movbe and popcnt feature reporting
  • use smp_send_reschedule() to kick guests out of guest mode (Marcelo Tosatti)
  • device assignment locking fixes (Marcelo Tosatti)
  • remove port 80 passthrough on svm
    • fixes hangs on some hp laptops
  • deal with interrupt shadow state on emulated instructions (Glauber Costa)
  • properly lock kvm_mmu_change_mmu_pages (Marcelo Tosatti)
  • properly lock memory slot deletion (Marcelo Tosatti)
  • expand on make menuconfig help (Robert P. J. Day)
  • fix s390 memory slot locking vs vcpu run (Carsten Otte)
  • use hrtimer for wakeup on s390 (Christian Borntraeger)
  • s390 unlink vcpu on destroy (Christian Borntraeger)
  • sanity check s390 intercept (Carsten Otte)
  • s390 verify guest has some memory assigned (Carsten Otte)
  • do not reexecute software interrupt instructions on intel (Gleb Natapov)
  • disable cr8 intercepts if tpr patching is active (Gleb Natapov)

kvm-85 [21 apr 2009]

  • merge qemu-svn
    • microsoft serial mouse emulation
    • cpuid fixes
    • multiple simultaneous vnc client support
    • allow additions of acpi tables from command line
    • fix SDL with X.org evdev driver
    • vnc sasl authentication
    • fix one qcow2 corruptor
    • fix qcow2 > 2TB images
    • use preadv/pwritev when available for zero-copy block devices
  • make pci mmio page aligned (Weidong Han)
  • testsuite: MSR_KERNEL_GS_BASE handling
  • fix extboot with cache=off (Nolan Leake)
  • add release script
  • add split qemu and kvm-kmod releases
  • remove kvm script
  • don't hardcode tsc_khz on older kernels (Marcelo Tosatti)
  • count extboot as a disk in bios (Gleb Natapov)
    • fixes Vista boot from virtio
  • start/stop vcpus before/after devices (Yaniv Kamay)
  • ia64 build fixes (Jes Sorensen)
  • testsuite: test EFER.NXE
  • ./configure fixes (Mark McLoughlin)
  • don't use dirty log on ia64 (Yang Zhang)
  • improve pci address parsing (Weidong Han)
  • backward compatibility for PAGE_KERNEL_UC on ia64 (Yang Zhang)
  • backward compatibility for msidef.h on ia64 (Yang Zhang)
  • fix 4GB+ guest RAM with large pages (Marcelo Tosatti)
  • clear tap features on initialization
  • testsuite: jmp/jcc instructions (Gleb Natapov)
  • fix handling of large pages in assigned devices (Joerg Roedel)
  • mmu cleanups (Joerg Roedel)
  • report irq injections to userspace (Gleb Natapov)
  • set accessed bit on segment selectos on AMD (Andre Przywara)
    • fixes cross-vendor migrations
  • fix large page memory leak (Joerg Roedel)
  • ppc e500 mmucsr0 register emulation (Liu Yu)
  • support device deassignment (Weidong Han)
  • fix ia64 msi build errors (Xiantao Zhang)
  • update msr state when entering long mode (Amit Shah)
  • fix test for long mode (Amit Shah)
    • fixes some Solaris x64 variants
  • fix sparse annotations (Hannes Eder)
  • don't use highmem pages for vmx msr and pio bitmaps
  • don't intercept MSR_KERNEL_GS_BASE on Intel
    • speeds up Windows 2008 x64 somewhat
  • unify ioapic and msi interrupt delivery (Sheng Yang, Gleb Natapov)
  • msi-x support (Sheng Yang)
  • fix kvmclock memory leak (Joerg Roedel)
  • fix preempt warning in kvmclock (Matt T. Yourst)
  • guest: skip pit-through-ioapic boot test (Marcelo Tosatti)
  • stop ioapic code leaking into archs which don't have an ioapic (Christian Borntraeger)
  • pit cleanups (Marcelo Tosatti)
  • fix ia64 build (Zhang Yang)
  • reduce unnecessary shadow update when a guest pte becomes dirty (Joerg Roedel)
  • Altix SN2 real time clock support (Jes Sorensen)
  • advertise irq routing table size (Sheng Yang)
  • rework device assignment code (Sheng Yang, Marcelo Tosatti)
  • fix missing flush on invlpg emulation (Andrea Arcangeli)
  • fix ppc e500 mas0 wrong update (Liu Yu)
  • fix smp instability on ppc e500 (Liu Yu)
  • fix free_mmu_pages() doing things out of lock (Gleb Natapov)
  • ignore reads to performance counter EVNTSEL msts (Amit Shah)
    • fixes Kapersky antivirus failure
  • clean up AMD interrupt injection (Gleb Natapov)
  • make vmx module parameters readable, and reflect current setting
  • simplify module parameter names
  • fix compatibility mode guests ability to trash EFER
  • don't unconditionally unhalt vcpu on timer event (Gleb Natapov)
  • only unhalt vcpu on interrupt if interrupt window is open (Gleb Natapov)
    • prevents 100% cpu on boot failure
  • fix incorrect vmcs field sizes on some fields (Eddie Dong)
  • fix misleading comment (Eddie Dong)
  • enable external interrupts while in ia64 vmm (Yang Zhang)
  • fix off-by-one calculating large page count
  • emulate page fault caused by reserved bits set in guest pte (Eddie Dong, Sheng Yang)
  • use different shadows when EFER.NXE changes
  • clean up lapic freeing (Wei Yongjun)
  • clean up flexpriority related code (Sheng Yang)
  • fix vmx feature testing (Sheng Yang)
  • fix PDPTE reserved bit testing (Eddie Dong)
  • fix handling of a fault during NMI unblocked due to IRET (Gleb Natapov)
  • clean up vmx interrupt completion (Gleb Natapov)
  • fix task switch back link pointer (Gleb Natapov)
  • fix near call emulation (Gleb Natapov)
  • fix extboot failure after reset (Ryan Harper)
  • ia64 vga fixes (Xiantao Zhang)
  • ia64 instruction/data cache synchronization fixes (Xiantao Zhang)
  • disable global page optimization (Marcelo Tosatti)
    • fixes FreeBSD failures
  • fix locking order when entering ia64 guest (Jes Sorensen)
  • fix PIT mode 0 handling (Marcelo Tosatti)

kvm-84 [15 feb 2009]

  • merge qemu-svn
    • redirect slirp traffic to qemu-char device
    • slirp fixes
    • qcow2 fixes
    • nic link status control
    • enable ac97 audio by default
    • add virtio-console device
    • fix rtc time drift on Windows (-rtc-td-hack option)
    • add -vga none option for running headless guests
    • better block device error propagation
    • fix guests halting when switching desktop workspace
    • improved display interfaces
    • better logging support
    • don't corrupt qcow2 images when out disk space on host
    • dma api
    • add pci device vendor ID
    • vnc improvements
    • improve Virtual PC disk format support
    • scsi fixes
    • multicast filtering for e1000 and virtio-net
  • add libkvm wrapper for KVM_SET_CPUID2 interface (Amit Shah)
  • fix cpuid for leaves 4, 11, 13 (Amit Shah)
  • save ia64 nvam (Yang Zhang)
  • compile fixes (Mark McLaughlin, Jan Kiszka)
  • generic irq routing
  • build fixes against RHEL 5 hosts (Andrea Arcangeli)
  • fix build when pc-bios directory is empty (Eduardo Habkost)
  • improve host version check (Mark McLaughlin)
  • drop obsolete eflags conversion to/from qemu emulator (Jan Kiszka)
  • preallocate memory with -mem-path (John Cooper)
  • don't register unassigned PCI BARs (Gleb Natapov)
  • more hrtimer API compatibility
  • fix build on uniprocessor hosts (Jan Kiszka)
  • fix build on pre-msi hosts (Jan Kiszka)
  • allow stopping vm from vcpu thread (Gleb Natapov)
  • fix cpu and pci hotplug (Gleb Natapov)
  • ppc updates (Liu Yu)
  • fix ia64 fp trap handler (Yang Zhang)
  • fix ia64 vtlb handling (Xiantao Zhang)
    • enables Windows 2008 on ia64
  • support translating ia64 PAL arguments (Xiantao Zhang)
  • implement ia64 PAL calls needed by Windows 2008 (Xiantao Zhang)
  • map assigned device mmio as uncachable (Sheng Yang)
  • fix lapic pending count calculation (Marcelo Tosatti)
  • fix s390 printk (Christian Borntraeger)
  • fix s390 problem state check (Christian Borntraeger)
  • fix s390 SIGP set prefix ioctl (Christian Borntraeger)
  • dynamic ia64 cpu count (Jes Sorensen)
  • fix lapic build on i386 (Clemens Noss)
  • make irq ack notifications use routing table (Marcelo Tosatti)
  • FFXSR support (Alexander Graf)
  • fix assigned device circular locking dependency (Mark McLaughlin)
  • drop unused code from string pio handlers (Jan Kiszka)
  • fix kvmclock on hosts with unstable tsc (Gerd Hoffman)
    • reenables Fedora 10 guests on those hosts
  • enable msi from userspace (Sheng Yang)
  • remove duplicated code in EPT handler (Sheng Yang)
  • flush volatile msrs on Intel before emulating rdmsr
    • fixes cygwin on Windows x64

kvm-83 [13 jan 2009]

  • amd iommu support (with Linux 2.6.29+ hosts) (Joerg Roedel)
  • merge qemu-svn
    • qcow2 correctness fixes
    • '-drive serial=...' option
    • virtio-net migration fixes
  • fix '--with-patched-kernel' build on Ubuntu (Nolan Leake)
  • improved tsc handling (Marcelo Tosatti)
    • should reduce timing errors on older Linux guests
  • remove cpuid code duplication due to upstream qemu work (Amit Shah)
  • guest S3 sleep (Gleb Natapov)
  • load assigned devices option rom (Kechao Liu)
  • '-no-kvm-pit-reinjection' option to improve timing on RHEL 3 era guests (Marcelo Tosatti)
  • remove duplicate firmware config interface probe in bios (Sebastian Herbszt)
  • backward compatibility for marker_synchronize_register() (Eduardo Habkost)
  • fix compile warning in tpr patching (Mark !McLoughlin)
  • don't install kvm headers to /usr/local
  • fix smbios memory size in certain cases (Bill Rieske)
  • simplify mmu shadow walking function
  • stop using vmap() on guest pages (annoys ksm) (Izik Eidus)
  • fix warning on MSR_VM_HSAVE_PA in dmesg
  • fix i8254 timer count read (Marcelo Tosatti)
  • ppc e500 core support (Hollis Blanchard)
  • fix vmx real mode guest state validity checks
  • make pop instruction emulation a little more generic
  • implement 'ret far' instruction emulation
  • properly lock i8354 timer
  • remove ppc debug support (Hollis Blanchard)
  • fix race freeing assigned device interrupt (Sheng Yang)
  • fix pci interrupt in freeing in device assignment (Sheng Yang)
  • allow disabling msi for assigned devices (Sheng Yang)
  • emulate amd microcode level msr (Alexander Graf)
    • helps esx boot on kvm
  • make page unshadowing a little faster
  • clear pending pit interrupts when unmasking the timer irq
    • fixes xen-on-kvm
  • mmu notifiers release method (Marcelo Tosatti)
    • fixes large pages support
  • expose ia64 registers to userspace (Jes Sorensen)
  • fix type in has_svm() (Joe Perches)
  • drop unnecessary memory clearing when allocating shadow page (Marcelo Tosatti)
  • rename "metaphysical" page attribute to "direct"
  • fix irq routing with -no-kernel-irqchip

kvm-82 [25 dec 2008]

  • merge qemu-svn
    • uuid support
    • fix CVE-2007-5729 (slirp vulnerability)
    • fix CVE-2008-2382 (vnc denial of service)
    • better scsi support
    • pci subsystem id for pci devices
      • this will cause Windows guest to rediscover hardware
    • improved I/O parallelism
    • ppc kvm support
    • hpet support
      • not fully integrated yet
    • monitor 'info status' command
  • merge bochs-bios-cvs
    • uuid support
    • prepare for S3 sleep
  • merge vgabios-cvs
  • much improved guest debugging (Jan Kiszka)
    • both debugger in guest and debugger in host
  • fix kvm makefile for separate object dir (Andi Kleen)
  • nested svm (Alexander Graf)
    • run kvm in kvm in kvm...
  • fix ia64 register and stack access from userspace (Jes Sorensen)
  • don't treat a global pte as global if cr4.pge is clear
    • fixes Vista x86 smp failure on boot
  • properly lock virtual i8259 interrupt controller
  • fix large host pages invlpg/resync
    • fixes oops when using host hugetlbfs
  • fix vmload instruction misemulated as lidt

kvm-81 [16 dec 2008]

  • merge qemu-svn
    • fix performance regression with qcow2 files
    • improve qcow2 data integrity with cache=writethrough
    • fix display corruption with gnome panel auto-appear
    • scsi improvements
  • shld/shrd instruction emulation and unit test (Guillaume Thouvenin)
  • ppc updates (Hollis Blanchard, Deepa Srinivasan, Christian Ehrhardt)
  • prepare virtio for upstream merging (Anthony Liguori)
  • fix uninitialized variable in virtio-net (Anthony Liguori)
  • fix compile failure on Debian (Amit Shah)
  • fix display loss in opensuse 11 installer
  • fix vmmcall emulation on intel (Amit Shah)
    • fixes amd->intel migration
  • allow userspace to work with modules from kvm-79 and earlier
  • fix undefined behaviour copying cpuid signature (Guillaume Thouvenin)
  • fix build with --kerneldir (Maik Hentsche)
  • really exit if device assignment fails (Mark !McLoughlin)
  • fix vga on ia64 (Xiantao Zhang)
  • simplify nmi injection from userspace (Jan Kiszka)
  • enable virtio zero-copy (Mark !McLoughlin)
    • also fixes crash in rare cases
  • fix display loss on 32-bit hosts
  • reduce tlb flushing when resyncing pages (Marcelo Tosatti)
  • don't resync global pages on context switch (Marcelo Tosatti)
    • improves HIGHMEM performance
  • prepopulate shadow on invlpg (Marcelo Tosatti)
  • fix kvmclock when HZ != 1000 (Eduardo Habkost)
  • fix module unload race oops (Christian Borntraeger)
  • reduce stack footprint on large hosts (Rusty Russell)
  • reduce capability reporting code duplication
  • check for missing pae pdptr on invlpg emulation (Marcelo Tosatti)
    • fixes solaris 10 oops
  • fix handlig of ack from irq shared between assigned and emulated devices (Mark !McLoughlin)
  • fix nmi-vs-irq race for -no-kvm-irqchip (Jan Kiszka)

kvm-80 [7 dec 2008]

  • merge qemu-svn
    • automatic port allocation for vnc and similar
    • improved cdrom media change handling
    • improved debugging support
    • more scsi improvements
    • e1000 vlan offload
  • up to 256 vcpus for ia64 (Jes Sorensen)
  • only request io port permission if device assignment is enabled (Jes Sorensen)
  • fix in-kernel ioapic reset (Jan Kiszka)
    • fixes guest reboot failures
  • fix balloon for systems with page size different from 4K (Hollis Blanchard)
  • fix bios memory reporting with >32G guests (Bill Rieske)
  • drop inclusion of compiler.h in external modules (Xiantao Zhang)
  • use vcpu pointers instead of vcpu numbers (Jes Sorensen)
  • goodbye bool (Jes Sorensen)
  • stop using separate structure for cpu state; use qemu's instead (Jes Sorensen)
  • apic testsuite
  • fix -no-kvm apic with smp (Jan Kiszka)
  • clean up userspace nmi injection (Jan Kiszka)
  • adjust external module for 2.6.28 hosts (Mark McLoughlin)
  • much improved large mtu/gso support for virtio-net (Mark McLoughlin)
  • simplify x86 emulator stack pop operations
  • clean up device assignment code (Mark McLoughlin)
  • fix extboot returning error incorrectly (Glauber Costa)
  • constrain device assignment mmio to page alignment (Han Weidong)
  • ppc speedups (Hollis Blanchard)
  • fix s390 problem state handling (Christian Borntraeger)
  • fix interrupt loss when injecting an nmi
    • fixes Linux guests with nmi watchdog hanging
  • fix ia64 build (Xiantao Zhang)
  • fix emergency reboot and kdump on host while running VMs (Eduardo Habkost)
  • fix syncing of self-referencing ptes (Marcelo Tosatti)
  • add printk() for ia64 vmm (Xiantao Zhang)
  • add crashed vm handler for ia64 (Xiantao Zhang)
  • use correct calling convention into ia64 PAL code (Xiantao Zhang)
  • request interrupt window after injecting an interrupt if another is pending
  • plug ppc memory leak when destroying a vm
  • sign kvmclock as a paravirt operation (Glauber Costa)
  • MSI support for device assigment (Sheng Yang)
  • fix shadow pagetables leak (Marcelo Tosatti)
    • fixes an oops
  • optimize setting new pte while syncing a page (Marcelo Tosatti)
  • reduce code duplication in x86 emulator
  • fix s390 refcounting; allow module unload (Christian Borntraeger)
  • fix s390 memory leak (Christian Borntraeger)
  • prevent tracing calls into unloaded module (Wu Fengguang)
  • fix sparse warnings (Hannes Eder)
  • clean up irq ack notifiers (Mark McLoughlin)
  • powerpc large page support (Hollis Blanchard)
  • faster powerpc shadow tlb handling (Hollis Blanchard)
  • reduce powerpc guest tlb miss rate on context switches (Hollis Blanchard)
  • powerpc exit timing stats (Hollis Blanchard)
  • fix -no-kvm-irqchip not working with smp (Jan Kiszka)
  • fix rendering regressions introduced by upstream qemu rendering support

kvm-79 [12 nov 2008]

  • merge qemu-svn
    • fix qcow2 problems with scsi
    • 'info chardev' monitor command
  • device assignment userspace (Amit Shah, Muli Ben Yehudah, Ben-Ami Yassour, Weidong Han, Or Sagi, Nir Peleg, Glauber Costa, Xiantao Zhang)
  • multiple processor infrastructure for ppc (Hollis Blanchard)
  • fix error handling in eventfd() emulation (Mark !McLoughlin)
  • handle large mtu with virtio-net (Mark !McLoughlin)
  • move x86 specific device assignment code to x86 files (Christian Ehrhardt)
  • fix 'pci_add' command descriptor (Weidong Han)
  • enable pci function level reset for device assignment (Sheng Yang)
  • fix incorrect handling of aliases gfns (Izik Eidus)
  • ppc optimizations (Hollis Blanchard, Christian Ehrhardt)
  • disallow guests from setting memory type when using EPT (Sheng Yang)
  • fix cpuid leaf 11 loop termination (Nitin A Kamble)
  • fix cpuid multiple leaf iteration (Nitin A Kamble)
  • fix ia64 uniprocessor build (Xiantao Zhang)
  • fix ppc Kbuild constraints (Hollis Blanchard)
  • fix pit initialization memory leak

kvm-78 [2 nov 2008]

  • fix paravirt kernels due to missing oos flush (Marcelo Tosatti)
  • code cleanups (Sheng Yang)
  • fix guest shared interrupts for device assignment (Sheng Yang)
  • avoid stale asm-offsets.h on ia64 (Xiantao Zhang)
  • fix ia64 halt emulation (Xiantao Zhang)
  • extend slot bitmap on i386 (Sheng Yang)
  • move private memory slots to avoid conflict with device assignment (Sheng Yang)
  • future-proof device assignment ABI
  • add emulation and unit tests for add acc, imm instruction (Guillaume Thouvenin)
  • fix nmi watchdog emulation (Jan Kiszka)
  • optimize nmi watchdog delivery (Jan Kiszka)
  • require irq ack notifier to be used with in-kernel irqchip (Sheng Yang)
  • don't halt non-boot cpu if using in-kernel irqchip (Gleb Natapov)
  • add cscope definitions (Sheng Yang)
  • merge qemu-svn
    • new live migration implementation
    • usb improvements
    • migration fixes
  • read UUID from qemu (Gleb Natapov)
  • increase max cpu count to 255 for ia64 (Xiantao Zhang)
  • handle INIT before SIPI (Gleb Natapov)
  • update ppc for nmi changes (Christian Ehrhardt)
  • fix external module generation unifdef problem (Sheng Yang)
  • set 'g' bit of segment descriptor on AMD when necessary (Amit Shah)
  • set 'busy' bit of task descriptor on AMD when necessary (Amit Shah)
    • fixes some AMD->Intel live migration failures
  • use emulator to adjust rip of pio string instructions (Guillaume Thouvenin)
  • increase rmap preallocation (Marcelo Tosatti)
    • fixes oops on mmu intensive smp workloads
  • handle mmio in big real mode (Guillaume Thouvenin)
  • reorganize ia64 guest data area (Xiantao Zhang)
  • fix ia64 guest signal mask (Xiantao Zhang)
  • reduce locking when vcpu is halted (Xiantao Zhang)
  • update e820 table for ept real mode identity map page (Sheng Yang)
  • fix external module build with kvmtrace
  • fix ppc xer access (Christian Ehrhardt)
  • fix ppc threading (Hollis Blanchard)
  • implement libcflat for ppc 44x (Hollis Blanchard)
  • set smp limit for ppc (Hollis Blanchard)
  • fix ppc memory setup (Christian Ehrhardt)

kvm-77 [12 oct 2008]

  • merge bochs-bios-cvs
  • merge qemu-svn
    • more -cpu options
    • faster disk emulation (esp. with scsi/virtio)
  • improved NMI support (Jan Kiszka)
  • improve >4GB memory support (Alex Williamson)
  • memory alias cleanups (Glauber Costa)
  • fix kvmtrace segfault (Ryota OZAKI)
  • make external module compile on split source/object configs (Alexander Graf)
    • allows compiling on opensuse
  • fix -std-vga regression
  • fix migration failure at end of migration protocol
  • map mmio pages for device assignment (Weidong Han)
  • silence lapic kernel messages (Jan Kiszka)
  • fix vcpu reset (Gleb Natapov)
  • fix missed invlpg on EPT-enabled machines with EPT disabled (Marcelo Tosatti)
  • device assignment on ia64 (Xiantao Zhang)
  • memory type support on EPT (Sheng Yang)

kvm-76 [28 sep 2008]

  • merge qemu-svn
    • improved usb support
    • vnc improvements
    • pass uuid to guest
    • scsi improvements
  • change virtio-blk to guest-endian configuration (Liu Yu)
  • add 'call near absolute' to x86 emulator and testsuite (Mohammed Gamal)
  • drop support for kernel memory allocation (Glauber Costa)
  • avoid fiddling with ISA mappings (Jan Kiszka)
    • improves debugging support
  • fix external module build on 2.6.22 hosts
  • make kernel and userspace memory slot count agree (Sheng Yang)
  • add 'cmp' to x86 emulator testsuite (Mohammed Gamal)
  • allow 'make sync' from toplevel directory
  • external module compatibility for get_user_pages_fast() api (Jan Kiszka)
  • correct mtrr setup with >= 4GB RAM (Alex Williamson)
  • fix ia64 boot with acpi enabled (Xiantao Zhang)
  • initialize userspace kvm context (Uri Lublin)
  • fix ia64 with >= 3GB RAM (Xiantao Zhang)
  • avoid allocating translated code buffer when using kvm
  • simplify memory registration (Glauber Costa)
  • support kvmtrace with external module (Eduardo Habkost)
  • ia64 init code simplification (Jes Sorensen)
  • ia64 external module compatibility with older kernels (Xiantao Zhang)
  • fix live migration due to slot number getting lost (Uri Lublin)
  • prevent live migration if a device is missing on the target (Uri Lublin)
  • fix include-compat/asm symlinks (Uri Lublin)
  • do not execute halted vcpus (Marcelo Tosatti)
  • fix global tlb flushes with NPT (Joerg Roedel)
  • fix preemption error on real mode emulation
  • fix page aging with EPT (Sheng Yang)
  • simplify locking around ppc shadow tlb page access (Hollis Blanchard)
  • cleanup redundant vmcs read (Jan Kiszka)
  • fix 64-bit jmp instruction emulation
  • move vmx msr definitions to common code
  • better support for instructions that reference the accumulator (Guillaume Thouvenin)
  • add cmp acc, imm instruction emulation (Guillaume Thouvenin)
  • kernel support for device assignment (Allen Kay, Amit Shah, Weidong Han, Ben-Ami Yassour)
  • switch to using get_user_pages_fast() (Marcelo Tosatti)
    • nice speedup on 2.6.27+ hosts
  • build fix for ia64 (Jes Sorensen)
  • code cleanup (Harvey Harrison)
  • avoid entering guest after a startup IPI (Gleb Natapov)
  • simplify 'push reg' instruction emulation (Guillaume Thouvenin)
  • fix error handling on vcpu creation failure (Glauber Costa)
  • support Tukwilla ia64 processors (Xiantao Zhang)
  • fix tlb flush when converting a large page to small pages (Marcelo Tosatti)
  • out-of-sync shadow (Marcelo Tosatti)
  • reduce inter-processor interrupt generation when using the PIC (Marcelo Tosatti)

kvm-75 [10 sep 2008]

  • add 1280x768 std-vga resolution
  • ballooning (Anthony Liguori)
    • requires 2.6.27+ host to work correctly
  • fix bad memory sizing on ia64 (Xiantao Zhang)
  • restore option roms to their original content on reset
    • fixes extboot failures after reset
  • enable ia64 power manangement (Xiantao Zhang)
  • add cld/std/cli/sti/clc instructions to testsuite (Mohammed Gamal)
  • fix compile errors on hosts that lack MADV_DONTFORK
  • avoid accessing CMOS NVRAM from ACPI AML (Gleb Natapov)
    • fixes rare reboot failures with Windows
    • fixes ACPI error messages in Windows event log
  • add mp state for ia64 (Xiantao Zhang)
  • add missing prototypes (Jes Sorensen)
  • fix compiler warnings (Jes Sorensen)
  • add in/out instructions to emulator (Mohammed Gamal)
  • use Windows pcr instead of guest's tr for tpr patching cpu id
    • fixes hibernate/resume with guest smp
  • account for realmode/npt/ept page faults in statistics
  • fix locking around dirty log tracking
  • flush tlbs after fetching the dirty log
  • fix random segfaults with npt (Joerg Roedel)
  • fix setting accessed bit on non-speculative sptes
  • fix tlb flush during page zap
  • slightly optimize event injection with npt
  • add MC5_MISC msr support (Joerg Roedel)
    • fixes Linux bootup warnings
  • make s390 facility bits future proof (Christian Borntraeger)
  • improve s390 guest Kconfig help (Christian Borntraeger)
  • add cld/std instructions to emulator (Mohammed Gamal)
  • fix address overflow in ept (Sheng Yang)
  • add statistic for guest irq injections
  • remove unnecessary remote tlb flush (Joerg Roedel)

kvm-74 [28 aug 2008]

  • make real-mode startup state conform to spec
  • fix scheduling error in experimental big real mode support
  • fix reboot fault handler exception table entry (Eduardo Habkost)
  • x86 emulator code cleanup (Roel Kluin)
  • fix 'neg r/m' instruction emulation forced to byte size
  • fix shadow ptes corruption on i386 hosts running smp guests
  • fix kvmtrace ABI breakage (Adrian Bunk)
  • enable virtio for ia64
  • add generic shadow page table walker
  • allocate internal guest memory as MAP_PRIVATE
  • don't call get_user_pages(.force=1)
    • paves the way for get_user_pages_fast()
  • add mov r, imm instructions to the emulator (Mohammed Gamal)
  • realmode emulator testsuite
  • ia64 external module support (Xiantao Zhang)
  • support tap IFF_VNET_HDR (Mark !McLoughlin)
  • merge qemu-svn
    • improved usb support
    • usb auto connect/disconnect
  • protect against possible corruption during qemu fork() on older hosts (Marcelo Tosatti)

kvm-73 [21 aug 2008]

  • merge qemu-svn
    • improve qcow2 performance with cache=off
    • ide fixes
  • ia64 external module (Xiantao Zhang)
  • external module compatibility with 2.6.27 hosts
  • fix sysenter msrs save/restore (Alexander Graf)
  • fix 2.6.26 host support (Nikola Ciprich)
  • fix linux-user build (Philippe Gerum)
  • virtio-net speedup (Mark !McLoughlin)
  • fix ./configure with multiple arguments
  • support Windows hibernation on non-!FlexPriority hosts
  • fix makefile dependencies (Sheng Yang)
  • fix compiler warnings (Jan Kiszka)
  • work around dhclient checksum offload brokenness (Anthony Liguori)
  • full swapping support (Andrea Arcangeli)
    • needs 2.6.27 hosts
  • internal irq ack notification api (Marcelo Tosatti, Amit Shah, Ben-Ami Yassour, Avi Kivity)
  • fix pit timer interrupt injection logic (Marcelo Tosatti)
  • paravirt guest: query tsc frequency from host (Glauber Costa)
  • pci device assignment (Amit Shah, Ben-Ami Yassour, Weidong Han)
    • still lacking dma
  • fix large page crash on z10 mainframes (Christian Borntraeger)
  • stack usage reduction (Dave Hansen, Sheng Yang)
  • code cleanup (Sheng Yang)
  • fix debug register corruption on Intel hosts (Marcelo Tosatti)
  • fix -no-kvm-irqchip
  • fix irq acking on pic reset (Marcelo Tosatti)
  • ignore spurious timer interrupt acks
  • limit device assignment to privileged user (Amit Shah)
  • big real mode emulation framework (Mohammed Gamal)
  • simpify irq injection (Amit Shah)
  • dummy irq ack notifier for ia64 (Xiantao Zhang)

kvm-72 [28 jul 2008]

  • fix ia64 build breakage (Xiantao Zhang)
  • ppc kvmtrace support (Christian Ehrhardt)
  • merge qemu-svn
    • fixes suspend/resume of multiple nics
    • adds Virtual Distributed Ethernet (vde) support
  • add 'push mem' to patched tpr instructions
  • use host kernel anon_inodes support if available
  • robustify signalfd() emulation
  • avoid losing the iothread on random signals
  • fix test for iothread (Jan Kiszka)
  • remove hypercall device (Anthony Liguori)
  • remove duplicate monitor command (Anthony Liguori)
  • remove unused function declaration (Anthony Liguori)
  • remove unnecessary change to TARGET_PAGE_SIZE (Anthony Liguori)
  • remove qemu/kvm application decoration (Anthony Liguori)
  • add 'info kvm' monitor command (Anthony Liguori)
  • s390 libkvm port (Carsten Otte)
  • fix compile warning (Carlo Marcelo Arenas Belon)
  • fix duplicate #include (Carlo Marcelo Arenas Belon)
  • adjust external module for 2.6.27 hosts
  • avoid tpr patching when the stack is not valid (Marcelo Tosatti)
    • fixes some variant of Windows 2003 SMP
  • fix extboot stomping on reserved interrupt vectors (H. Peter Anvin)
  • remove unused -translation option (Anthony Liguori)
  • fix preemption during copy_from_user_inatomic() on older hosts (Andrea Arcangeli)
  • fix ppc cpu initialization (Hollis Blanchard)
  • drop shadow ptes on memslot destruction (Marcelo Tosatti)
  • improve invalid shadow root page table handling (Marcelo Tosatti)
  • simplify mmu page zapping
  • simplify interrupt processing on Intel
  • remove redundant check for real mode (Mohammed Gamal)
  • add clflush emulation (Glauber Costa)
  • fix race setting shadow ptes on i386
  • consolidate pic isr clearing into a function
  • consolidate exception interrupt vector #defines (Jan Kiszka)
  • fix interrupt reinjection in real mode (Jan Kiszka)
  • unify guest register save/restore code
  • x86 hardware task switching fixes (Marcelo Tosatti)
  • optimize vmx by avoiding saving the host stack pointer
  • fix interrupts being delayed by instruction emulation
    • improves Vista stability
  • fix reloading kvm-intel.ko while changing parameters (Sheng Yang)
  • fix reboot exception entry build bug (Ingo Molnar)
  • ignore no-op DEBUGCTL msr writes (Alexander Graf)
    • fixes Netware
  • fix irq state leak on ia64 (Julia Lawall)
  • s390 fixes (Carsten Otte, Christian Borntraeger, Martin Schwidefsky)
  • ppc guest breakpoint support (Hollis Blanchard)
  • optimize ppc by not saving host tlb state (Hollis Blanchard)
  • reduce ppc guest tlb writes (Hollis Blanchard)
  • avoid guest tlb flushes on guest privilege switches (Hollis Blanchard)

kvm-71 [14 jul 2008]

  • fix virtio isr clearing (Laurent Vivier)
  • kvmtrace ppc userspace support (Jerone Young)
  • avoid fragmenting virtio-blk transfers (Anthony Liguori, Mark !McLoughlin)
  • ia64 build fixes (Anthony Xu)
  • remove unnecessary virtio-net printout (Marcelo Tosatti)
  • remove configure warning about gcc 3 (Carlo Marcelo Arenas Belon)
  • rhel 5.2/centos 5.2 host support
  • merge qemu-svn
    • adds pulseaudio driver
    • nbd client/server
  • disable cpu emulation by default on ia64 (Xiantao Zhang)
  • place test support files in a library (Jerone Young)
  • fix qemu monitor screendump
  • fix lost interrupt when changing a device irq
    • fixes devices going away when disabled and enabled several times
  • fix oops on shutdown freeing coalesced mmio page (Akio Takebe)
  • optimize segment register access in emulator
  • allow run-time enabling of mmu debug
  • fix host msr corruption when host preempt is enabled
  • fix kvmclock (Gerd Hoffmann)
  • rename badly named msrs (Sheng Yang)
  • fix incorrect usage of vmcs_config when using ept (Sheng Yang)
  • emulate performance counter msrs on Intel (Chris Lalancette)
    • allows Linux 2.6.9 guests to boot
  • optimize vapic locking when disabled (Marcelo Tosatti)
  • don't allocate dirty bitmap for s390 (Catsten Otte)
  • fix memory leak on guest exit (Carsten Otte)
  • update s390 guest base and limit (Christian Borntraeger)
  • optimize access to guest registers (Marcelo Tosatti)
  • add memory clobber to hypercalls (Anthony Liguori)
    • fixes booting guests compiled with gcc 4.3
  • fix ioapic hang on heavy load (Mark !McLoughlin)
  • move kvmtrace definitions to common header (Hollis Blanchard)
  • fix suspend/resume on AMD (Joerg Roedel)
  • make some functions static (Adrian Bunk)
  • fix shrinker locking (Marcelo Tosatti)
  • fix ept tlb flush (Sheng Yang)
  • fix signal handling on uninitialized vcpus
  • fix hlt instruction in real mode (Mohammed Gamal)
  • check pic irq range (Ben-Ami Yassour)
  • add function to inject irqs into guests (Amit Shah)

kvm-70 [17 jun 2008]

  • improve virtio net performance (Anthony Liguori)
  • enable pci slot identification for OS X (Alexander Graf)
  • fix guest reset (Jan Kiszka)
  • code cleanups (Jan Kiszka)
  • fix userspace compilation on older kernels (Chris Wright)
  • support running on 2.6.16 hosts (Andrea Arcangeli)
    • including SLES 10
  • generate mptable even for uniprocessor guests
    • helps esx get further along
  • fix corrupted breakpoints (Jerone Young)
  • on_vcpu() mechanism to execute a function on a vcpu thread
  • fix 'info registers' monitor command
  • fix vcpu register access livelock when a vcpu is spinning
  • fix stopping on debug events (Jan Kiszka)
  • fix livelocks in guest debugger (Jan Kiszka)
  • add mtrr support
    • helps esx limp a bit more
  • fix incorrect pmtimer overflow interrupt generation
  • add 'push imm' instruction to testsuite
  • fix on_vcpu() during guest debug (Jan Kiszka)
  • document boot option for drive flag (Carlo Marcelo Arenas Belon)
  • coalesced mmio support (Laurent Vivier)
    • should speed up some workloads
  • allow kprobes to coexist with preempt notifier emulation (Andrea Arcangeli)
  • allow virtio devices to reset themselves (Marcelo Tosatti)
  • asynchronous virtio storage device (Marcelo Tosatti)
    • should improve performance
  • fix deadlock waiting for I/O completion
  • merge qemu-svn
    • remove dependency on gcc 3
    • vnc client segfault fix
    • fix vnc problems on resize
    • qemu-nbd tool
  • fix libkvm memory slot destruction api (Ben-Ami Yassour)
  • enable tpr optimization for smp
    • should drastically speed up Windows XP SMP guests
  • big-endian kvmtrace support (Li Tan)
  • remove unneeded variable (Glauber Costa)
  • convert acpi tables to use the C preprocessor for less repetition
  • external module compatibility for NMI (Alexander Graf)
  • fix live migration with new on_vcpu() calls
  • fix false flooding when a pte points to a page table
    • improves 2.4 pae guests with CONFIG_HIGHPTE
  • enable NMI support on Intel (Sheng Yang)
  • fix zero extension during mmio on ia64 (Jes Sorensen)
  • fix hypercall return value on AMD
    • fixes running CONFIG_KVM_GUEST guests
  • s390: use yield() instead of schedule() (Christian Borntraeger)
  • s390: fix locking order problem (Christian Borntraeger)
  • s390: handle machine checks while guest is running (Christian Borntraeger)
  • s390: fix interrupt delivery (Carsen Otte)
  • s390: send program check on access error (Carsen Otte)
  • s390: fix race when idling (Carsen Otte)
  • ppc: add lwzx/stwz instruction emulation (Hollis Blanchard)
  • ppc: code cleanup (Hollis Blanchard)
  • ppc: report bad gfns (Hollis Blanchard)
  • optimize pio path slightly
  • improve segment register ordering
  • migrate pit timer on vcpu migration (Marcelo Tosatti)
  • emulate jmp far instruction (Guillaume Thouvenin)
  • emulate mov reg, imm instruction (Guillaume Thouvenin)
  • emulate mov reg, sreg instruction (Guillaume Thouvenin)
  • optimize mmu page prefetching
  • emulate push imm instruction
  • avoid mmu page prefetching on AMD
  • allow VMware Server to take over vmx when unloading the module (Eli Collins)
  • avoid spinning during large guest teardown
  • fix ioapic interrupt sharing (Marcelo Tosatti)
  • fix crash on resume from suspend to ram (Andrea Arcangeli)
  • fix race between timer migration and vcpu migration (Marcelo Tosatti)
  • close timer injection race when entering guest mode (Marcelo Tosatti)
  • fix reverse map corruption with large pages (Marcelo Tosatti)
  • fix large page pte updates on non-pae guests (Marcelo Tosatti)
  • avoid timer injection if timer already pending (Marcelo Tosatti)
  • avoid linear rip calculation if not reporting (Glauber Costa)
  • fix host oops on guest userspace access to guest page table
  • improve emulation failure reporting
  • emulate nop and xchg reg, acc (Mohammed Gamal)
  • handle undecoded rex.b when r/m = 5
  • simplify r/m and sib decoding
  • simplify relative rip decoding
  • avoid segment adjust for lea instruction

kvm-69 [19 may 2008]

  • fix kvm guest clock compile error without apic (Glauber Costa)
  • support PIT mode 3 (Aurelien Jarno)
    • needed by GNU Hurd
  • fix host oops emulating smsw on AMD
  • fake performance counter MSRs on AMD (Chris Lalancette)
    • fixes RHEL 4 guests
  • fix virtio compile error on s390 (Heiko Carstens)
  • fix hlt emulation when PIT is running but not injecting interrupts (Marcelo Tosatti)
  • ditto for local apic (Marcelo Tosatti)
  • fix kernel and userspace structure name clash on ia64 (Xiantao Zhang)
  • fix GVMM module including non-PIC objects (Xiantao Zhang)
  • 'make mrproper' fix (Andrew Morton)
  • fix host oops on emergency reboot when hitting virt instructions
  • simplify host cpu unplug
  • fix kvm_vcpu_block() state race (Marcelo Tosatti)
  • set iosapic pin count to 48 for ia64 (Xiantao Zhang)
  • ppc: fix compile warning (Hollis Blanchard)
  • ppc: fix lost simultaneous interrupts (Hollis Blanchard)
  • ppc: log failed DCR accesses (Hollis Blanchard)
  • ppc: order IRQ bit numbers as per docs (Hollis Blanchard)
  • ppc: remove IRQ polarity code (Hollis Blanchard)
  • ppc: remember state of level-triggered interrupts (Hollis Blanchard)
  • ppc: emulate pci controller on 440 SoC (Hollis Blanchard)
  • ppc: add pci controller to bamboo platform (Hollis Blanchard)
  • external module compatibility updates
  • merge qemu-svn
    • fix CVE-2007-1320 - Cirrus LGD-54XX "bitblt" heap overflow
    • allow boot device change from the monitor
    • reduce spurious vga updates
    • fix CVE-2008-2004 - format guessing vulnerability
  • remove merge conflict leftover (Carlo Marcelo Arenas Belon)

kvm-68 [4 may 2008]

  • Intel EPT support (Sheng Yang)
  • Code cleanups (Harvey Harrison)
  • Fix task switch busy bit setting (Izik Eidus)
  • Reduce guest idle cpu usage on ppc (Hollis Blanchard)
  • Support floating point instructions on ppc (Christian Ehrhardt)
  • Fix lmsw emulation
    • fixes host oops on AMD
  • Add PIT mode 4 support (Marcelo Tosatti)
    • fixes DragonflyBSD
  • Avoid spurious exceptions on state reload (Jan Kiszka)
  • Add SVM kvmtrace support (Joerg Roedel)
  • Avoid schedule-in-atomic on 2.6.26 hosts (Andrea Arcangeli)
  • Handle vma regions with no backing page (Anthony Liguori)
    • yet another step on the way to pci device assignment
  • move external module compatibility code into .c file
  • build: sync non-x86 kvm headers
  • avoid using kernel headers; use installed libc headers instead
  • don't exit iothread berfore all vcpus are stopped (Dor Laor)
  • libkvm uninitialized variable fix (Marcelo Tosatti)
  • remove old user/config.mak (Jerone Young)
  • fix vcpu startup race (Anthony Liguori)
  • dump all libkvm errors to stderr (Jan Kiszka)
  • fix cross-compilation (Jerone Young)
  • fix kvm_show_code() to work on ROM and real-mode (Jan Kiszka)
  • allow qemu -kernel option with extboot (Mark !McLoughlin)

kvm-67 [28 apr 2008]

  • s390/ia64: compile fix (Christian Borntraeger)
  • s390: change virtio interrupt to follow arch specification (Christian Borntraeger)
  • close vcpu refcounting race (Al Viro)
  • code cleanups (Hollis Blanchard, Christian Borntraeger)
  • ppc 44x support (Hollis Blanchard, Jerone Young)
  • reduce cr8 intercepts on AMD (Joerg Roedel)
    • speeds up Vista x64
  • fix locking in paravirt mmu support (Marcelo Tosatti)
  • fix ppc build on non-44x (Stephen Rothwell)
  • fix PIT time-drift compensation with multiple guests (Marcelo Tosatti)
  • merge qemu-svn
  • spin up vcpu threads before setting lapic contents
  • pass disk geometery to extboot loader (Ryan Harper)
  • separate header copying from source copying in 'make sync'
  • implement 'hypervisor present' cpuid bit
  • fix address truncation on ia64 (Jes Sorensen)
  • handle nic/storage hotplug failure gracefully (Chris Wright)
  • more kvm_stat display options
  • fix qemu system_powerdown with Linux guests

kvm-66 [16 apr 2008]

  • adjust external module for 2.6.25 module locations (Anthony Liguori)
  • fix userspace compilation failure without kernel pit (Joerg Roedel)
  • kvmtrace performance monitoring mechanism (Eric Liu)
  • stop all vcpus before saving their state (Marcelo Tosatti)
    • fixes smp live migration
  • save/restore kernel apicbase (Marcelo Tosatti)
  • block SIG_IPI signals (Marcelo Tosatti)
  • smsw mem16, lmsw mem16 emulation and unit tests
  • fix compile warnings (Jerone Young)
  • fix reset with iothread
  • ia64 architecture support (Xiantao Zhang, Anthony Xu)
  • don't assume guest pages are backed by a 'struct page' (Anthony Liguori)
    • needed for pci device assignment
  • register kvm's ioctl range
  • fix hardware task switching buglet (Izik Eidus)
  • fix mce handling on AMD (Joerg Roedel)
  • do hardware task switching in hardware when NPT is enabled (Joerg Roedel)
  • fix timer race waking up a halted vcpu with smp (Marcelo Tosatti)
  • fix irq race leading to irqs delivery delays (Marcelo Tosatti)
  • fix triple fault handling on AMD
  • fix lea instruction emulation

kvm-65 [6 apr 2008]

  • fix hotplug build for non-x86 (Xiantao Zhang)
  • ignore reads from the apic EOI register (Glauber Costa)
    • fixes Linux 2.6.25-rclate bootup problems
  • compile fixes (Carlo Marcelo Arenas Belon)
  • fix ftruncate() on hugetlbfs use on older Linux hosts (Marcelo Tosatti)
  • endianness fix virtio-block (Anthony Liguori)
    • fixes virtio-blk on ppc
  • refactor in-kernel PIT to be a separate device (Anthony Liguori)
  • separate thread for I/O completions and timers (Marcelo Tosatti)
  • fix vmmouse smp (Anthony Liguori)
  • fix loading uninitialized variable into apic registers (Marcelo Tosatti)
    • fixes apic being disabled on smp Linux guests running X
  • disable kvm clock on Voyager or SGI Visual WS (Randy Dunlap)
  • s390 support (Carsten Otte, Martin Schwidefsky, Christian Borntraeger, Heiko Carstens)
  • fix large pages (Marcelo Tosatti)
  • speedup msr processing on Intel via msr bitmap (Sheng Yang)
  • add slab shrinker support (Izik Eidus)
    • reduces nonswappable footprint under memory pressure
  • code cleanup (Joerg Roedel)
  • vm refcounting (Izik Eidus)
  • only mark a page as accessed if it was really accessed by the guest
  • drop slots_lock while in guest mode
    • fixes long latencies with iothread
  • prepopulate guest pages only after write-protecting them (Marcelo Tosatti)
    • fixes smp race leading to guest spinning

kvm-64 [27 mar 2008]

  • kvm clock fixes (Glauber Costa)
  • kvm clock enable/disable bit (Glauber Costa)
  • in kernel pit model (Sheng Yang)
    • improves timing accuracy for certain guests
  • fix bad tss handling causing ioperm() to fail on the host
  • paravirt mmu support (Marcelo Tosatti, Anthony Liguori, Avi Kivity)
  • set accessed bit on non-speculative shadow ptes
    • minor performance improvement
  • fix init_rmode_tss() locking (Marcelo Tosatti)
  • fix dirty bit being lost when write permissions are removed from a page (Izik Eidus)
  • code cleanups
  • module option for disabling flexpriority
  • fix apic access page memory leak
  • hardware task switching support (Izik Eidus)
    • for freedos and similar guests
  • fix extboot failures under certain conditions (Anthony Liguori)
  • export vcpu thread ID via qemu monitor (Glauber Costa)
    • can be used to implement vcpu->cpu pinning
  • pci hotplug (Marcelo Tosatti)
    • can now add and remove nics and drives dynamically
  • fix virtio memory region sizing (Marcelo Tosatti)
  • fix segfault on disabled virtio nic (Dor Laor)
  • fix sci interrupt on pmtimer wraparound (Dor Laor, Yaniv Kamay)
  • fix qemu exit on pci hotplug failure (Ryan Harper)
  • fix 'make clean' destroying configuration (Ryota Ozaki)
  • ppc userspace updates (Jerone Young)
  • improve IDE and SCSI DMA speed

kvm-63 [5 mar 2008]

  • portability: make room for the ia64 register stack (Xiantao Zhang)
  • fix leak when setting the pv clock to an invalid address (Marcelo Tosatti)
  • detect vcpu triple faults (Joerg Roedel)
  • fix race when instantiating a shadow pte
  • fix host crash on guest kexec
  • code cleanups (Harvey Harrison)
  • better tsc handling on Intel hosts with stable tscs
  • cpu hotplug (Glauber Costa)
  • merge qemu-cvs
    • new curses display option
  • change -hugetlb-path to -mem-path (Anthony Liguori)
  • increase pci support from 6 slots to 32 slots
  • document ./configure --disable-cpu-emulation (Jerone Young)
  • fix powerpc cpu initialization (Jerone Young)
  • simplify host_cpuid() assembly code

kvm-62 [26 feb 2008]

  • fix oops running external module on 2.6.25 due to mmdrop (Andrea Arcangeli)
  • backward compatibility for 2.6.25 desc_struct changes
  • fix memory alias mixup (Uri Lublin)
  • add file:// migration protocol (Uri Lublin)
  • fix reading from character devices with flow control (Jan Kiszka)
  • large host page support (Marcelo Tosatti)
  • fix screen corruption with high resolutions (Andreas Winkelbauer)
  • implement vmware vga for kvm (Soren Hansen, Anthony Liguori)
  • even more resolutions for -std-vga (Andreas Winkelbauer)
  • code cleanups (Carlo Marcelo Arenas Belon, Harvey Harrison)
  • allow up to 16 vcpus (Anthony Liguori, Avi Kivity)
  • allow up to 16 memory slots
  • improve vcpu_run error reporting
  • fix host crash on hosts without EFER (Intel Core not 2s)
  • drop kvm private segment descriptor in favor of Linux' desc_struct
  • stat counter for hypercalls (Amit Shah)
  • fake values for MSR_PERF_STATUS (Alexander Graf)
    • needed for Darwin/OS X
  • better root pagetable unpinning (Marcelo Tosatti)
  • paravirt clock fixes (Glauber Costa, Marcelo Tosatti)
  • avoid host hang when guest sets APIC timer to zero
    • also fixes live migration of Windows 2000 guests
  • fix RHEL 5 i386 smp boot due to timer interrupts being routed to all vcpus

kvm-61 [19 feb 2008]

  • paravirtualized clock (Glauber de Oliveira Costa)
  • mmu debug compile fix (Marcelo Tosatti)
  • last branch record virtualization on AMD (Joerg Roedel)
  • fix Windows x64 installer crash on AMD (Joerg Roedel)
  • use new kvm semaphore instead of mmap_sem (Izik Eidus)
    • fixes potential deadlock
  • fix type in vmx header (Ryan Harper)
  • make the supported cpuid ioctl system-wide instead of per-vm
  • fix setting cr0 from userspace (Paul Knowles)
  • add group decoding support to the x86 emulator
  • nested paging support on AMD (Joerg Roedel)
  • allow access to EFER on 32-bit hosts (Joerg Roedel)
    • allows using the nx bit
  • fix copy_from_user_inatomic() call non-preemptible hosts (Andrea Arcangeli)
  • fix smp Linux on AMD (Joerg Roedel)
  • make the code more ppc friendly (Hollis Blanchard)
  • add virtual processor identifier support (VPID) on Intel (Sheng Yang)
  • don't expose pio page to host userspace on non-x86
  • decouple mmio from shadow page tables
  • make function pointer tables constant (Jan Engelhardt)
  • merge qemu-cvs
    • reverse vnc connections
    • e1000 nic emulation
    • more audio options
    • usb serial device emulation
    • cdrom/dvd improvements
    • timer tick reduction
  • e1000 pxe boot rom (Alexey Eremenko)
  • fix 'make clean'
  • merge bios from boch-cvs
    • adds dmi tables
    • enables acpi on 32-bit Linux guests
  • workaround qemu tcg breakage on non-x86 (Anthony Liguori, Xiantao Zhang)
  • adjust external module for removal of fastcall in mainline (Andrea Arcangeli)
  • improve qemu main loop
  • fix live migration with tpr optimization
  • fix external module miscompile with newer kernels (Andrea Arcangeli)
  • fix external module include directory priority problems (Andrea Arcangeli)
  • fix 32-bit host userspace on 64-bit host kernels
  • fix preempt notifier emulation clash with host hardware debug registers (Andrea Arcangeli)
  • adjust external module for 2.6.25
  • fix ioapic live migration not transferring some registers (Chris Lalancette)
  • separate tpr optimization paths for smp and up
  • pio emulation on mmio for ia64 (Xiantao Zhang)
  • fix qemu timer rearm fallout from last merge (Anders Melchiorsen)
  • clean up kvm/qemu interaction (Anthony Liguori)
  • improve ppc dcr handling (Jerone Young)
  • fix 64-bit guest migration failure due to bad lm_capable_kernel init (Uri Lublin)
  • fix bios parallel build (Carlo Marcelo Arenas Belon)
  • update virtio abi (Anthony Liguori)
  • support virtio abi versioning (Anthony Liguori)
  • add powerpc kvm/qemu support (Jerone Young)
  • support ppc 440 "bamboo" board (Jerone Young)
  • improve migration error handling (Chris Lalancette)
  • enable cache on reset in bios
  • fix up testsuite warnings (Bernhard Kaindl)
  • fix aio deadlocks with smp guests

kvm-60 [23 jan 2008]

  • fix compilation with older kernels (Andi Kleen)
  • virtio host support (Anthony Liguori, Dor Laor)
    • includes block and network devices
  • fix power management timer overflow handling
  • fix qemu running with older kernels
  • boot from scsi/virtio (Anthony Liguori)
  • add 1280x800 resolution to -std-vga
  • fix acpi sci interrupt generation
  • compile fixes (Carlo Marcelo Arenas Belon)
  • update ide cdrom to match qemu (Carlo Marcelo Arenas Belon)
  • fix extboot on older gcc (Christian Ehrhardt)
  • powerpc dcr tests (Christian Ehrhardt)
  • rtl8139 is now the default nic type (Guido Guenther)
  • acpi power button support (Guido Guenther)
  • powerpc testsuite harness (Hollis Blanchard)
  • powerpc libkvm support (Jerone Young)
  • bump piix4 to rev 3 to avoid slowdown reading pm timer (Marcelo Tosatti)
  • migration updates (Uri Lublin)
  • ia64 smp support in qemu (Xiantao Zhang)
  • fix acpi vapic page on save/restore
  • move x86 fpu to x86 specific header (Christian Ehrhardt)
  • minor shadow code simplification(Eddie Dong)
  • optimize pae pte updates (Eddie Dong, Eric Liu)
  • simplify shadow hash table indexing (Eddie Dong)
  • kvm_para.h compile fix (Glauber de Oliveira Costa)
  • dirty page tracking fix (Izik Eidus)
  • fix svm lazy fpu switching (Joerg Roedel)
    • fixes Vista x64 on AMD
  • only allow vmcall/vmmcall on #UD traps (Sheng Yang)
  • fix unbounded latency due to a race in the guest entry code
    • with this fix and a realtime kernel, sub 50usec worst case latencies can be achieved
  • move apic timer migration to preemptible code

kvm-59 [3 jan 2008]

  • merge qemu-cvs
    • -drive cache=[on|off] option
    • adds scsi passthrough
  • ide lba48 support for 120GB+ disk images
  • widescreen resolutions for -std-vga
  • libkvm compile fixes (Carlo Marcelo Arenas Belon)
  • mmu scaling (Marcelo Tosatti, Avi Kivity)

kvm-58 [27 dec 2007]

  • add mmu statistics
  • log data on write to unimplemented msr
  • fix memory corruption (mapcount error) after host fork() (Izik Eidus)
  • improve preempt notifier emulation on older kernels (Andrea Arcangeli)
  • refactor IDE CHS guessing (Anthony Liguori)
  • testsuite improvements
  • apic tpr acceleration for Windows guests
    • disabled on smp for now
  • fix warnings due to qemu merge (Carlo Marcelo Arenas Belon)
  • improve support for older kernels (Carlo Marcelo Arenas Belon)
  • icache sync in qemu after dma for more archs (Christian Ehrhardt)
  • simplify mmio callback (Christian Ehrhardt)
  • align gdbstub with qemu-cvs (Jan Kiszka)
  • fix compile if kernel/include/asm/ preexists (Sheng Yang)
  • fix migration on i386 hosts (Uri Lublin)
  • qemu ia64 adjustments (Zhang Xiantao)

kvm-57 [18 dec 2007]

  • warn when emulating preempt notifiers
  • add pio port 0x80 access test to testsuite
  • merge qemu-cvs
  • add rtc emulation for ia64 (Xiantao Zhang)
  • fix qemu memory allocation off-by-one
  • new kernel source layout (virt/kvm/, arch/x86/kvm/)
  • coalesce remote tlb flushes when write-protecting guest pages (Eddie Dong)
  • lapic debug compile fix (Joerg Roedel)
  • fix smp mmu shadow instantiation race (Marcelo Tosatti)
  • atomic cmpxchg8b on i386 (Marcelo Tosatti)
  • throttle vmx_intr_assist() printk (Ryan Harper)
  • portability (Xiantao Zhang)

kvm-56 [14 dec 2007]

  • Generalize exception handling mechanism
  • fix x86 emulator eflags handling
  • avoid exit to userspace on cr8 write if using kernel lapic on Intel
  • fix stack instructions emulation in 64-bit mode
    • fixes Vista x86
      • except on Woodcrests
  • trap cr8 access on amd
  • mmu simplification
  • fix setting nx bit on shadow pte
  • fix inherited mmu permissions
  • more portability work (Hollis Blanchard, Xiantao Zhang)
  • add cr8 to 'mov cr' instruction emulation (Joerg Roedel)
  • exit to userspace on cr8 write if not kernel apic on amd (Joerg Roedel)
  • atomically set accessed and dirty bit on guest ptes (Marcelo Tosatti)
  • use ->fault() vma op instead of ->nopage()
  • remove abi 10 libkvm compatibility
  • add some x86 emulator tests
  • add many mmu access tests
  • fix rpm build on Fedora 8 (Dan Kenigsberg)
  • fix 'make sync' on debian and derivatives (Ryan Harper)
  • fix live migration (Uri Lublin, Izik Eidus)
  • initial ia64 userspace (Xiantao Zhang)

kvm-55 [4 dec 2007]

  • remove old hypercall driver (Anthony Liguori)
  • disable dirty page logging for main memory (Izik Eidus)
  • fix incorrect page count calculation for dirty logging (Izik Eidus)
  • improve testsuite 'make clean' (Neo Jia)
  • compile fix (Sheng Yang)
  • reorganize x86 emulator main switch
  • don't bypass mmu on pae cr3 reload if pdptrs changed
    • fixes Solaris x86
  • use common defines for EFER (Carlo Marcelo Arenas Belon)
  • portability (Xiantao Zhang)
  • fix kvm_init() error path (Xiantao Zhang)
  • ia64 iosapic support (Xiantao Zhang)

kvm-54 [27 nov 2007]

  • fix fpu leak on AMD (Amit Shah)
    • (on kvm-53, lazy fpu was disabled, so this just improves performance)
  • prefetch instruction bytes when emulating
  • implement guest page fault bypass on nonpae
    • should speed up some 32-bit guests
  • add a bunch of statistics
  • avoid unnecessary remote tlb flushes
    • improves guest smp scaling
  • avoid mmu reloads on guest tlb flushes
  • mmu code simplification
  • disallow using kvm after fork()
  • fix failures while injecting external interrupts in real mode
    • fixes Mandrake 9 regression
  • fix multiple address- and operand- size override prefix emulation
  • infrastructure for using host cpu features on guest (Dan Kenigsberg)
    • not used yet by qemu
  • cmps instruction emulation (Guillaume Thouvenin)
    • allows OpenBSD to boot
  • cleanups (Hollis Blanchard)
  • fix potential memory leak in real-mode smp (Izik Eidus)
  • reduce unnecessary dirtying of pages (Izik Eidus)
  • mark guest pages as accessed with the Linux lru (Izik Eidus)
  • more portability work (Jerone Young, Xiantao Zhang)
  • allow new vmx features even if not using in-kernel apic (Sheng Yang)
  • refactor shadow mmu size calculation (Xiantao Zhang)
  • improve testsuite
  • beginning of x86 emulator unit test
  • fix compile warnings (Carlo Marcelo Arenas Belon)
  • log module version in dmesg on load

kvm-53 [20 nov 2007]

  • testsuite: exit on end of test
  • batch mode for kvm_stat script
  • compile fixes (Carlo Marcelo Arenas Belon, Joe Perches)
  • portability (Jerone Young, Zhang Xiantao)
  • disable lazy fpu on AMD (Amit Shah)
    • should fix instability on AMD
    • will cause performance regression, fix in progress
  • x86 emulator: fix 'push r/m' emulation (Amit Shah)
  • register use reduction in vmx guest entry
  • infrastructure for per-vm stats
    • extends existing per-vcpu stats
  • add mmu, state switch, emulation statistics
  • use copy_{to,from}_user to access guest memory (Izik Eidus)
  • simplify access to guest page tables (Izik Eidus)
  • fix entry to real mode with segment bases beyond 1MB (Jan Kiszka)
  • finally kill last use of cr2 in emulator (Sheng Yang)

kvm-52 [12 nov 2007]

  • fix efer reload host crash on T2600 and similar processors
  • revert sleepy interrupt injection
    • fixes "Fault when IDT_Vectoring"
  • atomically inject real-mode interrupts
  • wbinvd exiting on newer Intel processors (Eddie Dong)
    • fixes real-time issues
  • fix call/jmp instruction emulation (Izik Eidus)
    • fixes Vista x64 installation
  • fix save/restore/migrate with multiple nics
  • fix build on i386 uniprocessor w/ no ioapic hosts
  • fix smp_call_function_single() emulation on older hosts
    • fixes smp guests not booting on RHEL 5 hosts
  • make qemu/kvm memory allocation match plain qemu more closely (Izik Eidus)
    • fixes issues with large memory guests
  • libkvm compile fixes (Carlo Marcelo Arenas Belon, Jerone Young)

kvm-51 [7 nov 2007]

  • fix some x86 emulator one-byte insns (fixes W2K3 installer again)
  • fix host hangs with NMI watchdog on AMD
  • fix guest SMP on AMD
  • fix dirty page tracking when clearing a guest page (Dor Laor)
  • more portability work (Hollis Blanchard, Jerone Young)
  • fix FlexPriority with guest smp (Sheng Yang)
  • improve rpm specfile (Akio Takebe, Avi Kivity)
  • fix external module vs portability work (Andrea Arcangeli)
  • remove elpin bios due to license violation
  • testsuite shutdown pio port
  • don't advertise svm on the guest
  • fix reset with kernel apic (Markus Rechberger)

kvm-50 [2 nov 2007]

  • fix smp_call_function_mask() emulation on preemptible kernels
  • move libkvm into own directory (Hollis Blanchard)
  • fix save/restore/migrate for new memory slot management (Uri Lublin)
  • compile fixes (Uri Lublin, Avi Kivity)
  • fix recursive locking on mmap() (Anthony Liguori)
  • remove some cr2 dependencies from x86 emulator
  • further simplify x86 emulator
  • more portability work (Carsten Otte, Hollis Blanchard)
  • Intel FlexPriority support (Sheng Yang)
  • fix dirty page tracking on aliased pages (Uri Lublin)

kvm-49 [29 oct 2007]

  • Fix PIT time-drift-fix (only with -no-kvm-irqchip) (Dan Kenigsberg)
  • Fix vnc auth error with clients <= 3.7 protocol (Dan Kenigsberg)
  • Don't spin on hlt with interrupts disabled (Dor Laor)
  • Fix pxe boot (Izik Eidus)
  • Hide the Intel real-mode tss from userspace (Izik Eidus)
  • Automatic memory slot management for libkvm (Izik Eidus)
  • Fix problem with std-vga and 4GB guests (Izik Eidus)
  • External module compat for smp_call_function_mask() (Laurent Vivier)
  • More portability work (Jerone Young, Christian Borntraeger, Zhang Xiantao)
  • Fix sleep-in-atomic-context during vcpu init
  • Fix 'push imm8' emulation (fixes W2K3 installer)
  • Intercept invd and wbinvd on AMD
  • Reduce emulator dependency on cr2 (mov abs insns)
  • Move page fault processing to common code
  • Fix rmap memory consumption oops due to increased rmap usage with swap
  • Fix potential memory leak with kernel-allocated memslots (Izik Eidus)
  • Export memory slot allocation mechanism (Izik Eidus)
  • Add kernel-private memslots (Izik Eidus)
  • Fix local apic divide-by-zero (Kevin Pedretti)
  • Improve local apic timer wraparound handling (Kevin Pedretti)
  • Use newly available smp_call_function_mask() (Laurent Vivier)
  • Micro-optimize register usage on vmentry/vmexit (Laurent Vivier)
  • Cleanups, compilation fixes (Akio Takebe, Anthony Liguori, Avi Kivity)

kvm-48 [18 oct 2007]

  • use precise cpu accounting on ppc and s390 (Christian Borntraeger)
  • make guest time accounting actually work (Laurent Vivier)
  • fix host memory corruption when setting the guest dirty bit
  • allow swapping with older userspace (Anthony Liguori)
  • allow custom memory setup using libkvm (Gerd Hoffmann)

kvm-47 [18 oct 2007]

  • Reset fixes (Eddie Dong, Avi Kivity)
  • Portability work (Carsten Otte)
  • Cleanups (Anthony Liguori, Laurent Vivier)
  • Simplify guest pagetable dirty bit management
  • Fix nx bit for huge pages
  • Fix write access to clean large pages (fixes rmap leak)
  • Support for Linux 2.6.16 guests (movnti instruction) (Sheng Yang)
  • Simplify apic timer backlog processing
  • Move interrupt injection out of critical section
  • x86 emulator work (Nitin A Kamble)
  • restore freebsd support on AMD (fix smsw and lmsw) (Aurelien Jarno)
  • Simplify guest page table walker
  • Partial guest swapping (Izik Eidus)
  • kvmctl improvements (Anthony Liguori)
  • libkvm, qemu compilation against older kernels
  • guest time accounting (Laurent Vivier)
  • configure improvements (Carlo Marcelo Arenas Belon)
  • fix 4GB+ configurations (Izik Eidus)
  • cross compilation support (Jerone Young)

kvm-46 [10 oct 2007]

  • fix host oops on bad guest ioapic accesses
  • handle NMIs before enabling host interrupts
  • add general guest memory accessors (Izik Eidus)
  • allow user control over shadow cache size (Izik Eidus)
  • auto tune shadow cache size with guest memory (Izik Eidus)
  • allocate guest memory in userspace instead of in kernel (Izik Eidus)
  • code style fixes (Mike Day, Anthony Liguori)
  • lapic cleanups (Rusty Russell)
  • fix acpi interrupt reporting for FreeBSD
  • fix color problems on certain displays
  • Red Hat 7.1 support
  • vmmouse support (Dan Kenigsberg)
  • fix sdl window caption when keyboard is captured (Dan Kenigsberg)
  • improve libkvm configure script (Jerone Young)
  • improve bios compilation support on x86_64 hosts (Laurent Vivier)
  • fix acpi processor reporting for Windows 2000 with the ACPI HAL (Sheng Yang)

kvm-45 [2 oct 2007]

  • don't use page->private for guest pages (Izik Eidus)
  • x86 emulator cleanups, simplifications, and fixes (Laurent Vivier, Qing He)
  • apic round robin delivery mode cleanup (Qing He)
  • merge qemu-cvs
  • fix compilation on older kernels (Rusty Russell, Avi Kivity)
  • reduce tap networking latency
  • fix FC6 x86_64 booting with -no-kvm
  • fix code dump on exception

kvm-44 [23 sep 2007]

  • fix smp guest boot
  • fix IDE emulation bug with newer guest kernels (S.Çağlar Onur)
  • support VMware server as guest (Ryan Harper)
  • fix smp race in shadow code (Izik Eidus)
  • allow guest page faults to bypass kvm on Intel (performance boost)

kvm-43 [21 sep 2007]

  • fix ioapic edge-triggered interrupt handling

kvm-42 [20 sep 2007]

  • important host oops fix
  • document -no-kvm-irqchip option in qemu help message (Carlo Marcelo Arenas Belon)
  • acpi bios: export pci irqs as active high
  • avoid redelivery of edge-triggered ioapic interrupts if already in service
  • implement ioapic polarity
  • fix x86 emulator merge problems (Nitin A Kamble, Laurent Vivier)
  • fix x86 repne decoding (fixes OpenBSD boot regression) (Laurent Vivier)
  • install kvm_para.h (Gerd Hoffman)

kvm-41 [19 sep 2007]

  • refactor hypercall infrastructure for simplicity and better smp support (Anthony Liguori)
  • fix ioapic level triggered interrupt redelivers (solves networking stalls)
  • reduce efer reloads with 32-bit guests; minor performance improvement
  • split x86 emulator decode and execute stages (Laurent Vivier)
  • fix pic interrupt delivery (solves time going double speed on x86_64 Linux guests) (Qing He)
  • adaptive live migration bandwidth limits (Uri Lublin)

kvm-40 [16 sep 2007]

  • fix guest reboot (most scenarios)
  • further x86 emulator work (Nitin A Kamble)
  • compile fixes for older kernels
  • make the external module work again

kvm-39 [12 sep 2007]

  • provide div64_64() for older kernels
  • improve emulation failure reporting
  • more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
  • don't use TPR shadow on i386 (Sheng Yang)

kvm-38 [12 sep 2007]

  • fix fpu indication for Solaris (Amit Shah)
  • Avoid GFP_NOWAIT allocation in mmu
  • Fix runtime smp_processor_id() warning in lapic
  • Move vcpu loop into subarch independent loop
  • Rename kvm_arch_ops to kvm_x86_ops (Christian Ehrhardt)
  • Fix missing "genapic" on i386 (Eddie Dong)
  • Fix lapic hrtimer migration (Qing He)
  • Fix lapic 64-bit division on i386 (Jindrich Makovicka)
  • Simplify memory allocation ioctl (Laurent vivier)
  • Keep control register shadows in sync (Rusty Russell)
  • Retire invlpg (Rusty Russell)
  • Expose get_cs_db_l_bits for kvm-lite (Rusty Russell)
  • Fix network boot (Anthony Liguori)
  • Round up memory in libkvm (Anthony Liguori)
  • Fix option ROM loading (Anthony Liguori)
  • Revert FACP ACPI change for Vista
  • Fix segfault with -no-kvm
  • lapic hrtimer external module compatibility (Qing He, Avi Kivity)
  • improved (still imprefect) reboot
  • better bios smp detection

kvm-37 [9 sep 2007]

  • in-kernel lapic, ioapic, and pic (Eddie Dong, Qing He, Sheng Yang, Gregory Haskins, Dor Laor, Avi Kivity)
  • split segment reload (vmx microoptimization) (Laurent Vivier)
  • fix vga redraw regression (Izik Eidus)
  • fix testsuite compilation with older assemblers (H. Peter Anvin)

kvm-36 [22 aug 2007]

  • support guests with more than 2GB of RAM on 64-bit hosts (Izik Eidus)
  • fix rare host oops on guest context switch
  • avoid smp_call_function_single() warning on suspend/resume
  • more real mode emulator work (Nitin A Kamble)
  • Windows x64 support (Sheng Yang)
  • close minor signal handling race
  • carry bios in kvm source tree for easier maintenance
  • fix -std-vga (Uri Lublin)
  • advertise kvm in vnc window title (Matthew Kent)
  • fix Windows SMP guests consuming cpu time when idle (Igor Lvovsky)

kvm-35 [15 aug 2007]

  • fix kvm refusing to load on Core processors (Glauber de Oliveira Costa)
  • improve qemu monitor handling CR/LF sequences (Jim Paris)
  • fix compile warning in qemu (Luca Tettamanti)

kvm-34 [13 aug 2007]

  • make kvm preemptible
  • allow calling sleeping functions in the kvm exit handlers (Shaohua Li)
  • this is a first step in getting guest swapping
  • fix running kvm on nx-incapable host kernel on nx-capable hardware
  • fix more fallback from the x86 emulator writeback changes (Aurelien Jarno, Avi Kivity)
  • remove vmx specific code from subarch independent code (Gregory Haskins)
  • allocate vcpus as needed (Rusty Russell)
  • consolidate x86 emulator guest read/write code (Laurent Vivier)
  • cleanup string pio instruction emulation (Laurent Vivier)
  • ensure all cpus have the same vmx features (Sheng Yang)
  • version string for external module
  • disable long mode capability bit on 32-bit kernels
  • fix qemu -isapc (Uri Lublin)
  • fixes for smp live migration
    • this is still raw
  • fix unhandled wrmsr MSR_CSTAR on i386 (Luca Tettamanti)
  • some migration fixes (Jim Paris)
  • the usual cleanups and minor fixes (various but mostly Rusty)

kvm-33 [23 jul 2007]

  • fix massive performance regression

kvm-32 [23 jul 2007]

  • fix oops with the slub allocator (CONFIG_SLUB)
  • fix cmov instruction emulation, trashed by the mmio rmw fix
  • fix rare, silent data corruption on writes that cross a page boundary and touch a page table (Aurelien Jarno, Avi Kivity)
  • fix race between vm creation and vcpu hotunplug (Rusty Russell)
  • fix guest turning on pae with invalid pdptres (Rusty Russell)
  • adapt external module to changed kmem_cache_create() api
  • allow external module on 2.6.22 i386 nonpae
  • fix regression in network throughput caused by guest smp changes (Aurelien Jarno, Avi Kivity)
  • live migration updates (Uri Lublin)
  • minor cleanups (Nguyen Anh Quynh, Avi Kivity)

kvm-31 [19 jul 2007]

  • a few cleanups that somehow evaded kvm-30 (Jeff Dike, Rusty Russell)
  • allow the external module to compile on older kernels.

kvm-30 [19 jul 2007]

  • minor fixes and cleanups (Jeff Dike, Rusty Russell, Avi Kivity)
  • kernel pio string write (Eddie Dong)
  • guest smp kernel fixes
  • rdmsr and wrmsr real mode emulation
  • fix real mode shadow pages aliasing nx large page shadows
  • enable guest smp in qemu
  • fix external module installer
  • revert ide enable changes that caused an I/O regression

kvm-29 [12 jul 2007]

  • live migration from 32-bit hosts to 64-bit hosts (Uri Lublin)
  • monotonic timestamp counter on Intel
  • more real mode support (Nitin A Kamble)
  • infrastructure for in-kernel PIC and APIC (Gregory Haskins, Eddie Dong)
  • fix read-modify-write to mmio (fixes F7 installer) (Luca Tettamanti)
  • fix rebooting a long-running guest
  • reliably detect if svm was disabled by bios (Joerg Roedel)
  • suspend/resumes fixes (will not work with older kernels)
  • fix nx confusion with large pages and real mode
  • remove dependency on libuuid
  • fix registers access in monitor/gdbstub (Anthony Liguori)
  • minor fixes and cleanups (various)

kvm-28 [10 jun 2007]

  • fix host oops on guest context switch
  • many code cleanups (Nguyen Anh Quynh, others)
  • prepare kernel for guest smp
  • update libkvm for guest smp
  • update testsuite for guest smp
  • emulate hlt in real mode (avoids crash when booting from unformatted disk)
  • initialize ata ports for Fedora 7 guests (Luca Tettamanti)

kvm-27 [3 jun 2007]

  • use slab cache for mmu shadow pages
  • make shadow pte updates atomic (for guest smp)
  • general mmu cleanups

kvm-26 [27 may 2007]

  • implement wbinvd emulation, triggered by Windows Vista
  • compile fixes (Markus Rechberger, Avi Kivity)

kvm-25 [24 may 2007]

  • massive performance increase (Eddie Dong)
  • regenerate bios from latest bochs sources, hopefully fixing a regression with some guests
  • some testsuite work (Anthony Lihuori, Eddie Dong, Avi Kivity)
  • minor fixes (various)

kvm-24 [8 may 2007]

  • fix oops loading kvm-intel module on i386 with highmem

kvm-23 [7 may 2007]

  • OpenBSD 4.1 i386 support (Matthew Gregan)
  • Fix host and guest crashes on reboot

kvm-22 [6 may 2007]

  • Significant performance improvements (Anthony Liguori, Eddie Dong, Qing He, Avi Kivity)
  • Fix longstanding bug: time runs at double speed on x86_64 Linux (Qing He)
  • Windows Vista 32-bit support (Qing He, Jun Nakajima)
  • Support for kvm abi 10 modules
  • Minor updates

kvm-21 [27 apr 2007]

  • fix regression on Core (not Core 2) processors
  • performance improvements (Eddie Dong, Anthony Liguori)
  • minor fixes

kvm-20 [24 apr 2007]

  • Windows 2000 support
  • performance enhancements
  • patch against latest kernel tree included in tarball
  • fix oops with 32-bit nonpae guests

kvm-19 [16 apr 2007]

  • bug fixes
  • memory aliasing api

kvm-18 [26 mar 2007]

  • merged new userspace API
  • revert the optimization which killed some 32-bit Linux guests
  • reboot support on Intel hosts (AMD are already supported)
  • better timekeeping under load (Uri Lublin)
  • other minor fixes and cleanups

kvm-17 [25 mar 2007]

  • live migration enhancements (Uri Lublin)
  • better/working acpi support
  • revert to unhacked qemu bios
  • fix some 32-bit nonpae guests (*BSD)
  • initial ballooning support
  • random fixes

kvm-16 [7 mar 2007]

  • bug fixes (including a nasty one on module load)
  • use lanana assigned minor device number for /dev/kvm

kvm-15 [26 feb 2007]

  • live migration with kvm (Uri Lublin)
  • based on Anthony Liguori's qemu patches
  • new userspace interface (work in progress)
  • the usual random fixes

kvm-14 [19 feb 2007]

  • qemu 0.9.0
  • too many goodies to list
  • kvm can no longer share qemu's bios on Intel hosts due to real mode trouble. use the supplied bios.
  • migration now based on Anthony Liguori's live migration patches (Uri Lublin)
    • currently, only non-live migration is supported under kvm
  • handle smi on host on AMD hosts (Joerg Roedel)
  • random fixes

kvm-13 [8 feb 2007]

  • add dirty page tracking in some corner cases for live migration
  • fix lockups on nx-challenged hosts
  • host suspend/resume
    • nobody's testing this, so it's probably broken
  • host cpu hotplug support
  • beginning of paravirt support (Ingo Molnar)
  • guest reboot support (Markus Rechberger, Joerg Roedel)
  • pio latency reduction (Anthony Liguori)
  • stone age kernel compatibility (Markus Rechberger)
  • the usual cleanups and stability fixes

kvm-12 [23 jan 2007]

  • More migration work (Uri Lublin)
  • savevm/loadvm (and migration) work on AMD (Leonard Norrgard)
  • More guest support
  • mmu testsuite and fixes
  • Windows ACPI install/run support (Dor Laor)
  • Fix host reboot on guest reboot on AMD (Joerg Roedel)

kvm-11 [11 jan 2007]

  • stabilization fixes
  • vmexit profiling (Ingo Molnar; requires Linux 2.6.20+)

kvm-10 [7 jan 2007]

  • more hypercall work
  • cleanup irq handling
  • shadow page table caching
  • migration fixes
  • stabilization fixes

kvm-9 [31 dec 2006]

  • API documentation (James Jacobsson)
  • More stabilization fixes (Yoshimi Ichiyanagi, Ingo Molnar, Nguyen Anh Quynh)
  • Interactivity improvements (Dor Laor)

kvm-8 [21 dec 2006]

  • msr fixes (Michael Riepe)
  • more guest support (Michael Riepe)
  • random fixes
  • fpu state corruption fix on AMD hosts

kvm-7 [12 dec 2006]

  • prevent loading arch module on wrong hardware
  • fix for macbooks
  • other minor fixes

kvm-6 [11 dec 2006]

  • AMD 32-bit host support (Anthony Liguori)
  • more migration work
  • stabilization
  • improved performance
  • improved guest support on AMD

kvm-5 [28 nov 2006]

  • AMD SVM support (x86-64 hosts only)
  • Preliminary live migration support
  • 'make install' also installs kernel modules, if selected
  • random fixes

kvm-4 [21 nov 2006]

  • added the msr work
    • suspend/resume should work now
  • more vmdk compatibility work
  • random build updates

kvm-3 [15 nov 2006]

[Avi Kivity retained the natural number versioning after he contemplated the confusion that can arise from having releases 1, 2, and 0.3]

Kernel module

  • make exit reason numbers explicit
  • sync kernel module with -mm tree
    • asm constraint fixes
    • userspace interface blurb
    • segment restore across mode switch (fixes etherboot)
    • segment asm constraint fix (Bernhard Rosenkraenzer)
    • segment access cleanup

libkvm:

  • better error reporting (Simon Kagstrom)
  • 'make clean'
  • attributions and license

kvmctl:

  • add option to launch guest in 32-bit mode
  • add test programs

qemu/kvm:

  • autodetect kvm presence (Simon Kagstrom)

General

  • fix host arch detection on debian
  • fix ./configure on debian (Gildas)
  • toplevel 'make clean'

?? [9 nov 2006]

  • much easier to get running, see updated HOWTO
  • now just one download, get yours while supplies last
  • single qemu binary for kvm and non-kvm runs (Anthony Liguori)
  • accompanying external kernel module package has all bugfixes folded in (plus a bit of cosmetics)

lkml submission v4 [5 nov 2006]

lkml submission v3 [26 oct 2006]

lkml submission v2 [23 oct 2006]

  • [3]
  • fixed a lockup on i386 with host memory >= 4GB
  • finer patch split to conform to vger limits
  • minor fixes
  • send through script to avoid mailer damage

lkml submission v1 [19 oct 2006]