Subject: CVS commit: pkgsrc/emulators/qemu
From: Ryo ONODERA
Date: 2014-12-11 15:04:59
Message id: 20141211140459.8B88098@cvs.netbsd.org

Log Message:
Update to 2.2.0

Changelog:
# System emulation
## 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".

Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the \ 
command line option.

## ARM
* Support for loading a device tree even with no -kernel option or when booting \ 
ELF images
* Support for input interrupts in the PL061 GPIO controller
* TCG can emulate breakpoints and watchpoints.
* Support for PSCI firmware interface emulating in TCG
** enables clean shutdown from non-kvm guests

## MIPS
* Support for MIPS64 Release 6 emulation.
* Support for MIPS SIMD Architecture emulation.
* Fix for incorrectly handled delay slots in MIPS16 and microMIPS.

## PowerPC
* Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
* Bugfixes and optimization for TCG emulation of PowerPC targets.

### IBM (pSeries)
* Support for the "nmi" monitor command, to enter the kernel debugger.
* Live migration support for NVRAM

### Freescale (BookE)
* Breakpoint support on KVM.
* Support for the e500 platform bus and dynamic instantiation of FreeScale eTSEC \ 
devices (-device eTSEC).
* Support for MPC8XXX gpio controller to enable shutdown with 3.19+ Linux guests
## s390
* Enhance support for boot from DASD to handle more formats.
* Support for memory hotplug.
* Support for cpu state handling and migration.
* Support for booting newer kernels under TCG.
* Improved SMP startup and cpu online/offline performance especially for large guests

## SPARC
* Emulation of TCX hardware acceleration (allows X to run under NetBSD and Solaris)
* NetBSD and OpenBSD can now run under qemu-system-sparc64 in -nographic mode

## TriCore
* New target.

## x86
* Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with \ 
"-machine iommu=on".
* Support for specifying drives in short form on the command-line (i.e. using \ 
-cdrom, -hda, -drive if=ide) on the Q35 machine type.
* TCG is reported to run QNX.
* All CPUs now work with "-cpu MODEL,enforce", of course as long as \ 
TCG or KVM support the CPU's set of features. Previously, a few CPUs included \ 
extraneous CPUID flags that cause "-cpu MODEL,enforce" to fail.

## KVM
* More robust live migration of the kvm pv clock
* Support for AVX512

## Xen
* QEMU can now boot a bzImage or multiboot kernel under Xen, using the command \ 
line option -kernel.

## Xtensa
* New script for automatic core import from xtensa configuration overlay.

## Device emulation and assignment
* The boot order set for hot-plugged devices will take effect during reboot. In \ 
addition, the boot order can be dynamically modified via QOM.

### IDE
* More accurate emulation of AHCI, especially visible with Windows guests.

### SCSI
* Passthrough of vendor-specific commands now works (only with the virtio-scsi HBA).
* Initial support in virtio-scsi for a threaded backend, which is used in the \ 
same way as virtio-blk ("-object iothread,id=id" and "-device \ 
virtio-scsi-pci,iothread=id"). Note that the code has known thread-safety \ 
problems that can lead to QEMU using freed memory. They should not happen in \ 
normal use, they can be triggered easily by malicious guests. This option should \ 
only be used if you are interested in making relevant parts of QEMU thread safe.
* Support for LSI MegaRAID SAS 2108 HBAs (-device megasas-gen2). Note that \ 
booting from this device does not work yet.
* virtio-scsi can now execute Abort Task and Abort Task Set task management \ 
functions asynchronously.

### PCI/PCIe
* MSIs are now (correctly) disabled until bus master DMA is enabled for the device.
* Support for ARI forwarding on PCIe root ports.

### USB
* Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, \ 
only if there are no companion controllers).
* Support for USB 2.0 (high speed) mice and keyboards, complementing the \ 
existing support for high speed USB tablets. High speed devices avoid the less \ 
efficient UHCI controller, and thus use less CPU on the host.

### VGA
* The default vga device on x86 has been switched from cirrus to stdvga, which \ 
works better for most guests. However, Windows XP will not suspend to RAM \ 
anymore; the change can be undone with "-vga cirrus" and does not \ 
affect PC machine types of versions 2.1 and earlier.

## Character devices
* Support for automatic reconnection of client sockets (e.g. "-chardev \ 
socket,host=localhost,port=12345,nowait,reconnect=5").

## GUI
### Monitor
* The "info pcmcia" command was removed. PCMCIA hotplug was never \ 
implemented, and thus the command could only return static information.

## Network
* Samba 4.1 is now supported.

## Block devices in system emulation
* The list of functionality now supported in threaded virtio-blk backend is \ 
growing: new in 2.2 are resizing of disks, device hot-unplug, the embedded NBD \ 
server, and background jobs (backup, stream, mirror, commit).

# Block devices and tools
* QEMU is more resistent against failure of large allocations in the block layer
* Support for Archipelago as a QEMU block backend
* Support for Parallels images larger than 2TB.
* Migration now works when using qcow2 over Ceph.
* Network-based drivers (NBD, libiscsi, etc.) now work on Win32 hosts too.
* Source image cache mode can be set for qemu-img check, convert and rebase
* qemu-nbd has a new --detect-zeroes option.
* Progress report for qemu-img commit and qemu-img amend

# TCG
* In icount mode, it is possible to slow down emulation to match the requested \ 
CPU frequency (thus ensuring that the host and guest clocks remain aligned). \ 
This is enabled with "-icount N,align=on".
* A new "victim TLB" provides a 5-10% performance improvement.

# Tracing
* QEMU provides a SystemTap script that outputs binary trace data, for use in \ 
flight-recorder mode. The resulting traces can be parsed with QEMU's \ 
simpletrace.py script (using the --no-header command-line option).

# User-mode emulation
* New option: setting AT_RANDOM auxval with -seed option or QEMU_RAND_SEED env \ 
variable
* New system calls supported
** timerfd_create, timerfd_gettime and timerfd_settime
** ioprio_get and ioprio_set
** setns
** unshare
* epoll_pwait has been enabled on ARM
* Signal handling support added for PPC64
* Emulated contents of /proc/self/maps fixed

Files:
RevisionActionfile
1.133modifypkgsrc/emulators/qemu/Makefile
1.40modifypkgsrc/emulators/qemu/PLIST
1.99modifypkgsrc/emulators/qemu/distinfo