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 -hdachs option is now deprecated
- The monitor commands "usb_add" and "usb_del" are now deprecated, use "device_add" and "device_del" instead.
- The command-line option "-usbdevice" is now deprecated, use "-device" 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
- Add 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.
- 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)
- 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.
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 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.