izdanje projekta . Kao emulatore, QEMU omogućava pokretanje programa koji su sastavljeni za jednu hardversku platformu na sistemu sa potpuno drugačijom arhitekturom, na primer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U režimu virtualizacije, performanse izvršavanja koda u izolovanom okruženju su bliske onima na nativnom sistemu zahvaljujući direktnom izvršenju instrukcija na CPU-u i korišćenju hipervizora Xen ili KVM modula.
Projekt je prvotno stvorio Fabrice Bellard s ciljem omogućavanja pokretanja izvršnih datoteka Linux compiliranih za x86 platformu na arhitekturama koje se razlikuju od x86. Tijekom godina razvoja dodana je podrška za potpunu emulaciju za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja premašio je 400. U pripremi verzije 4.2 izvršeno je više od 2200 promjena od 198 programera.
Ključne , dodanih u QEMU 4.2:
- U klasičnom generatoru koda TCG (Tiny Code Generator) implementirana je podrška za dodatke za praćenje procesorskih instrukcija i memorijskih adresa;
- U upravljačkom programu za blok uređaje (Network Block Device) osigurana je učinkovitija obrada zahtjeva za kopiranje tijekom čitanja (copy-on-read). Kod NBD poslužitelja optimiziran je za kopiranje praznih slika (s slobodnim mjestima). Uvedena su opća poboljšanja u implementaciji klijenta i poslužitelja NBD;
- Povećana je učinkovitost šifriranja LUKS diskova korištenjem algoritma AES-XTS;
- U vfio-pci dodana je podrška za svojstvo «failover_pair_id» radi olakšanja migracije VFIO uređaja;
- U virtio-mmio dodana je podrška za standard virtio-compatible 2 i za određeni mehanizam upakiranih virtualnih redova definiran u specifikaciji virtio 1.1 () za razmjenu podataka s virtualnim uređajem ulaza/izlaza u paketu;
- U emulatoru arhitekture x86 dodan je novi tip emuliranih mašina «microvm», koji koristi virtio-mmio umjesto PCI za optimizaciju performansi. Implementirana je mogućnost uključivanja i isključivanja VMX preko oznaka «-cpu». Dodana je podrška za emulaciju AVX512 BFloat16 ekstenzija. Osigurana je podrška za nove modele CPU-a Denverton (poslužiteljski SoC temeljen na Atomu), Snowridge i Dhyana. Stabilizirana je podrška za macOS Hypervisor Framework («-accel hvf»);
- U emulatoru arhitekture ARM dodana je podrška za emulaciju SoC Aspeed AST2600 («ast2600-evb»). Dodana je podrška za tehnologiju Semihosting 2.0 s ekstenzijama STDOUT_STDERR/EXIT_EXTENDED, koja omogućuje emuliranom uređaju korištenje stdout, stderr i stdin za kreiranje datoteka na strani domaćina. U KVM je omogućena upotreba više od 256 CPU-a i osigurana je podrška za SIMD instrukcije SVE. U virtualnim mašinama tipa «» implementirana je podrška za vruće povezivanje memorije. Povećana je učinkovitost emulacije s korištenjem generatora koda TCG.
- V emulatorju arhitekture PowerPC je bila dodana možnost emulacije POWER9 navodil mffsce, mffscrn in mffscrni. V emuliranih strojih 'powernv' je bila dodana podpora za sistemske naprave Homer in OCC SRAM.
- V emulatorju arhitekture RISC-V je bila dodana opcija '-initrd' in možnost pregleda celotnega stanja arhitekture v razhroščevalniku.
- V emulatorju arhitekture s390 je bila implementirana podpora za navodila IEP (Zaščita izvajanja navodil).
- V emulatorju arhitekture 68k je bila dodana začetna možnost emulacije Macintosh Quadro 800 in klasičnih sistemov NeXTcube.
- V emulatorju arhitekture xtensa je bil dodan nov tip emuliranih strojev 'virt' in implementirana podpora za ABI call0 za emulacijo v uporabniškem prostoru.
Izvor: opennet.ru
