ChangeLog

From KVM
Revision as of 13:33, 1 October 2007 by AviKivity (talk | contribs) (spell my name correctly)

version 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)

version 43 [21 sep 2007]

  • fix ioapic edge-triggered interrupt handling

version 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)

version 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)

version 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

version 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)

version 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

version 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)

version 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)

version 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)

version 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)

version 33 [23 jul 2007]

  • fix massive performance regression

version 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)

version 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.

version 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

version 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)

version 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)

version 27 [3 jun 2007]

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

version 26 [27 may 2007]

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

version 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)

version 24 [8 may 2007]

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

version 23 [7 may 2007]

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

version 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

version 21 [27 apr 2007]

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

version 20 [24 apr 2007]

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

version 19 [16 apr 2007]

  • bug fixes
  • memory aliasing api

version 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

version 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

version 16 [7 mar 2007]

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

version 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

version 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

version 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

version 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)

version 11 [11 jan 2007]

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

version 10 [7 jan 2007]

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

version 9 [31 dec 2006]

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

version 8 [21 dec 2006]

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

version 7 [12 dec 2006]

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

version 6 [11 dec 2006]

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

version 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

version 4 [21 nov 2006]

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

version 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'

version ?? [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)

version v4 [5 nov 2006]

version v3 [26 oct 2006]

version 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

version v1 [19 oct 2006]