Byla představena verze projektu QEMU 10.1.0. Jako emulátor umožňuje QEMU spustit program, který byl sestaven pro jednu hardwarovou platformu, na systému s úplně jinou architekturou, například spustit aplikaci pro ARM na PC kompatibilním s x86. V režimu virtualizace je výkon spouštění kódu v izolovaném prostředí téměř stejný jako na hardwarovém systému díky přímému vykonávání instrukcí na CPU a zapojení hypervisoru Xen nebo modulu KVM v Linuxu, nebo modulu NVMM v NetBSD.
Projekt byl původně vytvořen Fabrice Bellard s cílem umožnit spouštění spustitelných souborů Linuxu, které byly sestaveny pro platformu x86, na architekturách odlišných od x86. Během let vývoje byla přidána podpora plné emulace pro 14 hardwarových architektur a počet emulovaných hardwarových zařízení přesáhl 400. Při přípravě verze 11.0 bylo zavedeno více než 2700 změn od 226 vývojářů.
Klíčová vylepšení přidaná do QEMU 10.1:
- Ve VFIO (Virtual Function I/O) byla zavedena základní podpora mapování paměti pro důvěrná hostitelská prostředí, kde se používá šifrování paměti k ochraně před zásahem a analýzou ze strany administrátora hostitelského systému. Tato změna umožňuje přesměrování zařízení do hostitelských systémů, které jsou chráněny pomocí mechanismů Intel TDX (Trusted Domain Extensions) a AMD SEV-SNP (Secure Nested Paging).
- Byla přidána možnost využívat mechanismus multifd pro urychlení živé migrace v režimu postcopy, při které se nejprve na cílový host přenáší a spouští, virtuální stroja poté se postupně přenáší nepotřebný obsah operační paměti. Byl optimalizován režim živé migrace precopy. Byla přidána podpora migrace RDMA pro IPv6.
- Do QEMU Guest Agenta byla přidána příkaz „guest-get-load“ pro získání informace o úrovni zatížení systému (load average) ve virtuálních strojích s Windows.
- Ve virtio-gpu byla přidána podpora substituce jména v EDID (Extended Display Identification Data).
- V emulátoru architektury x86 byla implementována možnost použít mechanismus Intel TDX (Trusted Domain Extensions) pro šifrování operační paměti hostitelských systémů běžících pod hypervisorem KVM. Také byla přidána podpora inicializace důvěrných virtuálních strojů v formátu IGVM (Independent Guest Virtual Machine), pro jejichž ochranu se používají mechanismy Intel TDX a AMD SEV-SNP.
- Emulátor architektury ARM implementoval podporu desek (Analog Devices 'max78000fthr', 'ast2700fc', Meta 'catalina-bmc', NVIDIA 'gb200-bmc' a 'ast2700a0-evb'. Byla přidána emulace rozšíření CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 a FEAT_SVE2p1. Do standardní virtuální platformy ARM 'virt' byla přidána podpora vnořené virtualizace při použití KVM, stejně jako podpora sběrnice CXL (Compute Express Link) a horkého připojení PCI zařízení pomocí ACPI.
- Emulátor architektury RISC-V implementoval emulaci procesoru Kunminghu a platformy založené na něm. Byla přidána podpora rozšíření architektury instrukčního souboru Ziccif s implementací atomární varianty instrukce fetch.
- V emulátoru architektury LoongArch byla přidána podpora emulace řadiče přerušení irqchip na straně jádra.
- Byla přidána experimentální podpora kompilace do formátu WebAssembly (WASM) pomocí kompilátoru Emscripten.
- V komponentách pro hostitelská prostředí byla zastavena podpora Debian 11.
Zdroj: opennet.ru
