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.