izdanje projekta . Kao emulator, QEMU omogućuje pokretanje programa sastavljenih za jednu hardversku platformu na sustavu s potpuno drugačijom arhitekturom, na primjer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U načinu virtualizacije, izvedba koda u izoliranom okruženju bliska je nativnim sustavima zahvaljujući izravnom izvršavanju instrukcija na CPU-u i korištenju hipervizora Xen ili KVM modula.
Izvorno je projekt stvorio Fabrice Bellard s ciljem omogućivanja pokretanja izvršnih datoteka Linuxa sastavljenih 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. Za pripremu verzije 4.2 uvedeno je više od 2200 izmjena od 198 programera.
Ključne , dodani 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 adresa u memoriji;
- U upravljačkom programu blok uređaja (Network Block Device) osigurana je učinkovitija obrada zahtjeva za kopiranje prilikom čitanja (copy-on-read). Kod NBD poslužitelja optimiziran je za kopiranje praznih slika (s prazninama). Uvedena su opća poboljšanja u implementaciji NBD klijenta i poslužitelja;
- Povećana je izvedba šifriranja LUKS diskova korištenjem algoritma AES-XTS;
- U vfio-pci dodana je podrška za svojstvo „failover_pair_id” radi olakšavanja migracije VFIO uređaja;
- U virtio-mmio dodana je podrška za standard virtio-compatible 2 i određeni u specifikaciji virtio 1.1 mehanizam pakiranih virtualnih redova () za razmjenu podataka s virtualnim uređajem ulaza/izlaza u paketu;
- U emulatoru arhitekture x86 dodan je novi tip emuliranih strojeva „microvm”, koji koristi virtio-mmio umjesto PCI za optimizaciju performansi. Implementirana je mogućnost uključivanja i isključivanja VMX-a putem zastavica „-cpu”. Dodana je podrška za emulaciju AVX512 BFloat16 ekstenzija. Osigurana je podrška za nove modele CPU Denverton (poslužiteljski SoC temeljен na Atomu), Snowridge i Dhyana. Stabilizirana je podrška za macOS Hypervisor Framework („-accel hvf”);
- U emulator arhitekture ARM dodana je podrška za emulaciju SoC Aspeed AST2600 («ast2600-evb»). Dodana je podrška za tehnologiju Semihosting 2.0 s proširenjima STDOUT_STDERR/EXIT_EXTENDED, koja omogućava emuliranom uređaju korištenje stdout, stderr i stdin za stvaranje datoteka na strani hosta. U KVM je dodana mogućnost korištenja više od 256 CPU-a i osigurana podrška za SIMD instrukcije SVE. U virtualnim mašinama tipa «» implementirana je podrška za vruće povezivanje memorije. Povećana je izvedba emulacije korištenjem generatora koda TCG.
- U emulatoru arhitekture PowerPC omogućena je emulacija POWER9 instrukcija mffsce, mffscrn i mffscrni. U emuliranim mašinama «powernv» dodana je podrška za sistemske uređaje Homer i OCC SRAM;
- U emulatoru arhitekture RISC-V dodana je opcija «-initrd» i mogućnost pregledavanja potpunog stanja arhitekture u debageru;
- U emulatoru arhitekture s390 implementirana je podrška za instrukcije IEP (Instruction Execution Protection);
- U emulator arhitekture 68k dodana je početna mogućnost emulacije Macintosh Quadro 800 i klasičnih sustava NeXTcube;
- U emulatoru arhitekture xtensa dodan je novi tip emuliranih mašina «virt» i implementirana je podrška za ABI call0 za emulaciju u korisničkom prostoru.
Izvor: opennet.ru
