Bemutatásra került a QEMU 11.0.0 projekt kiadása. A QEMU emulátorként lehetővé teszi egy olyan program futtatását, amelyet egy hardverplatformra készítettek, egy teljesen eltérő architektúrájú rendszeren, például ARM alkalmazást futtatva egy x86-kompatibilis PC-n. A virtualizációs módban a QEMU által végrehajtott kód teljesítménye az elszigetelt környezetben közel áll a hardverrendszerhez, mivel az utasítások közvetlen végrehajtása történik a CPU-n, és a Xen hipervizor vagy a KVM modul a Linuxban, vagy az NVMM modul a NetBSD-ben kerül felhasználásra.
A projektet eredetileg Fabrice Bellard hozta létre azzal a céllal, hogy lehetővé tegye az x86 platformra készített Linux futtatható fájlok indítását eltérő architektúrákon. Az évek során a fejlesztés során a teljes emuláció támogatása 14 hardverarchitektúrára került hozzáadásra, és az emulált hardvereszközök száma meghaladta a 400-at. A 11.0.0 verzió előkészítésekor több mint 2500 változtatás történt 237 fejlesztőtől.
A QEMU 11.0-ban hozzáadott kulcsfontosságú fejlesztések:
- Eltávolításra került a 32 bites hoszt rendszerek támogatása, amely tavaly áprilisban a QEMU 10.0-ban avult el. A decemberi 10.2 kiadásban a TCG (Tiny Code Generator) kódgenerátorban a mips32 és ppc32 platformok támogatása megszűnt, míg a QEMU 11.0 kiadásban eltávolításra kerültek a maradék i386, arm, ppc és riscv32 platformok, valamint a kódalap és a gyártási rendszer tisztítása a 32 bites hosztokhoz szükséges komponensektől.
- Megvalósult a „nitro” virtualizációs gyorsító („-accel nitro”) és egy új típusú emulált rendszer „nitro”, amely lehetővé teszi a QEMU-ban izolált enclávék indítását az AWS Nitro Enclave tiszteletére, például Nitro Enclave környezetek helyi tesztelésére a QEMU-ban. Az AWS EC2-n a Nitro Enclave technológia lehetővé teszi az izolált enclávék indítását egy virtuális gépen, a bizalmas adatokkal való munkavégzés érdekében, a forrásaik egy részét kiemelve számukra.
- Javult a MSHV (Microsoft Hypervisor) és a WHPX (Microsoft Windows Hypervisor Platform Extensions) virtualizációs gyorsítók támogatása.
- A KVM hipervizor használata során („-accel kvm”) biztosított a virtualizáció Intel CET (Control-flow Enforcement Technology) bővítmények támogatása a virtuális gépekben visszaélések ellen védelmet nyújtó módszerek, például visszatérő irányítási programozás (ROP – Return-Oriented Programming) alkalmazásához. Ezen kívül a bizalmas újraindítás támogatása is hozzá lett adva. virtuális gépekhez, amely az AMD SEV-SNP (Secure Encrypted Virtualization — Secure Nested Paging) és az Intel TDX (Trust Domain Extensions) memóriakódolási kiterjesztéseit használja.
- A VirtIO-GPU eszközbe, amely a virtuális GPU működését biztosítja, lehetőség került különböző kijelzők számára eltérő képernyőfelbontások beállítására.
- A VirtIO-GPU-ba bekerült a DRM (Direct Rendering Manager native context) kontextusok támogatása, amelyek javítják a virtuális GPU teljesítményét a vendég rendszerből a parancsok közvetlen átadásával a valós host GPU-ra. A DRM kontextusok engedélyezése az új virtio-gpu-gl eszköz használatával, a »drm_native_context=on« opcióval történik. Ellentétben a Virgl és Venus kontextusokkal, amelyek az OpenGL és Vulkan API szintjén működnek, a DRM kontextus a Linux kernel UAPI szintjén kapható.
- Lehetőség nyílt C++ nyelv használatára a TCG (Tiny Code Generator) kódgenerátorhoz készült pluginek fejlesztésénél.
- A NFS blokkd driverhez hozzáadták a 6-os libnfs könyvtárral való összeállítás támogatását.
- A curl blokkd driverhez egy »force-range« opció került, amely lehetővé teszi a HTTP »Range« fejléc kényszerített használatát a képek letöltésekor anélkül, hogy előzetesen ellenőrizni kellene annak támogatottságát egy HEAD fejlécű kérdéssel.
- A FUSE blokkd driverben letiltották az export műveletek szinkron kezelését, ami elakadásokhoz vezetett a virtuális gépek indításánál más FUSE-kérések feldolgozása alatt. Lehetőség nyílt több bemeneti/kimeneti szál (iothread) használatára a FUSE exportálásakor.
- Az x86 architektúrájú emulátorhoz hozzáadták az Intel Diamond Rapids („Xeon 7”) CPU támogatását.
- Az ARM architektúrájú emulátorhoz két új CPU kiterjesztés, a FEAT_ASID2 és FEAT_E2H0 került. A TCG kódgenerátorban megvalósították az SME (Scalable Matrix Extension) kiterjesztések emulációját.
- A HPPA architektúrájú emulátorban bevezetésre került a 64 bites CPU-k emulálásának támogatása 40- és 44 bites címterülettel. A SeaBIOS-hppa 24 segítségével megvalósult az Astro PCI kontroller inicializálása, amely lehetővé teszi PCI grafikuskártyák használatát 64 bites rendszereken.
- A LoongArch architektúrájú emulátorban lehetővé vált a PMU (Performance Monitoring Unit) migrációja a KVM hipervizor használatakor. A TCG kódgenerátorban megvalósították az LA v1.1, sc.q és llacq/screl kiterjesztések emulációját, valamint az FRECIP és DRECIP utasításokat az inverz értékek számításához.
- A PowerPC architektúrájú emulátorban lehetővé vált a snapshotok támogatása.
- A RISC-V architektúra emulátor támogatja a MIPS P8700 CPU-t és a Zilsd, Zclsd, ZALASR és Smpmpmt utasítássorozatokat.
- Az s390 architektúra emulátoránál megjelent a virtio-blk-pci eszközről való indítás támogatása és az "DIVIDE TO INTEGER" utasítás emulációja.
- Elfogadták azt a javítást, amely 50-80-szor csökkenti a fdmon (file descriptor monitoring) késleltetéseit az "aio=io_uring" üzemmódban és a rendszer tétlenségi állapotában.
Forrás: opennet.ru
