ChangeLog/2.2: Difference between revisions
m (add news for xtensa) |
No edit summary |
||
Line 26: | Line 26: | ||
==== Freescale (BookE) ==== | ==== Freescale (BookE) ==== | ||
* Breakpoint support on KVM. | * Breakpoint support on KVM. | ||
* Support for the e500 platform bus and dynamic instantiation of FreeScale eTSEC devices (''-device eTSEC''). | |||
* Suppoer for MPC8XXX gpio controller. | |||
=== s390 === | === s390 === | ||
* Enhance support for boot from DASD to handle more formats. | * Enhance support for boot from DASD to handle more formats. | ||
* Support for memory hotplug. | * Support for memory hotplug. | ||
* Support for cpu state handling and migration. | * Support for cpu state handling and migration. | ||
* Support for booting newer kernels under TCG. | |||
=== SPARC === | === SPARC === | ||
* Emulation of TCX hardware acceleration. | * Emulation of TCX hardware acceleration. | ||
Line 39: | Line 41: | ||
* Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide) on the Q35 machine type. | * Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide) on the Q35 machine type. | ||
* Support for AVX512 emulation. | * Support for AVX512 emulation. | ||
* 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 ==== | ==== KVM ==== | ||
* More robust live migration of the kvm pv clock | * More robust live migration of the kvm pv clock |
Revision as of 15:29, 5 November 2014
System emulation
Incompatible changes
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
- Initial support for emulation of hypervisor (EL2) and secure (EL3) privilege levels
- 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.
- The PSCI can be emulated even when running without KVM.
LM32
Microblaze
MIPS
- Support for MIPS64R6 and MIPS SIMD Architecture emulation.
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.
Freescale (BookE)
- Breakpoint support on KVM.
- Support for the e500 platform bus and dynamic instantiation of FreeScale eTSEC devices (-device eTSEC).
- Suppoer for MPC8XXX gpio controller.
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.
SPARC
- Emulation of TCX hardware acceleration.
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.
- Support for AVX512 emulation.
- 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
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
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.
VFIO
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.
Migration
Network
- Samba 4.1 is now supported.
Block devices in system emulation
- Many fixes to AHCI 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).
Various
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.
- qemu-img source cache option?
- qemu-nbd has a new --detect-zeroes option.
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: presetting AT_RANDOM auxval with -seed option or QEMU_RAND_SEED env variable
- new system calls supported
- timerfd_create timerfd_gettime timerfd_settime
- ioprio_get ioprio_set
- setns
- unshare
- enable epoll_pwait on ARM
- implemented signal handling for PPC64
- fixed contents of /proc/self/maps