Bemutatkozott a QEMU 9.2-es kiadása. A QEMU emulátor lehetővé teszi, hogy egy, másik hardverplatformra készült programot teljesen eltérő architektúrájú rendszeren futtassunk, például ARM alkalmazást x86 kompatibilis PC-n. A QEMU virtuális módban a kód végrehajtásának teljesítménye az elszigetelt környezetben közel áll a hardveres rendszerhez, köszönhetően az utasítások közvetlen végrehajtásának a CPU-n, valamint a Xen hipervizor vagy a KVM modul, illetve az NVMM modul aktiválásának a Linux vagy NetBSD rendszeren.
A projektet eredetileg Fabrice Bellard hozta létre azzal a céllal, hogy lehetővé tegye az x86-platformra készült Linux végrehajtható fájlok futtatását más architektúrákon. A fejlesztés során 14 hardverarchitektúra teljes emulációs támogatása került hozzáadásra, és a támogatott hardvereszközök száma meghaladta a 400-at. A 9.2-es verzió előkészítése során több mint 1700 változtatás történt, 209 fejlesztőtől.
A QEMU 9.2-es verzióban hozzáadott kulcsfontosságú fejlesztések:
- Hozzáadva a Rust nyelven írt eszközmodellek létrehozásának kísérleti támogatása. A QEMU Rust támogatásával történő fordítása során alapértelmezetten egy alternatív PL011 UART meghajtóimplementáció használatba lép, amely Rust nyelven íródott, de széles körű használatra még nem ajánlott.
Jelenleg alapértelmezetten a Rust támogatás ki van kapcsolva a QEMU-ban, és aktiválható a fordítás során a "—enable-rust" opció megadásával a konfigurációs szkript futtatásakor. A Rust támogatású fordításhoz legalább a rustc 1.63.0 és a bindgen 0.60.0 verzió szükséges (például a Debian 12 rendszerben külön kell telepíteni az újabb Rust verziót). A jövőben a Rust fordítót és a bindgen kötőgenerátort kötelező fordítási függőségekként tervezik bevezetni.
A QEMU-ban a Rust népszerűsítésével kapcsolatos terveket illetően említésre méltó a HPET (High Precision Event Timer) meghajtó és a Rust nyelven írt blokkeszköz meghajtó működőképességének biztosítása, valamint a Rust használatának folytatása különböző QEMU komponensekben (például blokkmeghajtók, időzítők és GPIO-k) való figyelőhálózati fejlesztések révén, valamint a biztonsági szempontból kritikus rendszerek, például a virtio Rust nyelvre történő átírása.
- A VirtIO-GPU device that provides virtual GPU functionality has been added supporting 3D acceleration using the Vulkan graphics API, implemented through the Mesa Vulkan driver Venus, which allows the guest system to use a virtual GPU for 3D rendering without granting exclusive direct access to the physical GPU. To function, the virglrenderer library must be present on the host system and the Mesa driver Venus on the guest system. Instructions for setting up Vulkan support in QEMU are available.
- The guest migration toolkit has added support for accelerating compression operations of concurrently transmitted data streams using the QATzip library, which employs Intel's built-in QAT (QuickAssist Technology) accelerator, offering tools for accelerating computations related to compression and encryption.
- Support for the SHA-384 hashing algorithm has been added to the cryptographic backend based on GLib.
- The ARM architecture emulator has added support for the FEAT_EBF16 and FEAT_CMOW processor extensions, as well as security extensions used in xilinx-zynq-a9 boards. When using the HVF component, which leverages the Hypervisor.framework toolkit to accelerate guest system execution on ARM Mac computers, support for more than 64 GB of memory has been enabled. Support for two-stage address translation in SMMU (System Memory Management Unit) has been added for emulated systems sbsa-ref and virt. Support for outdated emulated hardware types akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex, and z2 has been discontinued.
- The x86 architecture emulator has added support for a new type of hardware configuration — nitro-enclave, emulating the AWS Nitro Enclave environment and capable of loading system images in Enclave Image Format.
- Az x86 architektúrájú emulátor a hypervisor számára KVM Support for the AVX10 instruction set, as well as specific versions of AVX10 — avx10-128, avx10-256, and avx10-512, has been implemented.
- The RISC-V architecture emulator has added support for the Svvptc, Bitmanip (Bit-Manipulation), and CFI (Control Flow Integrity) instruction set extensions used on OpenTitan boards. Support for IOMMU has been added to the emulated systems of type 'virt'. The performance of ld and st instructions has been improved.
- In the HPPA architecture emulator, the SeaBIOS-hppa firmware has been updated to version 17.
- Az s390x architektúra emulátorába beépítették a más eszközökről való bootolás lehetőségét, ha az adott eszközről való bootolás nem sikerült.
Forrás: opennet.ru
