ChangeLog/5.0: Difference between revisions

From QEMU
Line 29: Line 29:
* The Cortex-R5 and -R5f CPUs now provide a PMU
* The Cortex-R5 and -R5f CPUs now provide a PMU
* The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
* The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
* The Aspeed AST2600 SoC model now includes the eMMC controller
* Under KVM, we now by default stop and restart the guest generic timer counter when the VM is stopped and started so the guest OS doesn't see surprising time jumps. (This can be disabled with the kvm-no-adjvtime property.)


=== HPPA ===
=== HPPA ===

Revision as of 19:08, 30 January 2020

System emulation

Incompatible changes

  • The bluetooth code has been removed without replacement. It was quite neglected over the years and likely not usable anymore. You can passthrough a dedicated USB bluetooth dongle to guests on most machines instead if you still need bluetooth in your guest.
  • The -virtfs_synth option has been removed. You can use -fsdev synth together with -device virtio-9p-... instead.
  • The pc-0.12, pc-0.13, pc-0.14, pc-0.15 machines have been removed.
  • The "-accel" and "-machine accel=" options are now incompatible with each other.
  • The "-tb-size N" option has been replaced by "-accel tcg,tb-size=N".

New deprecated options and features

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

Alpha

68k

Arm

  • The Cortex-M7 CPU is now supported
  • New board: tacoma-bmc
  • New board: Netduino Plus 2
  • QEMU now correctly implements trapping of more EL1 system register accesses to EL2 (eg HCR_EL2 TID1, TID2 bits, HSTR_EL2)
  • The no-op system registers required for a "trivial Jazelle" implementation have been added
  • The DC CVAP and DC CVADP instructions are now supported
  • Support for blocking semiconsole SYS_READC
  • the i.MX RNGC device is now supported
  • The Cortex-R5 and -R5f CPUs now provide a PMU
  • The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
  • The Aspeed AST2600 SoC model now includes the eMMC controller
  • Under KVM, we now by default stop and restart the guest generic timer counter when the VM is stopped and started so the guest OS doesn't see surprising time jumps. (This can be disabled with the kvm-no-adjvtime property.)

HPPA

Microblaze

MIPS

  • Support for R4000 machine is announced to be deprecated, and will be removed from code base in QEMU 5.2.

Nios2

OpenRISC

  • Fixed a bug that prevented the DZF bit of the FPCSR being set.

PowerPC

  • pseries machine type
    • No longer require a reconfiguration reboot for a guest selecting XIVE interrupt controller when ic-mode=dual
    • Now consumes less host resources when running a KVM guest with XIVE (with a recent enough host kernel). This allows running more concurrent guests with KVM accelerated XIVE.
  • powernv machine type
    • Numerous improvements to the model
    • Can now run KVM guests under a TCG emulated powernv machine
    • Basic POWER10 support
    • Removed num-chips machine property, use -smp sockets=NN instead

RISC-V

s390

  • Adpater interrupt suppression is now available when running with KVM (previously disabled due to migration issues); support under tcg has already been available since 2.10
    • enable by specifying the cpu feature "ais=on"

SH

SPARC

TileGX

Tricore

x86

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

Semihosting

Audio

Character devices

Crypto subsystem

GUI

Host support

Memory backends

Monitor

QMP

Migration

  • Add dbus-vmstate, a backend that allows external processes to migrate their data along with QEMU. See the documentation.

Network

Block device backends and tools

Tracing

  • DEBUG_MMAP build hack replaced by target_mmap_* tracepoints

Miscellaneous

  • It is now possible to specify multiple "-accel" options. The first available accelerator will be used. For example, "-machine accel=kvm:tcg" can now be expressed as "-accel kvm -accel tcg" with the added possibility of including options to configure the accelerator.
  • KVM and Xen-specific machine options have been moved to "-accel"; the previous way to set the option is still available for backwards-compatibility. The options that were moved are:
    • "-machine kernel_irqchip=" (now "-accel kvm,kernel-irqchip=")
    • "-machine kvm_shadow_mem=" (now "-accel kvm,kvm-shadow-mem=")
    • "-machine igd-passthru=" (now "-accel xen,igd-passthrough=")
  • changing the logfile via HMP is now atomically thread-safe
  • virtiofsd is now included, this works with the vhost-user-fs device to provide a passthrough to a host filesystem directory.

User-mode emulation

TCG

Guest agent

  • The 'set-guest-time' command is now fenced off on systems that do not have the 'hwclock' command available (e.g. on s390x).

Build Information

Python

GIT submodules

Container Based Builds

  • --disable-containers allows configure to skip attempting to use them from cross builds (useful on non-x86 builds)

Build Dependencies

Testing

  • multiarch targets added to Travis

Windows

Known issues