Lansarea emulatorului QEMU 4.1

Prezentat lansarea proiectului QEMU 4.1. Ca emulator, QEMU permite rularea unei aplicații compilate 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 executării codului într-un mediu izolat este apropiată de cea a unui sistem nativ datorită executării directe a instrucțiunilor pe CPU și folosirii hipervizorului Xen sau a modulului KVM.

Inițial, proiectul a fost creat de Fabrice Bellard cu scopul de a permite executarea fișierelor binare Linux compilate pentru platforma x86 pe arhitecturi diferite de x86. De-a lungul anilor de dezvoltare, a fost adăugată suportul pentru emularea completă a 14 arhitecturi hardware, iar numărul de dispozitive emulate a depășit 400. Pentru versiunea 4.1, au fost realizate peste 2000 de modificări de către 276 de dezvoltatori.

Principalele îmbunătățiri, adăugate în QEMU 4.1:

  • În emulatorul arhitecturii x86 a fost adăugată suport pentru modelele CPU Hygon Dhyana și Intel SnowRidge. A fost adăugată emularea extensiei RDRAND (generator hardware de numere pseudo-aleatorii). Au fost adăugate flaguri
    md-clear și mds-no pentru gestionarea protecției împotriva atacurilor MDS (Microarchitectural Data Sampling) pe procesoarele Intel. A fost implementată capacitatea de a determina topologiile circuitelor integrate prin flagul „-smp …,dies=”. A fost realizată versiunea pentru toate modelele CPU x86;
  • Driverul bloc SSH a fost transferat de la utilizarea libssh2 pe libssh;
  • În driverul virtio-gpu (GPU virtual, dezvoltat în cadrul proiectului Virgil) s-a adăugat suport pentru externalizarea operațiunilor de redare 2D/3D într-un proces extern vhost-user (de exemplu, vhost-user-gpu);
  • În emulatorul arhitecturii ARM a fost adăugată suport pentru extensia ARMv8.5-RNG pentru generarea numerelor pseudo-aleatorii. A fost implementată suportul pentru emularea FPU pentru cipuri din familia Cortex-M și au fost rezolvate problemele cu emularea FPU pentru Cortex-R5F. A fost propus un nou sistem de configurare a opțiunilor de compilare, realizat în stil Kconfig. Pentru SoC Exynos4210 a fost adaugat suport pentru controlerele DMA PL330;
  • În emulatorul arhitecturii MIPS a fost îmbunătățit suportul pentru instrucțiunile MSA ASE când se utilizează ordinea de byte big-endian și a fost adus în conformitate cu echipamentele de referință tratarea cazurilor de împărțire la zero. Performanța emulării instrucțiunilor MSA pentru calcule întregi și operațiuni de permutare a fost îmbunătățită;
  • În emulatorul arhitecturii PowerPC a fost adăugată suport pentru trecerea la GPU NVIDIA V100/NVLink2 prin VFIO. Pentru pseries a fost realizată accelerarea emulării controlerului de întreruperi XIVE și a fost adăugat suport pentru conectarea în timp real a punților PCI. Au fost realizate optimizări în emularea instrucțiunilor vectoriale (Altivec/VSX);
  • În emulatorul arhitecturii RISC-V a fost adăugat un nou model de echipament — „spike”. A fost adăugată suportul pentru ISA 1.11.0. A fost îmbunătățit ABI de apeluri sistem 32 de biți, extinsă gestionarea instrucțiunilor invalide și îmbunătățit depanatorul încorporat. A fost adăugată suportul pentru topologia CPU în arborele de dispozitive;
  • În emulatorul arhitecturii s390 a fost adăugată suportul pentru emularea tuturor instrucțiunilor vectoriale din grupul „Vector Facility” și s-au adăugat elemente suplimentare pentru a suporta sistemele gen15 (inclusiv suportul pentru AP Queue Interruption Facility pentru vfio-ap). A fost implementat suportul BIOS pentru bootarea de pe ECKD DASD, legat de sistemul gazdă prin vfio-ccw;
  • În emulatorul arhitecturii SPARC pentru sistemele sun4m au fost rezolvate problemele legate de utilizarea flag-ului „-vga none” pentru OpenBIOS;
  • În emulatorul procesorilor din familia Tensilica Xtensa au fost implementate opțiuni pentru MPU (unitate de protecție a memoriei) și acces exclusiv;
  • Comenzii „qemu-img convert” i-a fost adăugată opțiunea „—salvage” pentru a dezactiva întreruperea bruscă a procesului de conversie a imaginii în cazul apariției erorilor de intrare/ișire (de exemplu, poate fi folosită pentru recuperarea fișierelor qcow2 parțial deteriorate). În comanda
    „qemu-img rebase” a fost asigurată funcționarea când pentru fișierul de intrare nu a fost creat încă un fișier de bază (backing);
  • A fost adăugată posibilitatea de a redirecționa ieșirea organizată folosind tehnologia „semihosting” (ce permite dispozitivului emulat să folosească stdout, stderr și stdin pentru a crea fișiere pe partea gazdă), în backend-ul chardev („-semihosting-config enable=on,target=native,chardev=[ID]”);
  • În driverul de bloc VMDK a fost adăugată suportul pentru subformatul seSparse în modul doar citire;
  • În driverul de emulare GPIO a fost adăugat suportul pentru controlerul GPIO SiFive.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster