QEMU 7.2 stiže s dugim popisom novih značajki

QEMU

QEMU je emulator procesora temeljen na dinamičkom binarnom prevođenju

Najavljeno je pokretanje nove verzije projekta QEMU 7.2, verzija u kojoj dodao razna poboljšanja podrške različitim emulatorima, od kojih je najistaknutiji implementacija 'virt'-a u OpenRISC-u, kao i poboljšanja za ARM i više. Ova nova izdana verzija QEMU 7.1 sadrži više od 1800 obveza od 205 autora

Za one koji su novi u QEMU-u, trebali biste znati da vam omogućuje pokretanje programa izgrađenog za jednu hardversku platformu na sustavu s potpuno različitom arhitekturom, na primjer pokretanje ARM aplikacije na računalu kompatibilnom s x86.

U virtualizacijskom načinu rada u QEMU, izvedba izvršavanja koda u izoliranom okruženju slična je onoj hardverskog sustava zbog izravnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.

Glavne novine QEMU-a 7.2

U ovoj novoj verziji koja je predstavljena za QEMU 7.2 istaknuto je daDodana podrška za AVX, AVX2, F16C, FMA3 i VAES upute na emulator x86 arhitekture u klasičnom TCG generatoru koda, kao i optimizacije performansi vezane uz korištenje SSE instrukcija.

Još jedna od promjena koja se ističe je da sada ARM emulator podržava Cortex-A35 CPU i ETS procesorske ekstenzije (Poboljšana sinkronizacija prijevoda), PMUv3p5 (strMU ekstenzije 3.5), GTG (Granula prijevoda za goste 4KB, 16KB, 64KB), HAFDBS i E0PD (EL0 Sprečavanje pristupa mapama dijeljenih adresa).

Osim toga, emulator arhitekture OpenRISC implementira 'virt' platformu za testiranje uređaja i korištenje u sustavima kontinuirane integracije. Implementirana podrška za višenitnu izvedbu klasičnog generatora koda TCG (Tiny Code Generator).

Arhitektonski emulator RISC-V na emuliranim 'virt' strojevima sada ima mogućnost pokretanja firmware-a s pflash-a u S modu, dok emulator LoongArch dodaje podršku za fw_cfg DMA, vruće uključivanje memorije i TPM (Trusted Platform Module) emulaciju uređaja.

Emulator arhitekture 390x pruža podršku za MSA5 ekstenziju (Message-Security-Assist Extension 5 s PRNO instrukcijom za generiranje pseudoslučajnih brojeva), KIMD/KLM instrukcije (implementacija SHA-512) i proširenu interpretaciju zPCI za goste na temelju KVM hipervizor.

Dodana je podrška za mehanizam praćenja izlaza KVM-a ("obavijesti vmexit") kako bi se spriječile CPU pogreške koje mogu uzrokovati rušenje.

Od ostale promjene koji se ističu u ovoj novoj verziji:

  • Pozadina za rad s memorijom omogućuje predraspodjelu memorije, uzimajući u obzir NUMA arhitekturu.
  • Poboljšan rad sa stablom uređaja
  • Poboljšana provjera zaglavlja uređaja LUKS cipherblock, dodana mogućnost stvaranja LUKS slika na macOS-u.
  • U pozadini 9pfs, koja omogućuje korištenje mrežnog datotečnog sustava Plan 9 za pristup s jednog virtualnog računala na drugo, promijenjeno je korištenje hasha GHashTable na tablici identifikatora, što je u nekim situacijama dovelo do povećanja performansi od 6 do 12 puta.
  • Dodane su nove netdev i dgram pozadine.
  • Podrška za FreeBSD dodana je u ARM gostujući agent.
  • GUI međuverzije za macOS pružaju mogućnost uključivanja sučelja temeljenih na Cocoa i SDL/GTK u jednoj izvršnoj datoteci.
  • Uklonjen je ugrađeni podmodul slirp, preporučuje se korištenje knjižnice sustava libslirp umjesto njega.
  • Zbog nedostatka mogućnosti testiranja, podrška za 32-bitne MIPS hostove koji koriste Big Endian poredak bajtova je zastarjela.
  • Binarne datoteke qemu-i386 i qemu-x86_64 sada su zadane na 'max' CPU modelu umjesto 'qemu32' / 'qemu64'
  • Podrška za spremanje/vraćanje SSE registara u signalne okvire u qemu-i386 (kada je FXSR postavljen na CPUID)
  • Podrška za spremanje/vraćanje XSAVE stanja na signalne okvire (kada je XSAVE postavljen na CPUID)

Konačno ako vas zanima više o tome o promjenama i novitetima koji su predstavljeni u ovoj novoj verziji QEMU 7.2 možete pogledati detalje i više u sljedeći link.