Lansarea emulatorului QEMU 7.1

A fost prezentată lansarea proiectului QEMU 7.1. Ca emulator, QEMU vă permite să rulați un program compilat pentru o platformă hardware pe un sistem cu o arhitectură complet diferită, de exemplu, să rulați o aplicație ARM pe un PC compatibil x86. În modul de virtualizare în QEMU, performanța execuției codului într-un mediu izolat este apropiată de cea a unui sistem hardware datorită execuției directe a instrucțiunilor pe CPU și utilizării hypervisorului Xen sau a modulului KVM.

Proiectul a fost creat inițial de Fabrice Bellard pentru a oferi capacitatea de a rula executabile Linux compilate pentru platforma x86 pe arhitecturi non-x86. De-a lungul anilor de dezvoltare, a fost adăugat suport pentru emulare completă pentru 14 arhitecturi hardware, numărul de dispozitive hardware emulate a depășit 400. În pregătirea versiunii 7.1, au fost făcute peste 2800 de modificări de la 238 de dezvoltatori.

Îmbunătățiri cheie adăugate la QEMU 7.1:

  • Pe platforma Linux, este implementată opțiunea zero-copy-send, care vă permite să organizați transferul paginilor de memorie în timpul migrării live fără tamponare intermediară.
  • QMP (QEMU Machine Protocol) a adăugat posibilitatea de a utiliza comanda block-export-add pentru a exporta imagini NBD cu datele paginii în starea „murdar”. Noile comenzi „query-stats” și „query-stats-schema” au fost, de asemenea, adăugate la statisticile de interogare din diferite subsisteme QEMU.
  • Agentul invitat a îmbunătățit suportul pentru platforma Solaris și a adăugat noi comenzi „guest-get-diskstats” și „guest-get-cpustats” pentru a afișa starea discului și a procesorului. S-a adăugat ieșire de informații de la NVMe SMART la comanda „guest-get-disks” și ieșire de informații despre tipul de magistrală NVMe la comanda „guest-get-fsinfo”.
  • S-a adăugat un nou emulator LoongArch cu suport pentru varianta pe 64 de biți a arhitecturii setului de instrucțiuni LoongArch (LA64). Emulatorul acceptă procesoare Loongson 3 5000 și Northbridge-uri Loongson 7A1000.
  • Emulatorul ARM implementează noi tipuri de mașini emulate: Aspeed AST1030 SoC, Qaulcomm și AST2600/AST1030 (fby35). S-a adăugat suport pentru emularea procesoarelor Cortex-A76 și Neoverse-N1, precum și a extensiilor de procesor SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) și comenzi pentru blocarea scurgerilor din memoria cache internă în timpul executării speculative a instrucțiunilor pe CPU. Pentru mașinile „virt”, a fost implementată emularea controlerului de întrerupere GICv4.
  • În emulatorul de arhitectură x86 pentru KVM, a fost adăugat suport pentru virtualizarea mecanismului de urmărire LBR (Last Branch Record).
  • Emulatorul de arhitectură HPPA oferă un firmware nou bazat pe SeaBIOS v6, care acceptă utilizarea unei tastaturi PS/2 în meniul de pornire. Emularea port serial îmbunătățită. S-au adăugat fonturi suplimentare pentru consola STI.
  • Emulatorul de arhitectură MIPS pentru plăcile Nios2 (-mașină 10m50-ghrd) implementează emularea unui controler de întrerupere Vectored și a unui set umbră de registre. Gestionarea excepțiilor îmbunătățită.
  • Emulatorul de arhitectură OpenRISC pentru mașina „or1k-sim” a adăugat capacitatea de a utiliza până la 4 dispozitive UART 16550A.
  • Emulatorul arhitecturii RISC-V a adăugat suport pentru noile extensii de set de instrucțiuni (ISA) definite în specificația 1.12.0, precum și suport adăugat pentru extensia Sdtrig și suport îmbunătățit pentru instrucțiuni vectoriale. Capacități de depanare îmbunătățite. Suportul TPM (Trusted Platform Module) a fost adăugat la mașina emulată „virt”, iar suportul Ibex SPI a fost adăugat la mașina „OpenTitan”.
  • Emulatorul de arhitectură 390x oferă suport pentru extensiile VEF 2 (Vector-Enhancements Facility 2). BIOS-ul s390-ccw oferă posibilitatea de a porni de pe discuri cu o dimensiune de sector diferită de 512 octeți.
  • Emulatorul de arhitectură Xtensa a adăugat suport pentru nucleele lx106 și codurile obiect pentru testarea cache-ului.

Sursa: opennet.ru

Adauga un comentariu