Path to this page:
Subject: CVS commit: pkgsrc/emulators/qemu
From: Ryo ONODERA
Date: 2016-12-30 11:00:16
Message id: 20161230100016.6B34CFBA6@cvs.NetBSD.org
Log Message:
Update to 2.8.0
Changelog:
== System emulation ==
=== Incompatible changes ===
* The number of allow PCI host bridges for pSeries machine was reduced from 256 \
to 31 (more can be configured by setting up MMIO windows manually).
* Removed support for tftp:// in the block layer, since this has been broken \
forever for files bigger than 256KB.
=== 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.
* 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.
* 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).
=== ARM ===
* Improvements to the Aspeed board.
* Support for HLT semihosting traps in AArch32 mode (both ARM and Thumb).
* The ACPI tables for the "virt" machine type support ITS.
* The Cadence GEM device now supports multiple priority queues through the \
num-priority-queues property.
* The STM32F2xx board (Netduino 2) now includes ADC and SPI devices.
==== KVM ====
=== MIPS ===
* Support for 24KEc CPUs.
=== PowerPC ===
* Support for POWER9 CPUs.
* Improvements for the new "powernv" platform.
==== pSeries ====
* PCI host bridges can be associated to NUMA nodes.
* Support for more than 1 TiB of guest memory.
* Support for more than 64 GiB of MMIO window in a PCI host bridge.
* Support for the "-prom-env" parameter
=== s390 ===
* Support for CPU models.
* Support for virtio-ccw revision 2.
=== SH ===
=== SPARC ===
=== TileGX ===
=== Tricore ===
=== x86 ===
* Support for several new CPUID features related to AVX-512 instruction set \
extensions.
* The emulated IOAPIC (used by TCG and, with KVM, if the "-machine \
kernel_irqchip" option has the value "off" or "split") \
now defaults to version 0x20, which supports directed end-of-interrupt messages.
* Support for Extended Interrupt Mode (EIM) in the intel_iommu device. EIM \
requires KVM (Linux v4.7 or newer, for x2APIC support) and "-machine \
kernel-irqchip=split"; it is enabled automatically if interrupt remapping \
is enabled ("-machine kernel-irqchip=split -device \
intel_iommu,intremap=on").
* Support for up to 288 CPUs with the Q35 machine types. 256 or more CPUs are \
only supported if IOMMU and EIM are enabled.
==== Xen ====
* Support for unplugging SCSI disk.
* Support for SUSE xenlinux-compatible device unplug.
=== Device emulation and assignment ===
* QEMU now includes a generic loader pseudo-device that lets you load multiple \
images or values into memory at startup. This device is documented in \
{{src|path=docs/generic-loader.txt}}.
==== ACPI ====
* Support for hotplugging of NVDIMM devices (_FIT)
==== Block devices ====
==== Network devices ====
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
==== SCSI ====
==== PCI/PCIe ====
* The sample EDU device now supports MSI.
* \
[http://git.qemu.org/?p=qemu.git;a=blob;f=docs/pcie.txt;h=9fb20aaed9f41c302419206e1201d151c35e5a1c;hb=HEAD \
PCI Express Guidelines documentation] has been added for advice on topology and \
PCI vs PCIe.
==== USB ====
==== VFIO ====
==== virtio ====
* New device vhost-vsock.
* Initial support for graceful handling of guest errors (i.e. QEMU should not \
exit on guest errors).
* Support for new virtio-crypto device.
==== Xen ====
* Support for grant copy.
=== Character devices ===
=== Crypto subsystem ===
* Support for more hash algorithms for PBKDF.
* Support for CTR mode.
=== GUI ===
* SPICE can use pure OpenGL rendering if "gl=on" is specified.
=== Monitor ===
=== Migration ===
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
=== Network ===
=== Block devices and tools ===
* More QMP commands support node-name (block-stream, block-commit, \
blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, \
blockdev-snapshot-internal-sync, change-backing-file, drive-backup, \
drive-mirror, nbd-server-add).
* The BLOCK_IO_ERROR event now includes the node name.
* More QMP commands accept device model names (block_set_io_throttle, \
blockdev-change-medium, eject, x-blockdev-remove-medium, \
x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
* The DEVICE_TRAY_MOVED event now includes the device id.
* Throttling now applies to the guest device only, and not to block jobs or the \
NBD server.
* drive-backup and blockdev-backup support writing out backups in compressed format.
* The LUKS format now can configure the PBKDF iteration count.
* block-stream supports streaming from a backing file to another backing file.
* Support for replication, for coarse-grained lock stepping (COLO) fault tolerance.
* New "dd" subcomamand of qemu-img.
* The DMG driver can be compiled to a separate driver, so as to make QEMU's \
dependency on libbz2 optional.
* Support for iSER in QEMU's iSCSI initiator through a iser:// URI.
* The NBD client and server support the NBD_CMD_WRITE_ZEROES extension.
* Raw images support "offset" and "size" options to access \
only a part of the file or device.
=== Tracing ===
* New tracing backend "syslog".
* Support for multiple "-d trace:PATTERN" command-line arguments.
=== CLI options ===
== User-mode emulation ==
=== Removed target support ===
* The unicore32-linux-user target implemented a different system call ABI from \
mainline Linux for this architecture. Support for it has been dropped.
=== New functionality ===
* Added support for more syscalls including preadv, pwritev, syslog.
* Major scalability improvements for multi-threaded programs (ARM, SPARC, x86).
* QEMU can now understand and generate fence and cmpxchg operations.
== TCG ==
* New TCG primitives have been added for safely modelling architectural \
synchronisation instructions (e.g. atomics, LL/SC, LOCK prefixes). arm, aarch64, \
alpha and x86 targets now use these primitives for multi-threaded linux-user \
programs. TCG target maintainers are encouraged to port their front-ends to use \
the new facilities.
* The TCG backends now emit appropriate barrier instructions for frontend \
barriers when running multi-threaded programs. However, emulating a \
strongly-ordered architecture (e.g., x86) on a weakly-ordered one (e.g., ARM or \
POWER) will not work yet.
* tb_flush() is finally thread-safe meaning multi-threaded programs are less \
likely to crash when the translation buffer is reset
* lock contention in the main cpu run-loop has been reduced improving \
performance for multi-threaded code
* a number of races were identified and fixed
A lot of the TCG work merged in this cycle where prerequisites for supporting \
multi-threaded system emulation (MTTCG). While full MTTCG support is expected to \
be merged in the next development cycle, multi-threaded linux-user programs will \
already benefit from this work.
Files: