Release of the QEMU 4.0 emulator

Formed project release QEMU 4.0. As an emulator, QEMU allows you to run a program built for one hardware platform on a system with a completely different architecture, for example, run an ARM application on an x86-compatible PC. In the virtualization mode in QEMU, the performance of code execution in an isolated environment is close to the native system due to the direct execution of instructions on the CPU and the use of the Xen hypervisor or KVM module.

The project was originally created by Fabrice Bellard to allow Linux executables built for the x86 platform to run on non-x86 architectures. Over the years of development, full emulation support has been added for 14 hardware architectures, the number of emulated hardware devices has exceeded 400. In preparation for version 4.0, more than 3100 changes have been made from 220 developers.

Key improvements, added in QEMU 4.0:

  • Added support for ARMv8+ instruction extensions to the ARM architecture emulator: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT and BTI. Added support for "Musca" and "MPS2" board emulation. Improved ARM PMU (Power Management Unit) emulation. To the platform virtue added the ability to use more than 255 GB of RAM and support for u-boot images with the "noload" type;

  • In the x86 architecture emulator in the virtualization acceleration engine HAX (Intel Hardware Accelerated Execution) added support for POSIX compliant hosts such as Linux and NetBSD (previously only Darwin platform was supported). In the Q35 (ICH9) chipset emulator, for the main PCIe ports, the maximum speed (16GT / s) and the number of connection lines (x32) defined in the PCIe 4.0 specification can now optionally be declared (2.5GT is installed by default for older types of QEMU machines /s and x1). Added ability to load Xen PVH images with "-kernel" option;
  • Support for multi-threaded emulation using the classic TCG (Tiny Code Generator) code generator has been added to the MIPS architecture emulator. Also added is support for CPU I7200 (nanoMIPS32 ISA) and I6500 (MIPS64R6 ISA) emulation, the ability to process CPU requests using QMP (QEMU Management Protocol), and support for SAARI and SAAR configuration registers. Improved performance of Fulong 2E virtual machines. Updated implementation of Interthread Communication Unit;
  • In the PowerPC architecture emulator, support for XIVE interrupt controller emulation has been added, support for POWER9 has been expanded, for the P series, the ability to hot-plug PCI main bridges (PHB, PCI host bridge) has been added. Protection against Specter and Meltdown attacks is enabled by default;
  • Added support for PCI and USB emulation to the RISC-V architecture emulator. The built-in debug server (gdbserver) supports setting register lists in XML files. Added support for TSR, TW and TVM mstatus fields;
  • Support for the z390 GA 14 CPU model has been added to the s2 architecture emulator, as well as support for emulating instruction extensions for floating point and vector operations. vfio-ap added the ability to hot-plug devices;
  • The Tensilica Xtensa family processor emulator has improved SMP support for Linux and added support for the FLIX (Flexible length instructions extension) extension;
  • Added the '-display spice-app' option to the GUI to configure and launch a variant of the Spice remote access client with a look similar to QEMU's GTK interface;
  • Added support for access control using the tls-authz/sasl-authz options to the VNC server implementation;
  • QMP (QEMU Management Protocol) adds support for centralized / external (Out-of-band) execution of commands and implements additional commands for working with block devices;
  • Implementation of the EDID interface for supported mdevs (Intel vGPUs) has been added to VFIO, allowing you to change the screen resolution using the xres and yres options;
  • A new 'xen-disk' device has been added for Xen, which can create a disk backend for Xen PV on its own (without going to xenstore). Increased performance of the Xen PV disk backend and added the ability to resize the disk;
  • In network block devices, diagnostic and tracing capabilities have been expanded, client compatibility with problematic NBD server implementations has been improved. qemu-nbd added "--bitmap", "--list" and "--tls-authz" options;
  • Added support for PCI IDE mode to emulated IDE/via device;
  • Added support for using the lzfse algorithm to compress dmg images. Added support for connecting external data files for the qcow2 format. qcow2 unpacking operations moved to a separate thread. Added support for "blockdev-create" operation in vmdk images;
  • Added support for DISCARD (informing about block release) and WRITE_ZEROES (zeroing a range of logical blocks) operations to the virtio-blk block device;
  • The pvrdma device implements support for RDMA Management Datagram services (MAD);
  • Contributed changesthat violate backward compatibility. For example, instead of the "handle" option in "-fsdev" and "-virtfs", the local" or "proxy" options should be used. Removed options "-virtioconsole" (replaced by "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (replaced by "-accel hax"). Removed device "ivshmem" (should use "ivshmem-doorbell" and "ivshmem-plain"). Support for building with SDL1.2 has been dropped (you need to use SDL2).

Source: opennet.ru

Add a comment