ChangeLog/2.10

From QEMU
Revision as of 12:17, 25 July 2017 by Cohuck (talk | contribs) (→‎TCG)

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

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