ChangeLog
From KVM
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
- fixes Vista x86
- 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]
- [1]
- detect msrs on host dynamically. Avoids oopses on non-ia32e capable processors.
- web site: http://kvm.sourceforge.net
- slightly rediffed
lkml submission v3 [26 oct 2006]
- [2]
- mailing list: kvm-devel@public.gmane.org (http://lists.sourceforge.net/lists/listinfo/kvm-devel)
- applied code review comments
- fixed set_sregs() ioctl corrupting guest state if cr0.pe changed (a polite way of saying that loading a saved vm was broken)
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]