2011-12-25

qemu-1.0

ChangeLog/1.0

From QEMU

Contents

[hide]

General

  • i386-softmmu is no longer named qemu but instead referred to as qemu-system-i386 for better consistency with other targets. A new tool is likely to be introduced that uses the qemu name so distributions are advised to not undo this change.
  • QEMU now uses a separate thread for VCPU execution. This merges the biggest difference between the qemu-kvm tree and upstream QEMU.
  • A new memory dispatch API has been added internally. A new monitor command "info mtree" can show the hierarchy of memory regions in the guest.
  • QEMU now has a build dependency on glib and makes extensive use of glib.
  • QEMU now can run on more hosts. Hosts without a native code generator can use the TCG interpreter (TCI). See Features/TCI for more information.

Block devices (disks)

  • QEMU now supports I/O latency accounting in the monitor command "info blockstats".
  • Errors are now tracked per device and are shown by the monitor command "info block".
  • All image formats now support asynchronous operation. IDE and SCSI emulation will use this feature, while other devices (notably floppy and SD) will not.

IDE/ATAPI

  • A large number of bugs were fixed regarding CD media change and tray locking.

SCSI

  • Memory management errors could crash QEMU when scsi-disk encountered I/O errors. Many instances of this problem were fixed.
  • The accuracy of error handling for SCSI emulation has been greatly improved.
  • SCSI devices can now be addressed by channel, target (id) and LUN. Not all emulated HBAs will support this feature (in particular, the LSI controller will not).
  • Block device pass through is now supported through a new scsi-block device. The scsi-block device works with block devices (like /dev/sda or /dev/sr0) rather than /dev/sgN devices, and is more efficient because it does not consume arbitrary amounts of memory when the guest does large data transfers.
  • SCSI CD-ROMs now report media changed events.
  • SCSI CD-ROMs now support DVD images.
  • Bugfixes for IDE media change also apply to SCSI.
  • SCSI devices now report a unit attention condition when the system is started or reset. This may cause problems with old firmware versions.

VDI

  • Now supports discarded blocks in dynamically-sized images.

User-mode networking (SLIRP)

  • SLIRP can process ARP replies and gratuitous ARP requests from the guest.

ARM

  • QEMU now supports the new Cortex-A15 instructions in linux-user mode (via "-cpu any"): VFPv4 fused multiply-accumulate (VFMA, VFMS, VFNMA, VFNMS) and also integer division (UDIV, SDIV).
  • The vexpress-a9, versatileab, versatilepb and realview-* boards now have audio support.
  • QEMU is known not to work on ARM hosts in this release. (ARM target emulation is fine.)

pSeries

  • sPAPR VIO devices can now be created with -device.

Xtensa

  • QEMU now supports DC232b and FSF xtensa CPU cores.
  • QEMU now supports sim (similar to Tensilica ISS) and LX60/LX110/LX200 machines.

Migration

  • QEMU now supports live migration using image files like QCOW2 on shared storage

 

Difference between qemu and qemu-kvm

Depending on your needs, you can choose either to install upstream qemu or qemu-kvm from the official repositories.
Upstream QEMU is a pure emulator, with no hardware acceleration. qemu versions < 0.15.0 do have initial KVM support when QEMU is started with the -enable-kvm parameter, but this implementation is still buggy and nowhere as complete as in qemu-kvm, as many functions still do not work. Starting with qemu version 0.15.0, the qemu-kvm tree has been fully integrated with the qemu tree, and there should not be any difference between qemu -enable-kvm and qemu-kvm. See the [QEMU changelog] for more details.
Upstream QEMU is capable of emulating many different platforms (arm, i386, m68k, mips, ppc, sparc, x86_64, etc). On the other hand, you have qemu-kvm, which is qemu (i386 and x86_64 architecture support only) with KVM (kernel-based virtual machine) additions, allowing you to run virtual machines at close to native speed. qemu-kvm is the version you want if you have a CPU that supports hardware virtualization and you only need to run virtual machines for the i386 and x86_64 architectures (Linux, Windows, BSD, etc).
Not all processors support KVM. You will need an x86-based machine running a recent ( >= 2.6.22 ) Linux kernel on an Intel processor with VT-x (virtualization technology) extensions or an AMD processor with SVM (Secure Virtual Machine) extensions (also called AMD-V). Xen has a complete list of compatible processors. For Intel processors, see also the Intel® Virtualization Technology List.