A fost lansat emulatorul QEMU 9.2.0 cu suport pentru Rust și Vulkan

A fost lansată versiunea 9.2 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, se poate rula o aplicație pentru ARM pe un PC compatibil x86. În modul de virtualizare, performanța execuției codului într-un mediu izolat este aproape de cea a unui sistem hardware datorită execuției directe a instrucțiunilor pe CPU și utilizării hipervizorului Xen sau a modulului KVM în Linux, sau a modulului NVMM în NetBSD.

Inițial, proiectul a fost creat de Fabrice Bellard pentru a permite rularea fișierelor executabile Linux compilate pentru platforma x86 pe arhitecturi diferite de x86. De-a lungul anilor de dezvoltare, a fost adăugată suportul pentru emulare completă pentru 14 arhitecturi hardware, iar numărul dispozitivelor hardware emulate a depășit 400. În pregătirea versiunii 9.2, au fost efectuate mai mult de 1700 de modificări de către 209 dezvoltatori.

Îmbunătățiri cheie adăugate în QEMU 9.2:

  • A fost adăugată suport experimental pentru crearea de modele de dispozitive scrise în limbajul Rust. Atunci când QEMU este compilat cu suport pentru Rust, este folosită în mod implicit o implementare alternativă a driverului PL011 UART, scrisă în Rust, dar care nu este încă recomandată pentru utilizare pe scară largă.

    În prezent, suportul pentru Rust în QEMU este dezactivat implicit și se activează la compilare prin specificarea opțiunii „--enable-rust” la rularea scriptului configure. Pentru a compila cu Rust, sunt necesare cel puțin versiunile rustc 1.63.0 și bindgen 0.60.0 (de exemplu, în Debian 12 va fi necesar să instalați o versiune mai recentă de Rust separat). În viitor, compilatorul Rust și generatorul de legături bindgen urmează să fie adăugate ca dependențe obligatorii de compilare.

    Printre planurile legate de promovarea Rust în QEMU se numără aducerea la un stadiu funcțional a driverului HPET (High Precision Event Timer) și a driverului pentru dispozitivele blocate, scrise în Rust, continuarea dezvoltării echipamentelor pentru utilizarea Rust în diferite componente QEMU (de exemplu, în driverii de dispozitive blocate, timere și GPIO), refacerea în Rust a sistemelor critice din punct de vedere al securității, cum ar fi virtio.

  • Dispozitivul VirtIO-GPU, care asigură funcționarea unui GPU virtual, a adăugat suport pentru accelerarea 3D folosind API-ul grafic Vulkan, implementat prin driverul Vulkan Venus inclus în Mesa, care permite furnizarea unui GPU virtual pentru renderizarea 3D fără a deschide accesul exclusiv direct la GPU-ul fizic. Este necesară biblioteca virglrenderer pe partea sistemului gazdă și driverul Mesa Venus pe partea sistemului oaspete. Există o instrucțiune pentru configurarea suportului Vulkan în QEMU.
  • În instrumentarul de migrarea a mașinilor virtuale s-a adăugat suport pentru accelerarea operațiunilor de comprimare a fluxurilor de date transmise simultan prin intermediul bibliotecii QATzip, care folosește acceleratorul QAT (QuickAssist Technology) integrat în procesoarele Intel, oferind instrumente pentru accelerarea calculului legat de comprimare și criptare.
  • Backend-ul criptografic bazat pe GLib a adăugat suport pentru algoritmul de hashing SHA-384.
  • În emulatorul arhitecturii ARM a fost adăugat suport pentru extensiile de procesor FEAT_EBF16 și FEAT_CMOW, precum și extensii de securitate utilizate pe plăcile xilinx-zynq-a9. Utilizând componenta HVF, care folosește instrumentarul Hypervisor.framework pentru accelerarea execuției sistemelor oaspete pe computerele Mac cu ARM, suportul pentru mai mult de 64 GB de memorie a fost asigurat. Pentru sistemele emulate sbsa-ref și virt a fost adăugat suport pentru traducerea adreselor în două etape în SMMU (System Memory Management Unit). Suportul pentru tipuri de echipamente emulate învechite akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex și z2 a fost eliminat.
  • În emulatorul arhitecturii x86 s-a adăugat suport pentru un nou tip de configurare hardware - nitro-enclave, care emulează mediu AWS Nitro Enclave și care poate încărca imagini de sistem în format Enclave Image Format.
  • În emulatorul arhitecturii x86 pentru hypervisor KVM A fost implementată capacitatea de a activa suportul pentru setul de instrucțiuni AVX10, precum și versiunile specifice AVX10 - avx10-128, avx10-256 și avx10-512.
  • În emulatorul arhitecturii RISC-V a fost adăugat suport pentru extensiile setului de instrucțiuni Svvptc, Bitmanip (Manipularea Bit-ului) și CFI (Integritatea Fluxului de Control), utilizate pe plăcile OpenTitan. În tipul de sisteme emulate „virt” a fost adăugat suport pentru IOMMU. Performanța instrucțiunilor ld și st a fost îmbunătățită.
  • În emulatorul arhitecturii HPPA, firmware-ul SeaBIOS-hppa a fost actualizat la versiunea 17.
  • Emulatorul arhitecturii s390x a fost îmbunătățit pentru a permite încărcarea de pe alte dispozitive, în cazul în care încărcarea de pe dispozitivul specificat eșuează.

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