Release of QEMU 4.0 emulator

Created project release QEMU 4.0. As an emulator, QEMU allows the execution of programs compiled for one hardware platform on a system with a completely different architecture, for example, running an ARM application on an x86-compatible PC. In virtualization mode, QEMU's code execution performance in an isolated environment is close to that of a native system due to direct instruction execution on the CPU and the involvement of the Xen hypervisor or KVM module.

The project was initially created by Fabrice Bellard to enable the execution of compiled Linux executables for the x86 platform on architectures other than x86. Over the years of development, support for full emulation for 14 hardware architectures has been added, and the number of emulated hardware devices has exceeded 400. More than 3,100 changes from 220 developers have been made in preparation for version 4.0.

Key improvements, added in QEMU 4.0:

  • Support for ARMv8+ instruction extensions has been added to the ARM architecture emulator: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT, and BTI. Emulation support for the "Musca" and "MPS2" boards has been added. The emulation of the ARM PMU (Power Management Unit) has been improved. The platform virt now supports using more than 255 GB of RAM and supports u-boot images with the "noload" type;
  • In the x86 architecture emulator, in the virtualization acceleration engine HAX (Intel Hardware Accelerated Execution), support for POSIX-compliant hosts such as Linux and NetBSD has been added (previously, only the Darwin platform was supported). In the Q35 chipset emulator (ICH9), the maximum speed (16GT/s) and the number of connection lanes (x32) specified in the PCIe 4.0 specification can now be optionally declared for the main PCIe ports (to ensure compatibility by default for older machine types, QEMU is set to 2.5GT/s and x1). There is now an option to load Xen PVH images with the "-kernel" option;
  • In the MIPS architecture emulator, support for multithreaded emulation using the classic TCG (Tiny Code Generator) has been added. Support for emulating CPU I7200 (nanoMIPS32 ISA) and I6500 (MIPS64R6 ISA) has also been introduced, along with the ability to handle CPU-type requests using the QMP (QEMU Management Protocol), and support for SAARI and SAAR configuration registers. The performance of virtual machines of the Fulong 2E type has been improved. The Interthread Communication Unit implementation has been updated;
  • In the PowerPC architecture emulator, support for emulating the XIVE interrupt controller has been added, enhanced support for POWER9, and the capability for hot-plugging PCI host bridges (PHB, PCI host bridge) has been introduced for P series. Protection against Spectre and Meltdown attacks is enabled by default;
  • In the RISC-V architecture emulator, support for emulating PCI and USB has been added. The built-in debugging server (gdbserver) now supports specifying register lists in XML files. Support for mstatus fields TSR, TW, and TVM has been introduced;
  • The s390 architecture emulator has added support for the CPU model z14 GA 2, as well as support for emulating instruction extensions for floating-point calculations and vector operations.
  • The Tensilica Xtensa family processor emulator has improved SMP support for Linux and added support for the FLIX (Flexible Length Instructions Extension).
  • The graphical interface has added the option '-display spice-app' to configure and launch a Spice remote access client variant with a GTK-like QEMU interface.
  • The VNC server implementation has added access control support using the tls-authz/sasl-authz options.
  • QMP (QEMU Management Protocol) now supports centralized/out-of-band execution of commands and has implemented additional commands for working with block devices.
  • VFIO has added an EDID interface implementation for supported mdev (Intel vGPU), allowing screen resolution changes using the xres and yres options.
  • A new device ‘xen-disk’ has been added for Xen, which can independently create a disk backend for Xen PV (without accessing xenstore). The performance of the Xen PV disk backend has been improved, and resizing of disks is now possible.
  • The diagnostic and tracing capabilities of network block devices have been expanded, and client compatibility with problematic NBD server implementations has been improved. Options ‘—bitmap’, ‘—list’, and ‘—tls-authz’ have been added to qemu-nbd.
  • The emulated IDE/via device has added support for PCI IDE mode.
  • Support for the lzfse algorithm for compressing dmg images has been added. The qcow2 format now supports attaching external files with data. The unpacking operations for qcow2 have been moved to a separate thread. Support for the 'blockdev-create' operation has been added for vmdk images.
  • The virtio-blk block device has added support for DISCARD operations (informing about block release) and WRITE_ZEROES (zeroing a range of logical blocks).
  • The pvrdma device has implemented support for RDMA Management Datagram services (MAD).
  • Changes have been made changes, breaking backward compatibility. For example, instead of the option “handle” in “-fsdev” and “-virtfs”, use the options “local” or “proxy”. The options “-virtioconsole” have been removed (replaced with “-device virtconsole”), “-no-frame”, “-clock”, “-enable-hax” (replaced with “-accel hax”). The device “ivshmem” has been removed (use “ivshmem-doorbell” or “ivshmem-plain” instead). Support for building with SDL1.2 has been discontinued (SDL2 must be used).

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster