ChangeLog/2.3: Difference between revisions
No edit summary |
No edit summary |
||
Line 56: | Line 56: | ||
== User-mode emulation == | == User-mode emulation == | ||
== Build dependencies == | == Build dependencies == | ||
* System emulators (qemu-system-*) and block tools (qemu-img, qemu-io, qemu-nbd) now use "__thread" for thread-local storage on all architectures; Previously they only used it on Windows. If your system does not have native TLS support, you will need GCC 4.3 or newer to compile QEMU (this was already the case for Windows in previous releases). In particular, compiling QEMU on Mac OS X with Apple's GCC 4.2.1 is not supported, | * System emulators (qemu-system-*) and block tools (qemu-img, qemu-io, qemu-nbd) now use "__thread" for thread-local storage on all architectures; Previously they only used it on Windows. If your system does not have native TLS support, you will need GCC 4.3 or newer to compile QEMU (this was already the case for Windows in previous releases). In particular, compiling QEMU on Mac OS X with Apple's GCC 4.2.1 is not supported: | ||
** on Mac OS X 10.7 or newer, you can use Clang (which should be the default compiler when compiling QEMU on these version) | |||
** on Mac OS X 10.6 or older, you need to build a newer GCC (Apple doesn't provide GPLv3 compilers) or install a binary from fink, homebrew, or a similar distribution. | |||
== Known issues == | == Known issues == | ||
* NVMe guest ABI changed from 2.2 to 2.3. | * NVMe guest ABI changed from 2.2 to 2.3. | ||
* The mac99 and pseries machines do not obey "-machine usb=no" currently. | * The mac99 and pseries machines do not obey "-machine usb=no" currently. |
Revision as of 21:50, 23 January 2015
System emulation
Command-line compatibility
- Behavior when the three SMP topology options (socket, cores, threads) are specified but don't match the number of VCPUs was changed. In previous versions QEMU silently adjusted the "threads" option to (try to) make the topology match the number of VCPUs, now QEMU will abort when sockets*cores*threads don't match the number of VCPUs.
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.
- 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.
ARM
- When semihosting mode is active, the exit code is passed to the operating system.
- New option -semihosting-config that supersedes -semihosting. A new suboption target=native forces QEMU to execute semihosting operations even when running under GDB. This helps for targets that do not implement semihosting calls in GDB.
- The virt machine now has a fw_cfg device. It allows use of the boot order options, as well as supporting -kernel/-initrd/-append even when you're using a firmware (-bios/-pflash) and not booting directly to the kernel.
MIPS
- Support for 5KEc and 5KEf MIPS64r2 processors.
- Support for M14K and M14Kc MIPS32r2 microMIPS processors.
- qemu-mips64 uses the 5KEf processor.
- Many fixes.
PowerPC
- Pseudo-support for transactional memory extensions; the transaction will fail immediately, but no illegal instruction exception will be generated. This is valid behavior, though of course suboptimal.
IBM (pSeries)
Freescale (BookE)
s390
- PCI bus support (requires KVM).
SPARC
TriCore
- More complete emulation
x86
- New CPU model IvyBridge.
KVM
- Support for running under valgrind with KVM enabled.
- Support for the XSAVES feature. The feature is not yet available in any predefined CPU model, but can be enabled with "-cpu host" or "-cpu ...,+xsaves".
Xen
Xtensa
Device emulation and assignment
IDE
SCSI
PCI/PCIe
USB
VGA
Character devices
GUI
Monitor
Migration
Network
Block devices in system emulation
- Support for SD cards on PCI systems, through the new device "sdhci-pci".
- QEMU will restrict writes to the first sector when an image is autodetected as a raw image, so that the next time the VM is started it will not be autodetected e.g. as qcow2. To avoid this restriction, start QEMU with an explicit "format=raw" option.
Block devices and tools
TCG
Tracing
User-mode emulation
Build dependencies
- System emulators (qemu-system-*) and block tools (qemu-img, qemu-io, qemu-nbd) now use "__thread" for thread-local storage on all architectures; Previously they only used it on Windows. If your system does not have native TLS support, you will need GCC 4.3 or newer to compile QEMU (this was already the case for Windows in previous releases). In particular, compiling QEMU on Mac OS X with Apple's GCC 4.2.1 is not supported:
- on Mac OS X 10.7 or newer, you can use Clang (which should be the default compiler when compiling QEMU on these version)
- on Mac OS X 10.6 or older, you need to build a newer GCC (Apple doesn't provide GPLv3 compilers) or install a binary from fink, homebrew, or a similar distribution.
Known issues
- NVMe guest ABI changed from 2.2 to 2.3.
- The mac99 and pseries machines do not obey "-machine usb=no" currently.