A fost lansată versiunea 10.1.0 a proiectului QEMU. Ca emulator, QEMU permite rularea unui program compilat pentru o platformă hardware pe un sistem cu o arhitectură complet diferită, de exemplu, executarea unei aplicații pentru ARM pe un PC compatibil x86. În modul de virtualizare, performanța execuției codului într-un mediu izolat se apropie de cea a unui sistem hardware, datorită execuției directe a instrucțiunilor pe CPU și implicării hipervizorului Xen sau a modulului KVM în Linux, sau a modulului NVMM în NetBSD.
Proiectul a fost inițial creat de Fabrice Bellard cu scopul de a permite rularea fișierelor executabile Linux compilate pentru arhitectura x86 pe arhitecturi diferite de x86. De-a lungul anilor de dezvoltare, a fost adăugat suport pentru emularea completă a 14 arhitecturi hardware, numărul dispozitivelor hardware emulate depășind 400. La pregătirea versiunii 11.0, au fost efectuate mai mult de 2700 de modificări de către 226 de dezvoltatori.
Îmbunătățiri cheie adăugate în QEMU 10.1:
- În VFIO (Virtual Function I/O) a fost implementat suport inițial pentru maparea memoriei în medii de găzduire confidențiale, în care se utilizează criptarea memoriei pentru a proteja împotriva intervenției și analizei din partea administratorului sistemului gazdă. Această modificare permite organizarea pasului dispozitivelor în sisteme gazdă protejate prin mecanismele Intel TDX (Trusted Domain Extensions) și AMD SEV-SNP (Secure Nested Paging).
- A fost adăugată posibilitatea de a utiliza mecanismul multifd pentru accelerarea migrației live în modul postcopy, în care inițial se transferă și se lansează pe gazda țintă, mașină virtualăiar apoi se transferă treptat conținutul neutilizat al memoriei operative. Modul Live-migrație precopy a fost optimizat. A fost adăugat suport pentru migrarea RDMA pentru IPv6.
- În QEMU Guest Agent a fost adăugată comanda „guest-get-load” pentru obținerea informațiilor despre nivelul de încărcare a sistemului (load average) în mașinile virtuale cu Windows.
- În virtio-gpu a fost adăugat suport pentru înlocuirea numelui în EDID (Extended Display Identification Data).
- În emulatorul arhitecturii x86 a fost implementată posibilitatea de a utiliza mecanismul Intel TDX (Trusted Domain Extensions) pentru criptarea memoriei operative a sistemelor gazdă care funcționează sub hipervizorul KVM. De asemenea, a fost adăugat suport pentru inițializarea confidențialității mașini virtuale în format IGVM (Independent Guest Virtual Machine), pentru protecția cărora se utilizează mecanismele Intel TDX și AMD SEV-SNP.
- În emulatorul arhitecturii ARM a fost implementat suport pentru plăci (Analog Devices 'max78000fthr', 'ast2700fc', Meta 'catalina-bmc', NVIDIA 'gb200-bmc' și 'ast2700a0-evb'). A fost adăugată emularea extensiilor CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 și FEAT_SVE2p1. În platforma virtuală ARM standard 'virt' a fost adăugat suport pentru virtualizare înnodată utilizând KVM, precum și suport pentru magistrala CXL (Compute Express Link) și conectarea la cald a dispozitivelor PCI folosind ACPI.
- În emulatorul arhitecturii RISC-V a fost implementată emularea procesorului Kunminghu și a platformei pe care se bazează acesta. A fost adăugat suport pentru extensia arhitecturală a setului de instrucțiuni Ziccif, cu implementarea variantei atomice a instrucțiunii fetch.
- În emulatorul arhitecturii LoongArch a fost adăugat suport pentru emularea controlerului de întreruperi irqchip pe partea nucleului.
- A fost adăugat suport experimental pentru compilarea în format WebAssembly (WASM), utilizând compilatorul Emscripten.
- În componentele pentru medii host, suportul pentru Debian 11 a fost întrerupt.
Sursa: opennet.ro
