ChangeLog/0.14: Difference between revisions

From QEMU
No edit summary
Line 25: Line 25:
* Improved PCI Express support and functionalities with the implementation of:
* Improved PCI Express support and functionalities with the implementation of:
**flr [http://www.pcisig.com/specifications/conventional/pci_30/ECN_Conventional_Adv_Caps_27Jul06.pdf (Function Level Reset)] [http://git.qemu.org/qemu.git/commit/?id=0ead87c8debaf12bf4e8cf5130e4e7fb83dbf126 (commit)]  
**flr [http://www.pcisig.com/specifications/conventional/pci_30/ECN_Conventional_Adv_Caps_27Jul06.pdf (Function Level Reset)] [http://git.qemu.org/qemu.git/commit/?id=0ead87c8debaf12bf4e8cf5130e4e7fb83dbf126 (commit)]  
**aer and other improvements [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/PCI/pcieaer-howto.txt;h=26d3d945c3c21aa965cd9b48c49cc42abf09df3f;hb=HEAD (Advanced Error Reporting)] [http://git.qemu.org/qemu.git/commit/?id=1a1ea6f093eb8cf7c01788bc3708ba7003815563 (commit)] [http://git.qemu.org/qemu.git/commit/?id=34e65944c0351fabcd82aa8c85018980c7e87bff (commit)] [http://git.qemu.org/qemu.git/commit/?id=247c97f3f5ab0dae60778a2dea438bfed5c69e68 (commit)] [http://git.qemu.org/qemu.git/commit/?id=d33d9156fdffb87c99564c9630023da52c66f37a (commit)]
**aer [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/PCI/pcieaer-howto.txt;h=26d3d945c3c21aa965cd9b48c49cc42abf09df3f;hb=HEAD (Advanced Error Reporting)] and other improvements [http://git.qemu.org/qemu.git/commit/?id=1a1ea6f093eb8cf7c01788bc3708ba7003815563 (commit)] [http://git.qemu.org/qemu.git/commit/?id=34e65944c0351fabcd82aa8c85018980c7e87bff (commit)] [http://git.qemu.org/qemu.git/commit/?id=247c97f3f5ab0dae60778a2dea438bfed5c69e68 (commit)] [http://git.qemu.org/qemu.git/commit/?id=d33d9156fdffb87c99564c9630023da52c66f37a (commit)] [http://git.qemu.org/qemu.git/commit/?id=61620c2fff7dda789dbba513c18f534c0062062b (commit)] [http://git.qemu.org/qemu.git/commit/?id=a158f92fa78b1e87e5d196b72b750fedefb7b43e (commit)] [http://git.qemu.org/qemu.git/commit/?id=09b926d44674cbcf198425a5b8255e3cacb398ae (commit)] [http://git.qemu.org/qemu.git/commit/?id=c3f33667a64a6de0b92106c862247d97d81490ef (commit)] [http://git.qemu.org/qemu.git/commit/?id=2b3cb353e7af7a90eec22ba9720dcef2a80c7f6f (commit)] [http://git.qemu.org/qemu.git/commit/?id=5f47c187d992d5147397ddd5323c732d3d39cb8f (commit)] [http://git.qemu.org/qemu.git/commit/?id=513691b7ff20262efe9aafb85c8dd4615588ad48 (commit)]
[http://git.qemu.org/qemu.git/commit/?id=61620c2fff7dda789dbba513c18f534c0062062b (commit)] [http://git.qemu.org/qemu.git/commit/?id=a158f92fa78b1e87e5d196b72b750fedefb7b43e (commit)] [http://git.qemu.org/qemu.git/commit/?id=09b926d44674cbcf198425a5b8255e3cacb398ae (commit)] [http://git.qemu.org/qemu.git/commit/?id=c3f33667a64a6de0b92106c862247d97d81490ef (commit)]
[http://git.qemu.org/qemu.git/commit/?id=2b3cb353e7af7a90eec22ba9720dcef2a80c7f6f (commit)] [http://git.qemu.org/qemu.git/commit/?id=5f47c187d992d5147397ddd5323c732d3d39cb8f (commit)] [http://git.qemu.org/qemu.git/commit/?id=513691b7ff20262efe9aafb85c8dd4615588ad48 (commit)]
**A new monitor command to inject errors into the PCI bus: '''pcie_aer_inject_error''' [http://git.qemu.org/qemu.git/commit/?id=2ae63bda50ec864a3e61d375b53c8e453ad50140 (commit)]
**A new monitor command to inject errors into the PCI bus: '''pcie_aer_inject_error''' [http://git.qemu.org/qemu.git/commit/?id=2ae63bda50ec864a3e61d375b53c8e453ad50140 (commit)]
* Implementation of [http://en.wikipedia.org/wiki/Message_Signaled_Interrupts Message Signaled Interrupts] (MSI/MSI-X) support [http://git.qemu.org/qemu.git/commit/?id=e4c7d2aef899780f9b9b86343bca4ac34c9e252f (commit)]
* Implementation of [http://en.wikipedia.org/wiki/Message_Signaled_Interrupts Message Signaled Interrupts] (MSI/MSI-X) support [http://git.qemu.org/qemu.git/commit/?id=e4c7d2aef899780f9b9b86343bca4ac34c9e252f (commit)]

Revision as of 17:36, 26 January 2011

QEMU 0.14.0 IS NOT YET RELEASED

0.14.0

Targets

i386/x86_64

PPC

ARM

Sparc

MIPS

Devices

IDE / AHCI

SCSI

USB

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) For more information about ioeventd: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d34e6b175e61821026893ec5298cc8e7558df43a

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

  • Add QcowCache. Improves performance of scenarios with lots of cluster allocations noticably (e.g. installation or after taking a snapshot).(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)
  • Other fixes:
    • qcow2: fix unaligned access (commit)
    • Add proper -errno error return values to qcow2_open() (commit)
    • block/qcow2.c: rename qcow_ functions to qcow2_ (commit)
    • block: Remove unused s->hd in various drivers (commit)
    • qcow2: Invalidate cache after failed read (commit)
    • block: Allow bdrv_flush to return errors (commit)
    • qcow2: Remove old image creation function (commit)

qed

  • Introduction of the QEMU Enhanced Disk (qed) image format. It is a disk image format that forgoes features found in qcow2 in favor of better levels of performance and data integrity. Due to its simpler on-disk layout, it is possible to safely perform metadata updates more efficiently. (commit)

(commit) (commit)

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

  • 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: