Objavljen emulator QEMU 9.2.0 s podrškom za Rust i Vulkan

Predstavljen je izlazak projekta QEMU 9.2. Kao emulador, QEMU omogućava pokretanje programa koji je sastavljen za jednu hardversku platformu na sistemu s posve drugačijom arhitekturom, na primjer, izvršenje aplikacije za ARM na x86-kompatibilnom računaru. U načinu virtualizacije, QEMU postiže performanse izvršavanja koda u izoliranom okruženju koje su bliske fizičkom sistemu zahvaljujući izravnom izvršavanju instrukcija na CPU-u i uključivanju hipervizora Xen ili modula KVM u Linuxu, ili modula NVMM u NetBSD.

Projekt je prvotno stvorio Fabrice Bellard s ciljem omogućavanja pokretanja izvršnih datoteka Linuxa sastavljenih za x86 platformu na arhitekturama koje se razlikuju od x86. Tijekom godina razvoja dodana je potpuna podrška za emulaciju za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja prešao je 400. U pripremi verzije 9.2 izvršeno je više od 1700 izmjena od 209 programera.

Ključna poboljšanja dodana u QEMU 9.2:

  • Dodana je eksperimentalna podrška za stvaranje modela uređaja napisanih na jeziku Rust. Kada se QEMU sastavi s podrškom za Rust, prema zadanim postavkama aktivira se alternativna implementacija upravljačkog programa PL011 UART, napisane na Rustu, ali zasad nije preporučena za široku upotrebu.

    Trenutno je prema zadanim postavkama podrška za Rust u QEMU isključena i aktivira se pri sastavljanju putem opcije "--enable-rust" pri pokretanju konfiguracijskog skripta. Za sastavljanje s Rustom potrebne su minimalno verzije rustc 1.63.0 i bindgen 0.60.0 (primjerice, u Debianu 12 potrebno je zasebno instalirati noviju verziju Rusta). U budućnosti se planira dodati kompajler Rust i generator vezivanja bindgen u obavezne ovisnosti za sastavljanje.

    Od planova povezanih s promocijom Rusta u QEMU, može se istaknuti dovođenje u radno stanje upravljačkog programa HPET (High Precision Event Timer) i upravljačkog programa za blok uređaje, napisanih na Rustu, nastavak razvoja omota za korištenje Rusta u različitim komponentama QEMU (primjerice, u upravljačkim programima blok uređaja, tajmerima i GPIO), te prepisivanje kritičnih sigurnosnih sustava, kao što je virtio, na Rust.

  • U uređaju VirtIO-GPU, koji omogućava rad virtualnog GPU-a, dodana je podrška za 3D ubrzanje korištenjem grafičkog API-a Vulkan, implementirana putem Vulkan drajvera Venus koji je dio Mesa, što omogućava pružanje virtualnog GPU-a gostujućem sistemu za 3D renderiranje bez otvaranja ekskluzivnog direktnog pristupa fizičkom GPU-u. Za rad je potrebna biblioteka virglrenderer na strani host sistema i Mesa drajver Venus na strani gostujućeg sistema. Dostupna je uputa za postavljanje Vulkan podrške u QEMU.
  • U alat za migraciju gostujućih sistema dodana je podrška za ubrzanje operacija kompresije istovremeno prenesenih tokova podataka pomoću biblioteke QATzip, koja koristi ugrađeni procesor Intelovog ubrzača QAT (QuickAssist Technology), koji nudi sredstva za ubrzanje proračuna povezanih sa kompresijom i šifriranjem.
  • U kriptografski backend temeljen na GLib dodana je podrška za algoritam heširanja SHA-384.
  • U emulatoru arhitekture ARM dodana je podrška za procesorska proširenja FEAT_EBF16 i FEAT_CMOW, kao i proširenja za osiguranje sigurnosti koja se koriste na pločama xilinx-zynq-a9. Kada se koristi komponenta HVF, koja uključuje alat za Hypervisor.framework radi ubrzanja izvođenja gostujućih sistema na ARM računalima Mac, omogućena je podrška za više od 64 GB memorije. Za emulirane sisteme sbsa-ref i virt dodana je podrška za dvofaznu translaciju adresa u SMMU (Sistem za upravljanje memorijom). Prekinuta je podrška za zastarjele tipove emulirane opreme akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex i z2.
  • U emulatoru arhitekture x86 dodana je podrška za novu vrstu hardverske konfiguracije - nitro-enclave, koja emulira AWS Nitro Enclave okruženje i može učitati sistemske slike u formatu Enclave Image Format.
  • U emulatoru arhitekture x86 za hipervizor KVM Ostvarena je mogućnost uključivanja podrške za AVX10 skup instrukcija, kao i specifične verzije AVX10 - avx10-128, avx10-256 i avx10-512.
  • U emulatoru arhitekture RISC-V dodana je podrška za proširenja skupa komandi Svvptc, Bitmanip (Bit-Manipulation) i CFI (Control Flow Integrity), koja se koriste na pločama OpenTitan. U tip emuliranih sistema „virt“ dodana je podrška za IOMMU. Povećana je efikasnost instrukcija ld i st.
  • U emulatoru arhitekture HPPA, firmver SeaBIOS-hppa je ažuriran na verziju 17.
  • U emulatoru arhitekture s390x dodana je mogućnost pokretanja s drugih uređaja ako se nije moglo pokrenuti s navedenog uređaja.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster