Bol release projektu QEMU 11.0.0. Ako emulátor QEMU umožňuje spustiť program, zostavený pre jednu hardvérovú platformu na systéme s úplne inou architektúrou, napríklad spustiť aplikáciu pre ARM na PC kompatibilnom s x86. V režime virtualizácie v QEMU je výkon vykonávania kódu v izolovanom prostredí blízky hardvérovej sústave vďaka priamemu vykonávaniu inštrukcií na CPU a zapojeniu hypervízora Xen alebo modulu KVM v Linuxe, alebo modulu NVMM v NetBSD.
Pôvodne projekt vytvoril Fabrice Bellard s cieľom umožniť spúšťanie zostavených pre platformu x86 spustiteľných súborov Linux na architektúrach odlišných od x86. V priebehu rokov sa pridala podpora plnej emulácie pre 14 hardvérových architektúr a počet emulovaných hardvérových zariadení prekročil 400. Pri príprave verzie 11.0.0 bolo vykonaných viac ako 2500 zmien od 237 vývojárov.
Kľúčové vylepšenia pridané do QEMU 11.0:
- Odstránená podpora 32-bitových hostitelských systémov, ktorá bola vyhlásená za zastaranú v apríli minulého roka v QEMU 10.0. V decembrovom vydaní 10.2 bola ukončená podpora platforiem mips32 a ppc32 v generátore kódu TCG (Tiny Code Generator) a v vydaní QEMU 11.0 boli odstránené ostatné platformy i386, arm, ppc a riscv32, a tiež bola vykonaná čistka kódovej základne a zostavovacieho systému od komponentov pre prácu na 32-bitových hostoch.
- Implementovaný akcelerátor virtualizácie „nitro“ („-accel nitro“) a nový typ emulovaných systémov „nitro“, umožňujúci spúšťať v QEMU izolované enklávy na základe technológie dôverných výpočtov AWS Nitro Enclave, napríklad na lokálne testovanie v QEMU prostredia Nitro Enclave. V AWS EC2 technológia Nitro Enclave umožňuje spúšťať v virtuálnej mašine vnorené izolované enklávy na prácu s dôvernými údajmi, pričom im vyčleňuje časť svojich zdrojov.
- Vylepšená podpora akcelerátorov virtualizácie MSHV (Microsoft Hypervisor) a WHPX (Microsoft Windows Hypervisor Platform Extensions).
- Pri použití hypervízora KVM („-accel kvm“) bola poskytnutá podpora virtualizácie rozšírenia Intel CET (Control-flow Enforcement Technology) na aplikáciu v virtuálnych strojoch ochrane pred exploitmi využívajúcimi metódy návratovo orientovaného programovania (ROP — Return-Oriented Programming). Taktiež bola pridaná podpora reštartovania dôverných virtuálních strojů, ktoré používajú na šifrovanie pamäte vylepšenia AMD SEV-SNP (Secure Encrypted Virtualization – Secure Nested Paging) a Intel TDX (Trust Domain Extensions).
- Do zariadenia VirtIO-GPU, ktoré zabezpečuje fungovanie virtuálneho GPU, bola pridaná možnosť nastavenia rôznych rozlíšení obrazovky pre rôzne výstupné zariadenia.
- Vo VirtIO-GPU bola pridaná podpora kontextov DRM (Direct Rendering Manager native context), ktorá umožňuje zvýšiť výkon práce s virtuálnym GPU z hosťovského systému priamym odosielaním príkazov do reálneho hosťovského GPU. Podpora kontextov DRM sa aktivuje pri použití nového zariadenia virtio-gpu-gl s možnosťou „drm_native_context=on“. Na rozdiel od kontextov Virgl a Venus, ktoré fungujú na úrovni API OpenGL a Vulkan, je kontext DRM implementovaný na úrovni UAPI jadra Linuxu.
- Bola pridaná možnosť používať jazyk C++ na vývoj pluginov pre generátor kódu TCG (Tiny Code Generator).
- Do blokového ovládača NFS bola pridaná podpora zostavenia s knižnicou libnfs 6.
- Do blokového ovládača curl bola pridaná možnosť „force-range“ na nútené používanie HTTP hlavičky „Range“ pri sťahovaní obrázkov bez predchádzajúcej kontroly jeho podpory samostatným požiadavkom s hlavičkou HEAD.
- V blokovom ovládači FUSE bola vypnutá správa operácií exportu v synchronnom režime, čo viedlo k zablokovaniu spustenia virtuálneho stroja do dokončenia spracovania iných požiadaviek FUSE. Bolo pridané aj využitie viacerých vstupno/výstupných vlákien (iothread) pri vykonávaní exportu do FUSE.
- V emulátore architektúry x86 bola pridaná podpora CPU Intel Diamond Rapids („Xeon 7“).
- V emulátore architektúry ARM boli pridané procesorové vylepšenia FEAT_ASID2 a FEAT_E2H0. V generátore kódu TCG bola implementovaná emulácia vylepšení SME (Scalable Matrix Extension).
- V emulátore architektúry HPPA bola pridaná podpora emulácie 64-bitových CPU s 40- a 44-bitovým adresným priestorom. Pomocou SeaBIOS-hppa 24 bola zabezpečená inicializácia PCI ovládača Astro, čo umožňuje používať PCI grafické karty na 64-bitových systémoch.
- V emulátore architektúry LoongArch bola pridaná možnosť migrácie PMU (Performance Monitoring Unit) pri používaní hypervízora KVM. V generátore kódu TCG bola implementovaná emulácia vylepšení LA v1.1, sc.q a llacq/screl, ako aj inštrukcií FRECIP a DRECIP na výpočet inverzných hodnôt.
- V emulátore architektúry PowerPC bola pridaná podpora snímok.
- Emulátor architektúry RISC-V podporuje CPU MIPS P8700 a rozšírenia inštrukčného setu Zilsd, Zclsd, ZALASR a Smpmpmt.
- Emulátor architektúry s390 teraz podporuje načítanie z zariadení virtio-blk-pci a implementuje emuláciu inštrukcie "DIVIDE TO INTEGER".
- Prijatá oprava, ktorá znižuje latenciu pri práci fdmon (monitorovanie súborových deskriptorov) v režime "aio=io_uring" a keď je systém v nečinnosti (idle), až 50-80 krát.
Zdroj: opennet.ru
