ChangeLog/0.14: Difference between revisions

From QEMU
Line 107: Line 107:


== QMP / monitor ==
== QMP / monitor ==
* TODO: QMP is now stable, except for error reporting?
* The work to facilitate the management of QEMU instances has been improved. [[QMP]] has received various fixes. Now it is possible to call a traditional monitor command through QMP, in case your application depends on the output or the command is not yet ported to QMP.  
* The work to facilitate the management of QEMU instances has been improved. [[QMP]] has received various fixes. Now it is possible to call a traditional monitor command through QMP, in case your application depends on the output or the command is not yet ported to QMP.  
* New commands:
* New commands:

Revision as of 18:15, 1 February 2011

QEMU 0.14.0 IS NOT YET RELEASED

0.14.0

Targets

i386/x86_64

  • Waiting for Anthony, Avi or Marcelo.

ARM and MIPS

  • Waiting for Aurelien.

PPC

  • Fix running recent PPC64 kernels (commit)
  • New maintainer: Alexander Graf (commit)
  • Improve interrupt injection with KVM (commit)
  • Enable PV enabled guests for speedup with KVM (commit) (commit)
  • Floating point fixes
  • Add a ppc-440x5 Xilinx model (commit)
  • Add a virtex5 ml507 refdesign board for ppc-440x5 (commit)
  • BookE MMU emulation improvements (commit) (commit)

s390x

  • No news, business as usual.

Devices

IDE / AHCI

  • Added emulation layer for an ICH-9 AHCI controller (not yet stable). Tested with Linux, OpenBSD, Windows Vista and Windows 7. The AHCI emulation supports NCQ, so multiple read or write requests can be outstanding at the same time.(commit)

SCSI

  • Ask Kevin.

USB

  • Added USB support for remote wakeup, allowing the guest to suspend the USB bus when idle, which in turn reduces the CPU overhead of an idle machine. (commit) (commit) (commit) (commit)
  • The USB subsystem also got a bunch of patches to prepare it for USB 2.0 support.

virtio

  • virtio-pci can use ioeventfd for virtqueue notify. On systems that support KVM, the ioeventfd mechanism can be used to make virtqueue notify a lightweight exit by deferring hardware emulation to the iothread and allowing the VM to continue execution. This model is similar to how vhost receives virtqueue notifies. The result of this change is improved performance for userspace virtio devices. Virtio-blk throughput increases especially for multithreaded scenarios and virtio-net transmit throughput increases substantially. Read the commit message for more details. (commit) (commit)
  • Various fixes and stabilization for live-migration: (commit) (commit) (commit)
  • Various virtio-net improvements:
    • Make tx_timer timeout configurable (commit)
    • Limit number of packets sent per TX flush (commit)
    • Introduce a new bottom half packet TX (commit)

PCI/PCI Express

Sound

  • New Intel HD Audio support (commit), adding three new devices:
    • intel-hda: Intel HD Audio Controller, the PCI device.
    • hda-duplex: HDA Codec. Attaches to the HDA bus. Supports 16bit stereo, rates 16k -> 96k, playback, recording and volume control (with CONFIG_MIXEMU=y).
    • hda-output: HDA Codec without recording support. Subset of the hda-duplex codec. Use this if you don't want your guests access your mic.
  • Usage: add '-device intel-hda -device hda-duplex' to your command line.
  • Tested guests:
    • Linux works.
    • Win7 works.
    • DOS (mpxplay) works.
    • WinXP doesn't work.

Block Drivers

qcow2

  • Added a writeback metadata cache. This improves performance of scenarios with lots of cluster allocations noticably (e.g. installation or after taking a snapshot), in some benchmarks by a factor of ten or more. Use cache=none or cache=writeback to take advantage from this change. (commit) (commit) (commit)
  • Copy snapshots out of QCOW2 disk, eg: qemu-img convert -f qcow2 -O qcow2 -s snapshot_name src_img bck_img (commit)
  • Zero-copy read and write operations (commit) (commit)
  • Other fixes and code cleanups:
    • qcow2: Invalidate cache after failed read (commit)
    • block: Allow bdrv_flush to return errors (commit)
    • qcow2: Simplify image creation (commit)

qed

ceph/rbd

  • Introduction of the new ceph/rbd block driver. RBD is an block driver for the distributed file system Ceph.(commit)
  • More information about ceph: http://ceph.newdream.net/

nbd

  • Improve qemu-nbd performance by 4400 %. This patch combines the reply header and payload send operation. (commit)
  • Introduce NBD named exports. (commit)

Spice

  • New support for the SPICE protocol. The project main focus is to provide high-quality remote access to QEMU virtual machines. More information about SPICE can be found at the project's web site: http://spice-space.org/
  • New qxl device. qxl is a paravirtual graphics card. The qxl device is the bridge between the guest and the spice server (aka libspice-server). The spice server will send the rendering commands to the spice client, which will actually render them. The spice server is also able to render locally, which is done in case the guest wants read something from video memory. Local rendering is also used to support display over vnc and sdl. qxl is activated using -vga qxl. qxl supports multihead, additional cards can be added via '-device qxl.
  • Relevant commits:

QMP / monitor

  • TODO: QMP is now stable, except for error reporting?
  • The work to facilitate the management of QEMU instances has been improved. QMP has received various fixes. Now it is possible to call a traditional monitor command through QMP, in case your application depends on the output or the command is not yet ported to QMP.
  • New commands:
    • query-spice / info spice (commit)
    • human-monitor-command (commit) (commit)
    • set_password (commit)
    • block_resize command, allowing resizing of block devices while qemu is running (commit). For virtio-blk the size is updated automatically when this command is issued on the host. IDE is not supported. For SCSI devices the new size can be updated in Linux guests by doing the following shell command:
echo > /sys/class/scsi_device/0:0:0:0/device/rescan

Tracing

Other stuff

  • Extend -option-rom command to have additional parameter bootindex (commit)
  • Little endian / big endian MMIO framework. Until now, most devices had special hacks to allow them to work on big and little endian systems (ppc / x86). With that framework, they should mostly work with both and not require and device specific hacks anymore. (commit)