De release van het QEMU-project 10.1.0 is gepresenteerd. Als emulator maakt QEMU het mogelijk om een programma dat voor een bepaalde hardwareplatform is gebouwd, uit te voeren op een systeem met een totaal andere architectuur, bijvoorbeeld een ARM-toepassing op een x86-compatibele pc. In de virtualisatiemodus is de prestaties van de code-uitvoering in een geĆÆsoleerde omgeving dicht bij die van de hardware vanwege de directe uitvoering van instructies op de CPU en het gebruik van de hypervisor Xen of het KVM-module in Linux, of het NVMM-module in NetBSD.
Het project is oorspronkelijk opgericht door Fabrice Bellard met als doel de mogelijkheid te bieden om uitvoerbare bestanden voor de x86-architectuur op andere architecturen uit te voeren. Gedurende de jaren van ontwikkeling is ondersteuning voor volledige emulatie toegevoegd voor 14 hardware-architecturen en het aantal geƫmmuleerde hardwareapparaten is meer dan 400 overschreden. Voor versie 11.0 zijn meer dan 2700 wijzigingen door 226 ontwikkelaars aangebracht.
Belangrijke verbeteringen in QEMU 10.1:
- In VFIO (Virtual Function I/O) is de initiƫle ondersteuning voor geheugenmapping voor gevoelige gastomgevingen gerealiseerd, waarin geheugensuivering wordt gebruikt om te beschermen tegen inbreuken en analyses door de beheerder van het host-systeem. Deze wijziging maakt het mogelijk om apparaten door te geven aan gastomgevingen die worden beschermd met mechanismen zoals Intel TDX (Trusted Domain Extensions) en AMD SEV-SNP (Secure Nested Paging).
- Een functie is toegevoegd om het multifd-mechanisme te gebruiken om Live-migratie te versnellen in de postcopy-modus, waarbij in het begin op de doelhosp het wordt overgebracht en gestart, virtuele machine, en daarna geleidelijk de ongebruikte inhoud van het RAM-geheugen wordt overgebracht. De Live-migratiestand van precopy is geoptimaliseerd. Ondersteuning voor RDMA-migratie voor IPv6 is toegevoegd.
- In de QEMU Guest Agent is de opdracht 'guest-get-load' toegevoegd om informatie over de systeembelasting (load average) te verkrijgen in virtuele machines met Windows.
- In virtio-gpu is ondersteuning toegevoegd voor het substitueren van de naam in EDID (Extended Display Identification Data).
- In de x86-architectuur emulator is de mogelijkheid toegevoegd om het Intel TDX (Trusted Domain Extensions) mechanisme te gebruiken voor het versleutelen van het RAM-geheugen van gastsystemen onder de KVM-hypervisor. Er is ook ondersteuning toegevoegd voor de initiatie van gevoelige virtuele machines in het IGVM-formaat (Independent Guest Virtual Machine), waarvoor mechanismen als Intel TDX en AMD SEV-SNP worden gebruikt.
- In de ARM-architectuur emulator is ondersteuning geĆÆmplementeerd voor kaarten (Analog Devices 'max78000fthr', 'ast2700fc', Meta 'catalina-bmc', NVIDIA 'gb200-bmc' en 'ast2700a0-evb'. Emulatie van de CPU-extensies FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 en FEAT_SVE2p1 is toegevoegd. De standaard virtuele ARM-platform 'virt' heeft ondersteuning gekregen voor geneste virtualisatie bij gebruik van KVM, evenals ondersteuning voor de CXL-bus (Compute Express Link) en hot-plug functionaliteit voor PCI-apparaten via ACPI.
- In de RISC-V architectuur emulator is emulatie van de Kunminghu-processor en het daarop gebaseerde platform geĆÆmplementeerd. Ondersteuning voor de Ziccif-architectuur extensie met de implementatie van de atomische variant van de fetch-instructie is toegevoegd.
- In de LoongArch architectuur emulator is ondersteuning voor de emulatie van de irqchip-interruptcontroller aan de kernzijde toegevoegd.
- Experimentale ondersteuning voor compilatie naar WebAssembly (WASM) is toegevoegd met behulp van de Emscripten-compiler.
- Ondersteuning voor Debian 11 is stopgezet in de componenten voor host-omgevingen.
Bron: opennet.ru
