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:
RevisionActionfile
1.160modifypkgsrc/emulators/qemu/Makefile
1.48modifypkgsrc/emulators/qemu/PLIST
1.119modifypkgsrc/emulators/qemu/distinfo
1.15modifypkgsrc/emulators/qemu/patches/patch-configure
1.1removepkgsrc/emulators/qemu/patches/patch-CVE-2016-7423
1.1removepkgsrc/emulators/qemu/patches/patch-CVE-2016-7907
1.1removepkgsrc/emulators/qemu/patches/patch-CVE-2016-7908
1.1removepkgsrc/emulators/qemu/patches/patch-CVE-2016-7909