ChangeLog/2.6: Difference between revisions

From QEMU
No edit summary
(move stuff to the respective section)
Line 1: Line 1:
* MTP: initial support for events
* fw_cfg: DMA support
* ARM Virt: support for power button
* KVM: support for "split irqchip"
* aio=native requires cache=none (deprecated since 2.3)
* secrets (supported by tls-creds):
* secrets (supported by tls-creds):
  $QEMU -object secret,id=sec0,data=letmein
  $QEMU -object secret,id=sec0,data=letmein
Line 9: Line 4:
  $QEMU -object secret,id=sec0,file=mypasswd.txt,format=base64
  $QEMU -object secret,id=sec0,file=mypasswd.txt,format=base64
   + encrypted case
   + encrypted case
* improved SD compatibility
* IPMI support (internal BMC or OpenIPMI lanserv simulator)
* nvdimm?
* nvdimm?
* SDL2 OpenGL support
* New pSeries machines use XHCI as the host controller instead of OHCI
* linux-user?
* linux-user?
* ARM Virt: support -nic
* qemu-char logfile
* qemu-char logfile
* vnc supports ipv4=off and ipv6=off
* xlnz-zynqmp support SPI controllers
* xlnx-ep108 flash
* ARM: support separate EL3 address sapce
* i386: KVM: support for PKU and for migrating the TSC rate
* FDC: support for changing disk geometry (e.g. changing from a 1.44 MB disk to a 2.88 MB disk)
* qemu-char: TLS encrypted TCP chardev
* Improved support for migration of g3beige and mac99 machines
* PPC: gdbstb: VSX support
* nvme: support for bootindex
* -trace enable=...
* -d trace:PATTERN
* ARM: raspi2 machine
* SAS1068 device


== System emulation ==
== System emulation ==


=== Incompatible changes ===
=== Incompatible changes ===
 
* The aio=native option to "-drive" now requires the cache=none option, instead of silently disabling itself for other cache modes.  The newly invalid combination had been warning since QEMU 2.3.
* The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".
* The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".


Line 41: Line 17:
=== Alpha ===
=== Alpha ===
=== ARM ===
=== ARM ===
* Support for a separate EL3 address sapce
* Faster boot thanks to DMA support in fw_cfg
* The "virt" machine type supports a virtual power button and the "system_powerdown" monitor command
* The "virt" machine type supports configuring network cards with -nic in addition to -netdev
* The "xlnz-zynqmp" machine type now includes SPI controllers
* The "xlnx-ep108" machine type now supports SPI flash
* New "raspi2" machine type


* AArch64 KVM: support for guest debugging (software and hardware breakpoints, single step)
==== KVM ====
* Support for guest debugging (software and hardware breakpoints, single step) on AArch64


=== MIPS ===
=== MIPS ===
=== PowerPC ===
=== PowerPC ===
* Improved support for migration of g3beige and mac99 machines
* The gdb stub supports the VSX instruction set extensions
==== pSeries ====
==== pSeries ====
==== Mac99 ====
* pSeries machine types starting at pseries-2.6 use XHCI as the USB host controller instead of OHCI
=== s390 ===
=== s390 ===


Line 59: Line 45:
==== CPU models and features ====
==== CPU models and features ====
==== KVM ====
==== KVM ====
* Support for "split irqchip". In this mode, QEMU emulates the IOAPIC, PIC (i8259) and PIT (i8254) devices while leaving the local APIC emulation to the kernel. This mode reduces the attack surface of KVM.
* Support for the new PKU feature found in some Skylake processors
* Support for migrating the TSC rate
==== Xen ====
==== Xen ====


=== Device emulation and assignment ===
=== Device emulation and assignment ===
* New IPMI emulation subsystem.  QEMU can now emulate an internal BMC or attach to an external BMC simulator such as OpenIPMI's lanserv.
==== ACPI ====
==== ACPI ====
==== Audio ====
==== Audio ====
==== Block devices ====
==== Block devices ====
* The floppy disk controller support changes in the disk geometry, for example changing from a 1.44 MB disk or an empty disk to a 2.88 MB disk
* Improved compatibility of the SD device model with various operating systems and firmwares
* The NVMe device supports the "bootindex" property.
==== Character devices ====
==== Character devices ====
==== IDE ====
==== IDE ====
Line 70: Line 64:
==== Network ====
==== Network ====
==== SCSI ====
==== SCSI ====
* Support for the LSI SAS1068 HBA (also known as "MPT Fusion").  Note that some operating systems will not recognize disks attached to this adapter, unless the disks are assigned a world-wide name (WWN).
==== Shared memory device ====
==== Shared memory device ====
==== PCI/PCIe ====
==== PCI/PCIe ====
==== TPM ====
==== TPM ====
==== USB ====
* MTP: initial support for events
==== VFIO ====
==== VFIO ====
* Support for AMD XGBE platform passthrough
* Support for AMD XGBE platform passthrough
Line 84: Line 81:


=== Character devices ===
=== Character devices ===
* Support for TLS encryption in the TCP backend [...]
=== GUI ===
=== GUI ===
* SDL2 now supports OpenGL.
* The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off.  Previously, only "ipv4" and "ipv6" were available.
=== Monitor ===
=== Monitor ===
=== Migration ===
=== Migration ===
Line 91: Line 94:
=== Command-line options ===
=== Command-line options ===
=== TCG ===
=== TCG ===
=== Tracing ===
* The "stderr" tracing backend was replaced by the "log" tracing backend, which is now the default.  This backend prints tracing messages to the destination specified with the "-D" option.
* In addition to the existing "-trace file=...", tracepoints can be enabled using "-trace [enable=]...".  The new option also supports globbing, as in "-trace bdrv_aio_*".
* In addition to the existing "-trace file=...", tracepoints can be enabling using "-d trace:...".  This option also supports globbing, as in "-d trace:bdrv_aio_*".


== Block devices and tools ==
== Block devices and tools ==

Revision as of 09:16, 26 February 2016

  • secrets (supported by tls-creds):
$QEMU -object secret,id=sec0,data=letmein
$QEMU -object secret,id=sec0,file=mypasswd.txt
$QEMU -object secret,id=sec0,file=mypasswd.txt,format=base64
 + encrypted case
  • nvdimm?
  • linux-user?
  • qemu-char logfile

System emulation

Incompatible changes

  • The aio=native option to "-drive" now requires the cache=none option, instead of silently disabling itself for other cache modes. The newly invalid combination had been warning since QEMU 2.3.
  • The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".

Future incompatible changes

Alpha

ARM

  • Support for a separate EL3 address sapce
  • Faster boot thanks to DMA support in fw_cfg
  • The "virt" machine type supports a virtual power button and the "system_powerdown" monitor command
  • The "virt" machine type supports configuring network cards with -nic in addition to -netdev
  • The "xlnz-zynqmp" machine type now includes SPI controllers
  • The "xlnx-ep108" machine type now supports SPI flash
  • New "raspi2" machine type

KVM

  • Support for guest debugging (software and hardware breakpoints, single step) on AArch64

MIPS

PowerPC

  • Improved support for migration of g3beige and mac99 machines
  • The gdb stub supports the VSX instruction set extensions

pSeries

  • pSeries machine types starting at pseries-2.6 use XHCI as the USB host controller instead of OHCI

s390

  • The s390-virtio machine has been removed.
  • Fixes and improvements in s390x PCI support

SH

SPARC

TileGX

x86

CPU models and features

KVM

  • Support for "split irqchip". In this mode, QEMU emulates the IOAPIC, PIC (i8259) and PIT (i8254) devices while leaving the local APIC emulation to the kernel. This mode reduces the attack surface of KVM.
  • Support for the new PKU feature found in some Skylake processors
  • Support for migrating the TSC rate

Xen

Device emulation and assignment

  • New IPMI emulation subsystem. QEMU can now emulate an internal BMC or attach to an external BMC simulator such as OpenIPMI's lanserv.

ACPI

Audio

Block devices

  • The floppy disk controller support changes in the disk geometry, for example changing from a 1.44 MB disk or an empty disk to a 2.88 MB disk
  • Improved compatibility of the SD device model with various operating systems and firmwares
  • The NVMe device supports the "bootindex" property.

Character devices

IDE

Mouse/keyboard

Network

SCSI

  • Support for the LSI SAS1068 HBA (also known as "MPT Fusion"). Note that some operating systems will not recognize disks attached to this adapter, unless the disks are assigned a world-wide name (WWN).

Shared memory device

PCI/PCIe

TPM

USB

  • MTP: initial support for events

VFIO

  • Support for AMD XGBE platform passthrough
  • Helpers for extracting host device tree properties

virtio

  • Performance improvements via optimized vring accesses

VGA

Character devices

  • Support for TLS encryption in the TCP backend [...]

GUI

  • SDL2 now supports OpenGL.
  • The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off. Previously, only "ipv4" and "ipv6" were available.


Monitor

Migration

Network

Block devices in system emulation

Command-line options

TCG

Tracing

  • The "stderr" tracing backend was replaced by the "log" tracing backend, which is now the default. This backend prints tracing messages to the destination specified with the "-D" option.
  • In addition to the existing "-trace file=...", tracepoints can be enabled using "-trace [enable=]...". The new option also supports globbing, as in "-trace bdrv_aio_*".
  • In addition to the existing "-trace file=...", tracepoints can be enabling using "-d trace:...". This option also supports globbing, as in "-d trace:bdrv_aio_*".

Block devices and tools

Audio

Guest agent

User-mode emulation

Build dependencies

Known issues