ChangeLog/2.10
Warning of unsupported host systems
NetBSD is again a supported system.
Unsupported host setups are CPU and operating systems which we do not have access to and are thus unable to test. They will continue to work in this release (though configure will warn you about the unsupported status), but in a future QEMU release we may drop support for those hosts unless somebody volunteers to help us with maintaining them (and can provide build/CI machines).
This affects the CPU architectures:
- ia64
and the OSes:
- GNU/kFreeBSD
- DragonFly BSD
- OpenBSD
- Solaris
- AIX
- Haiku
System emulation
Incompatible changes
Deprecated options
- The command-line option "-hdachs" is now deprecated. Use the geometry options of "-device" instead.
- The command-line option "-usbdevice" is now deprecated, use "-device" instead.
- The parameters "serial", "trans", "secs", "heads", "cyls" and "addr" of the "-drive" option are now deprecated. Use the corresponding options of "-device" instead.
- The monitor commands "usb_add" and "usb_del" are now deprecated, use "device_add" and "device_del" instead.
- The monitor commands "host_net_add" and "host_net_remove" are now deprecated. Use "netdev_add" and "netdev_del" instead.
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.
- Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
- For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
Alpha
68k
- Support for 80-bit FPUs.
ARM
- M profile exception return is implemented correctly
- M profile emulation now supports the MPU
- Exynos421 supports SDHCI and system poweroff
- The ASPEED SoC includes an emulated FTGMAC100 network card and a temperature sensor device.
- Support for ITS save/restore
- zynq supports running for SPIPS flash
MIPS
- Enhanced Virtual Addressing (EVA) support
Nios2
OpenRISC
- Support for shadow registers, idle states, numcores and coreid registers, and the EVBAR and EPH registers.
- Support for migration/savevm
PowerPC
- QEMU now includes a VGA driver for Mac machine types (g3beige/mac99, respectively OldWorld and NewWorld)
- Multi-threaded TCG is enabled for PPC targets.
- Support for POWER9 guests with KVM
- Partial support for POWER9 guests with TCG.
- The powernv machine includes a more complete device tree.
- OpenPIC timers now work
pSeries
s390
- Basic support for using channel-attached 3270 "green screen" devices through the "x-terminal3270" device. Only x3270 is supported as client. See http://wiki.qemu.org/Features/3270 for details.
- CSS ids are visible in "info qtree" and as QOM properties.
- IPL supports the "bootindex" property via LOADPARM.
- Support for vfio-ccw (channel device passthrough). See http://wiki.qemu.org/Features/Channel_I/O_Passthrough for details.
- TCG can use host atomic operations for s390 "LOAD AND x" and "COMPARE SWAP" operations.
- TCG implements EXECUTE completely
- TCG supports LOAD PROGRAM PARAMETER, extended facilities, CPU type and id.
- TCG supports many more less common instructions.
- The cpu model has been updated with the pci-related facilities and the facilities new with z14.
- Adapter interrupt suppression is now supported.
- The ccw bios now supports netboot via TFTP, courtesy of the SLOF libnet code.
SH
- TCG can use host atomic instructions for tas.b
SPARC
TileGX
Tricore
x86
- The Q35 MCH supports TSEG higher than 8MB (the largest size available on real hardware)
- GDB can now look at SSE registers
- Apple SMC emulation implements the error status port
- IOMMU?
KVM
Xen
- Support for muli-page shared rings
Xtensa
- -serial can be used to direct the sim machine's console output to a character device.
Device emulation and assignment
ACPI
- New "-numa cpu" option quickly lets you assign CPUs to nodes by socket/core/thread id (for example a 2-socket x86 machine would be "-numa cpu,node-id=0,socket-id=0 "-numa cpu,node-id=1,socket-id=1" independent of the number of sockets per core.
- Support for ACPI distance info.
Block devices
- The emulated NVMe device supports the Write Zeroes command.
- The emulated NVMe device supports Controller Memory Buffers (currently Submission Queue, Read Data and Write Data support is enabled).
Graphics
- qxl and virtio-gpu support two new properties for the default display resolution, xres and yres
Input devices
- input-linux supports absolute events
IPMI
- Support for FRUs
- SDRs can be loaded from a file.
Network devices
SCSI
- Support for a vhost-user-scsi device
PCI/PCIe
- PCI bridges are presenting again a standard hotplug controller (SHPC) after it was removed in 2.9.
USB
- Support for devices with sparse/non-sequential USB interfaces
VFIO
virtio
- vhost-user supports IOTLB messages.
Xen
- Support for the Xen 9pfs backend.
- QEMU uses libxendevicemodel when available.
fw_cfg
9pfs
Character devices
Crypto subsystem
GUI
Monitor
- New debugging command "info ramblock"
- QMP can now parse 64-bit unsigned values.
- New option "-a" (all) for "info registers", to dump registers for all CPUs
- New command "chardev-send-break"
Migration
- New "return-path" capability lets the source wait for the destination's acknowledgement that migration succeeded, and fails migration if it doesn't get one.
Network
- slirp supports a minimal NC-SI (Network Controller Sideband Interface) backend
Block devices and tools
- Image locking?
- Support for the vxhs network protocol
- Progress information is printed when qemu-img receives a SIGINFO (on operating systems that support it).
- iscsi and rbd support again the filename option that was removed in 2.9. It should not be necessary to use it, but existing images might specify it as their backing filename.
User-mode emulation
- Fixes to many system calls.
TCG
- QEMU can now be built without TCG support, by passing the --disable-tcg option to the configure script. This is only supported on x86 and s390x for now.
- A new helper (via tcg_gen_lookup_and_goto_ptr) has been added to allow inter-page jumps without exiting the generated code.
Guest agent
- New commands 'guest-get-host-name', 'guest-get-users', 'guest-get-timezone'
New dependencies
Build dependencies
- QEMU now prefers SDL2 over SDL1 if both are available.
- QEMU now prefers GTK+3 over GTK+2 if both are available.
Run-time dependencies
Known issues
- see Planning/2.10
- The emulation of Raspberry Pi is still missing some features which are required to run newer versions of Raspbian.