QEMU 6.0 emulator release

is presented Project Release qemu 6.0 . As an qmu emulator allows you to start a program collected for one hardware platform, on a system with a completely different architecture, for example, execute an ARM application on an X86-compatible PC. In QUMU Virtualization Mode, the performance of the code in an isolated environment is close to the hardware system due to the direct execution of the instructions on the CPU and the use of the XEN hypervisor or the KVM module.

The project was created by Fabrice Bellard (Fabrice Bellard) in order to ensure the launch of the collected Platforms X86 executable Linux files on architectures other than x86. Over the years of development, support for complete emulation for 14 hardware architectures was added, the number of emulated hardware devices exceeded 400. When preparing version 6.0 more than 3,300 changes from 268 developers were made.

Key improvements added in QEMU 6.0:

  • NVME controller emulator is given to the NVME 1.4 specification compliance and is equipped with experimental support for zoned namespaces, MultiPath I / O and end-to-end data encryption on the drive.
  • Added experimental options “-machine X-Remote” and “-Device X-PCI-PROXY-DEV” for carrying out devices emulation to external processes. In this mode, only the emulation of the SCSI adapter LSI53C895 is supported.
  • An experimental support for the creation of snap snapshots is added.
  • Added FUSE module for exporting block devices, which allows you to mount the condition of any block device used in the guest system. Export is exported via the BLOCK-EXPORT-Add QMP command or through the “–export” option in the QEMU-Storage-Daemon utility.
  • The ARM emulator has added support for ArmV8.1-M ‘Helium’ architecture and Cortex-M55 processors, as well as advanced instructions ARMV8.4 TTST, SEL2 and DIT. Added support for ARM boards MPS3-AN524 and MPS3-AN547, as well. For XLNX-ZynQMP, XLNX-VERSAL, SBSA-REF, NPCM7xx and Sablite, additional emulation devices are implemented.
  • for ARM in system level emulation modes and user environment support is implemented by the ARMV8.5 MTE extension (Memory Tagging Extension) extension, which allows you to tie tags to each memory allocation operation and organize when accessing a memory checking the pointer to be connected with a correct tag. The extension can be used to block the use of vulnerabilities caused by reference to the already liberated memory blocks, buffer overflows, appeals to initialization and use outside the current context.
  • in the architecture emulator 68k Added support for a new type of “Virt” emulated machines that use to optimize the performance of the Virtio device.
/Media reports.