KVM - The Linux Kernel-Based Virtual Machine
News, Blogs and Resources on the Linux (KVM) Kernel-Based Virtual Machine

qemu 1.x on the horizon

The next release of upstream qemu is scheduled for December 1, 2011 and will be tagged as version 1.0.  Some release candidates have already been published so you can start playing with them if you're interested.  Below is a list of the main targeted features with a short description of each. 


Memory API

The new memory api will be based on new memory modelling which more closely reflects they way memory is implemented in real computer systems. This feature is targeted at developers more than users so this will be transparent if you're an end user.  The new memory api is currently implemented on top of the old api which limits the capabilities of the new api but this is a first step until users of the old api has been migrated. There's still a long list of things todo before the new api is fully implemented. 


Support for Tensilica Xtensa Processor

Emulation is being added for the Tensilica Xtensa processor family. Tensilica develops processor technology primary for use in embedded systems. Currently development allows you to run linux on sim and lx60 boards. You can find more information on this project at the qemu support for Xtensa wiki page.


SCSI Improvements

Due to some shortcomings with the current virtio-block implementation, the KVM development community has decided to implement a virtio-scsi storage stack.  One of the major shortcomings of the virtio-blk design is it's limited feature set.  Further to this, adding new features, even trivial ones, requires a change to the spec for virtio-block. Additionally, the virtio-block implementation has a limitation of one pci device per disk which is not very scalable.

The new virtio-scsi storage stack will keep the efficient design and performance of virtio-blk while providing a richer feature set.  The feature set will depend on the target and not on virtio-scsi itself and there will be multiple target choices eg. qemu and lio. Scalability will be in the order of thousands of disks per pci device and devices will be true scsi devices providing good physical to virtual and virtual to virtual migration.  

Version 1.0 of qemu will see improvements in the SCSI subsystem as a pre-requisite for the development of virtio-scsi. The list of improvements include the following

  • Improved modelling of scsi requests
  • Flexible scsi addressing
  • Improved consistency with the SCSI spec
  • Improved support for emulated SCSI cdrom
  • Migration support

These improvements have already been done to the SCSI subsystem and will be available in the upcoming qemu 1.0.


TCI ( Tiny Code Interpreter )

TCI is a new highly experimental feature that will improve the TCG code generator by running tcg generated code on any 32 or 64 bit host.  Previous to TCI, the code generator, known as TCG, only allowed qemu to run on the most important host architectures such as x86, arm, mips, s390 and sparc. TCI will not create native code but rather bytecode which is interpreted so it will not depend on the host running qemu.  The idea is that by adding a code generator for some virtual machine and using an interpreter for the generated bytecode, you can support almost any host. The only difference to running qemu with or without TCI will be speed. 

The current version available for download is release candidate 1.


See Also



I hope QEMU 1.0 will have the ability to configure the file used for Cirrus PCI/VGA ROM, just like Bochs. Or at least make it 8.3 like all/most other QEMU essential files. Goal would be to have a CD that contains QEMU, a batch script and an ISO so people start a read-only VM by starting the batchfile. Prefer to stick to ISO9660 level 1 filesystem for the CD that hosts these files, which currently can't be done due to the VGA option rom.

Post new comment

The content of this field is kept private and will not be shown publicly.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.