A fost lansată versiunea QEMU 8.0. 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 cu x86. În modul de virtualizare, performanța execuției codului într-un mediu izolat se apropie de cea a sistemului hardware datorită executării directe a instrucțiunilor pe CPU și utilizării hipervizorului Xen sau a modulului KVM.
Inițial, proiectul a fost creat de Fabrice Bellard cu scopul de a permite rularea fișierelor executabile Linux compilate pentru platforma x86 pe arhitecturi diferite de x86. De-a lungul anilor de dezvoltare, s-a adăugat suport pentru emularea completă a 14 arhitecturi hardware, iar numărul dispozitivelor hardware emulate a depășit 400. În pregătirea versiunii 8.0, au fost introduse peste 2800 de modificări de la 238 de dezvoltatori.
Îmbunătățirile cheie adăugate în QEMU 8.0 sunt:
- Suportul pentru emularea sistemului (rularea completă a OS, inclusiv cu utilizarea hipervizoarelor și Xen) pe gazde de 32 de biți cu arhitectura x86 a fost declarat învechit și va fi întrerupt în curând. Suportul pentru emularea în modul user (rularea unor procese individuale, compilate pentru un alt CPU) pe gazde x86 de 32 de biți va continua. KVM În emulatorul arhitecturii x86 a fost adăugat suport pentru rularea sistemelor gazdă Xen în medii bazate pe hipervizorul KVM și kerneluri Linux 5.12+.
- În generatorul clasic de cod TCG pentru arhitectura x86 a fost adăugat suport pentru flagurile CPUID FSRM, FZRM, FSRS și FSRC. A fost implementat suportul pentru noua model de CPU Intel Sapphire Rapids (Intel 7).
- În emulatorul ARM a fost implementat suport pentru CPU Cortex-A55 și Cortex-R52, a fost adăugat un nou tip de mașini emulate Olimex STM32 H405, a fost adăugat suport pentru extensiile procesorului FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) și AArch32 ARMv8-R. În gdbstub a fost adăugat suport pentru registrele sistemului pentru arhitectura M-profile (profilul microcontrolerelor).
- În emulatorul arhitecturii RISC-V a fost actualizată implementarea mașinilor emulatoare OpenTitan, PolarFire și OpenSBI. A fost adăugat suport pentru seturi suplimentare de instrucțiuni pentru procesor (ISA) și extensii: Smstateen, contoare de depanare icount asociate cu cache-ul evenimentului PMU în modul virtual, ACPI, extensii Zawrs, Svadu, T-Head și Zicond.
- În emulatorul arhitecturii HPPA a fost adăugat suport pentru instrucțiunea fid (Floating-Point Identify) și a fost îmbunătățită emularea în modul de 32 de biți.
- În emulatorul arhitecturii HPPA a fost adăugat suport pentru instrucțiunea fid (Floating-Point Identify) și a fost îmbunătățită emularea în modul de 32 de biți.
- În emulatorul arhitecturii 390x a fost adăugată suportul pentru deconectarea asyncronă a memoriei la repornirea sistemelor gazdă KVM protejate. A fost îmbunătățită gestionarea dispozitivelor zPCI transmise.
- În mecanismul virtio-mem, care permite conectarea și deconectarea a memoriei pentru mașinile virtuale în mod hot, a fost implementată alocarea preventivă de resurse (preallocation) în timpul migrației live.
- În VFIO (Virtual Function I/O) s-a actualizat suportul experimental pentru migrare (a fost activată a doua versiune a protocolului de migrare).
- În dispozitivul bloc qemu-nbd a fost crescută eficiența funcționării peste TCP atunci când se folosește TLS.
- În agentul pentru sistemele gazdă a fost adăugat suport inițial pentru OpenBSD și NetBSD.
Sursa: opennet.ro
