ChangeLog/2.6: Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
* The s390-virtio machine has been removed. | * The s390-virtio machine has been removed. | ||
* Machine types pc-q35-1.4, pc-q35-1.5, pc-q35-1.6, pc-q35-1.7, pc-q35-2.0, pc-q35-2.1, pc-q35-2.2 and pc-q35-2.3 have been removed. | * Machine types pc-q35-1.4, pc-q35-1.5, pc-q35-1.6, pc-q35-1.7, pc-q35-2.0, pc-q35-2.1, pc-q35-2.2 and pc-q35-2.3 have been removed. | ||
* | * The "virt" machine type's flash device has changed when TrustZone is active ("-machine virt,secure=on"). The first flash device is only available in secure memory, while the second is available in non-secure memory too. | ||
=== Future incompatible changes === | === Future incompatible changes === | ||
Line 30: | Line 30: | ||
=== ARM === | === ARM === | ||
* Support for a separate EL3 address sapce | * Support for a separate EL3 address sapce | ||
* System mode supports BE8 and BE32. Note that qemu-system-arm can emulate both big-endian and little-endian guests (unlike user-mode emulation which has separate qemu-arm and qemu-armeb binaries). | |||
* Support for the SETEND instruction, used most notably on Raspbian through the arm-mem library (previously known as libcofi). | |||
* Faster boot thanks to DMA support in fw_cfg | * 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 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 "virt" machine type supports configuring network cards with -nic in addition to -netdev | ||
* The RAM limit for the "virt" machine type is now 255GB | |||
* The "xlnz-zynqmp" machine type now includes SPI controllers | * The "xlnz-zynqmp" machine type now includes SPI controllers | ||
* The "xlnx-ep108" machine type now supports SPI flash | * The "xlnx-ep108" machine type now supports SPI flash | ||
Line 41: | Line 44: | ||
=== MIPS === | === MIPS === | ||
* Support for FPU and MSA in KVM guests | |||
* Support for R6 virtual processors | |||
=== PowerPC === | === PowerPC === | ||
* Improved support for migration of g3beige and mac99 machines | * Improved support for migration of g3beige and mac99 machines | ||
Line 73: | Line 78: | ||
* Improved compatibility of the SD device model with various operating systems and firmwares | * Improved compatibility of the SD device model with various operating systems and firmwares | ||
* The NVMe device supports the "bootindex" property. | * The NVMe device supports the "bootindex" property. | ||
* The SDHCI device supports reset. | |||
==== Character devices ==== | ==== Character devices ==== | ||
==== IDE ==== | ==== IDE ==== | ||
Line 103: | Line 109: | ||
=== Monitor === | === Monitor === | ||
* Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump" (QMP), as well as through the QMP event DUMP_COMPLETED. | * Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump" (QMP), as well as through the QMP event DUMP_COMPLETED. | ||
* Support for a new command "input-send-event" replacing the previous experimental command "x-input-send-event". | |||
=== Migration === | === Migration === | ||
=== Network === | === Network === | ||
Line 111: | Line 117: | ||
* qemu-io --object [...] | * qemu-io --object [...] | ||
* qemu-img --object [...] | * qemu-img --object [...] | ||
* Support for deleting snapshots on Sheepdog devices. | |||
=== Command-line options === | === Command-line options === | ||
Line 129: | Line 136: | ||
* OpenGL now has a dependency on libdrm and mesa-libgbm (in addition to X11). This dependency might be dropped once OpenGL will work on OS X or Windows. For now, libdrm and mesa-libgbm should be available for all current X11 users. | * OpenGL now has a dependency on libdrm and mesa-libgbm (in addition to X11). This dependency might be dropped once OpenGL will work on OS X or Windows. For now, libdrm and mesa-libgbm should be available for all current X11 users. | ||
* QEMU 2.6 does not support anymore Mac OS X versions up to 10.5. For this reason, compiling QEMU on OS X only support Intel processors as of QEMU 2.6. | * QEMU 2.6 does not support anymore Mac OS X versions up to 10.5. For this reason, compiling QEMU on OS X only support Intel processors as of QEMU 2.6. | ||
* QEMU does not support Xen 4.1 and older anymore. | |||
== Known issues == | == Known issues == |
Revision as of 15:16, 7 March 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?
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,[...]".
- The s390-virtio machine has been removed.
- Machine types pc-q35-1.4, pc-q35-1.5, pc-q35-1.6, pc-q35-1.7, pc-q35-2.0, pc-q35-2.1, pc-q35-2.2 and pc-q35-2.3 have been removed.
- The "virt" machine type's flash device has changed when TrustZone is active ("-machine virt,secure=on"). The first flash device is only available in secure memory, while the second is available in non-secure memory too.
Future incompatible changes
- Three options are using different names on the command line and in configuration file. In particular:
- The "acpi" configuration file section matches command-line option "acpitable";
- The "boot-opts" configuration file section matches command-line option "boot";
- The "smp-opts" configuration file section matches command-line option "smp".
- -readconfig will standardize on the name for the command line option.
- Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
- Image encryption is fatally flawed, and will be dropped entirely. It'll remain available only in qemu-img, so you can use 'qemu-img convert' to convert encrypted images to uncrypted ones.
- Block device parameter aio=native has no effect if qemu is compiled without libaio support. It will be made an error. TODO: check if this has changed in 2.6
- A few devices will be configured with explicit properties instead of implicitly. Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
- QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.
Alpha
ARM
- Support for a separate EL3 address sapce
- System mode supports BE8 and BE32. Note that qemu-system-arm can emulate both big-endian and little-endian guests (unlike user-mode emulation which has separate qemu-arm and qemu-armeb binaries).
- Support for the SETEND instruction, used most notably on Raspbian through the arm-mem library (previously known as libcofi).
- 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 RAM limit for the "virt" machine type is now 255GB
- 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
- Support for FPU and MSA in KVM guests
- Support for R6 virtual processors
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
- Support for more hypercalls
s390
- Fixes and improvements in s390x PCI support
SH
SPARC
TileGX
Tricore
- Support for context management, illegal opcode and opd traps
x86
TCG
- Support for the XSAVE/XSAVEOPT, MPX and FSGSBASE 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.
- The SDHCI device supports reset.
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).
PCI/PCIe
TPM
USB
- MTP: initial support for events
VFIO
- Support for AMD XGBE platform passthrough
virtio
- Performance improvements via optimized vring accesses
VGA
Character devices
- Support for TLS encryption in the TCP backend [...]
- -chardev logfile [...]
GUI
- SDL2 and SPICE now support OpenGL and virgl.
- The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off. Previously, only "ipv4" and "ipv6" were available.
Monitor
- Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump" (QMP), as well as through the QMP event DUMP_COMPLETED.
- Support for a new command "input-send-event" replacing the previous experimental command "x-input-send-event".
Migration
Network
Block devices
- The NBD client and server now supports TLS [...]
- Block device throttling now support specifying a burst length as well. While previously the burst could only be specified as a total number of IOPS (e.g. 10000 IOPS), more complex specifications such as "10000 IOPS for 10 seconds" are now possible. Note that, because of the implementation of the algorithm, a guest that is allowed "10000 IOPS for 10 seconds" will also be allowed to perform for example 5000 IOPS for 20 seconds.
- qemu-io --object [...]
- qemu-img --object [...]
- Support for deleting snapshots on Sheepdog devices.
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_*".
- When using "-daemonize", if the "-D" option is in use it will also receive QEMU's stderr output.
Audio
Guest agent
User-mode emulation
- The default CPU for ppc64 and ppc64le is now POWER8
Build dependencies
- OpenGL now has a dependency on libdrm and mesa-libgbm (in addition to X11). This dependency might be dropped once OpenGL will work on OS X or Windows. For now, libdrm and mesa-libgbm should be available for all current X11 users.
- QEMU 2.6 does not support anymore Mac OS X versions up to 10.5. For this reason, compiling QEMU on OS X only support Intel processors as of QEMU 2.6.
- QEMU does not support Xen 4.1 and older anymore.