ChangeLog/3.1: Difference between revisions

From QEMU
Line 157: Line 157:


== TCG ==
== TCG ==
* A long-standing limitation on TCG that prevented it from being able to execute from anything other than plain RAM or ROM has been lifted. This means that the error "qemu: fatal: Trying to execute code outside RAM or ROM" will no longer occur. Note that in the vast majority of cases this error was the result of a guest bug or user misconfiguration -- in this situation QEMU will now correctly emulate a guest that has run off into nowhere, so instead you will see "guest has hung, producing no output".


== Guest agent ==
== Guest agent ==

Revision as of 16:17, 6 November 2018

System emulation

Incompatible changes

  • The "qemu-system-ppcemb" target has been removed. "qemu-system-ppc" or "qemu-system-ppc64" should be used instead.
  • The "tls", "x509", and "x509verify" options to "-vnc" have been removed. The "tls-creds" option should be used instead to point to a "tls-creds-x509" object created using "-object"
  • The -drive options "cyls", "heads", "secs", "trans", "addr" and "serial" have been removed. The corresponding options of the "-device" parameter have to be used instead now.
  • The "-balloon" option has been removed since it is replaced by "-device virtio-balloon" now.
  • The "-nodefconfig" option has been removed. Use "-no-user-config" instead.
  • The "-startdate", "-localtime" and "-rtc-td-hack" options have been removed. Use the corresponding parameters of "-rtc" instead.
  • The "-tftp", "-bootp", "-redir" and "-smb" options have been removed. Use the corresponding parameters of "-nic" or "-netdev" instead.

New deprecated options and features

  • The '-machine enforce-config-section' parameter is replaced by the '-global migration.send-configuration' option.
  • The 'name' parameter of the '-net' option is a synonym for the 'id' parameter, which should now be used instead.
  • The 'hub_id name' parameter tuple of the 'hostfwd_add' and 'hostfwd_remove' HMP commands has been replaced by 'netdev_id'.
  • The PowerPC target 'prep' machine type should be replaced by the '40p' machine type.
  • Parsing of key,value pair filenames for the RBD block device
  • Incorrect CPU topologies specified by -smp socket,core,thread options that are describing number of VCPUs not equal to 'maxcpus'

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Alpha

68k

Arm

  • New microbit machine model
  • Support for the ARMv6M architecture and the Cortex-M0 CPU
  • New virtual Xilinx Versal machine model: "xlnx-versal-virt"
  • implement some missing hypervisor trap bits in HCR register
  • New CPU model: Cortex-A72
  • Implement emulation of ARMv8M hardware stack limit checking
  • Support Scalable Vector Extension in system emulation mode
  • Implement some devices previously missing from mps2-an505 board
  • raspi: Support virtual framebuffer/viewport in display device
  • Add model of Freescale i.MX6 UltraLite 14x14 EVK Board
  • Support execution from small (<1K) MPU regions for M-profile
  • GICv2: implement the virtualization extensions

HPPA

Microblaze

MIPS

Nios2

OpenRISC

PowerPC

  • prep: Deprecate QEMU PReP machine in favour of the 40p machine
  • 40p: switch firmware from Open HackWare to OpenBIOS
  • 40p: fix IRQ routing to enable the Linux sandalfoot zImage to boot
  • Mac Old World/New World: add support for booting from virtio-blk-pci devices (QEMU/OpenBIOS)

RISC-V

s390

  • support for vfio-ap (s390 crypto devices)
    • KVM host kernel needs to be 4.20+
  • remove deprecated 's390-squash-mcss' option
  • add 'max' cpu model

KVM

  • add support for etoken facility
  • add support for huge page backing

TCG

  • add support for instruction flags and AFP registers

SH

SPARC

  • sun4u: add support for boot from virtio-blk-pci block devices (QEMU/OpenBIOS)

TileGX

Tricore

x86

  • Documented recommendations for choosing CPU models to ensure good performance and security of x86 guests.

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

Graphics

Input devices

IPMI

Network devices

NVDIMM

PCI/PCIe

SCSI

SMBIOS

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

Audio

Character devices

Crypto subsystem

  • The XTS cipher mode performance has been approximately doubled

GUI

Host support

Memory backends

Monitor

Migration

Network

Block devices and tools

  • The "qemu-img convert" command handling of secrets has been fixed, allowing creation of LUKS encrypted target files.

Tracing

Miscellaneous

User-mode emulation

TCG

  • A long-standing limitation on TCG that prevented it from being able to execute from anything other than plain RAM or ROM has been lifted. This means that the error "qemu: fatal: Trying to execute code outside RAM or ROM" will no longer occur. Note that in the vast majority of cases this error was the result of a guest bug or user misconfiguration -- in this situation QEMU will now correctly emulate a guest that has run off into nowhere, so instead you will see "guest has hung, producing no output".

Guest agent

Build Information

Build Dependencies

  • Support for the GTK2 display frontend has been removed. GTK3 should be used instead
  • The minimum GTK3 version is now 3.14.0
  • The minimum GNUTLS version is now 3.1.18
  • The minimum libgcrypt version is now 1.5.0
  • The minimum nettle version is now 2.7.1

Known issues