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 Linuxa sastavljenih za x86 platformu na arhitekturama različitim od x86. Kroz godine razvoja dodana je podrška za potpunu emulaciju za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja premašio je 400. Prilikom pripreme verzije 5.1 uneseno je više od 2500 promjena od 235 programera.
Ključne , dodano u QEMU 5.1:
- Dodana je podrška za emulaciju CPU-a baziranih na arhitekturi . Implementirana je podrška za ploče Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
Arduino Mega (ATmega1280) i Arduino UNO (ATmega328P). - U emulatore arhitekture ARM dodana je mogućnost vrućeg isključivanja memorije (hot-unplug), kao i vrućeg povezivanja memorije nvdimm za gostujuće sustave s ACPI-jem. Implementirana je podrška za proširenja ARMv8.2 in . Osigurana je podrška za ploču sonorapass-bmc.
- U emulatoru arhitekture MIPS dodana je podrška za CPU Loongson 3A (R1 i R4). Povećane su performanse emulacije instrukcija FPU i MSA.
- U emulatoru arhitekture RISC-V dodana je podrška za CPU SiFive E34 i Ibex. Implementirana je podrška za ploče HiFive1 revB i OpenTitan. Za Spike strojeve omogućena je podrška za više od jednog CPU-a.
- U emulatoru arhitekture PowerPC dodana je podrška za obnavljanje grešaka u gostujućim sustavima pomoću FWNMI.
- Za arhitekturu s390 dodana je podrška KVM za zaštićenu virtualizaciju (mod sigurnog izvršenja).
- U emulatoru arhitekture x86 smanjeni su troškovi virtualizacije neadaptiranih gostujućih sustava s Windowsom, putem pružanja tablice emuliranih uređaja ACPI WAET (Windows ACPI Emulated Device Table). Poboljšana je podrška za ubrzanje za macOS.
- U drajveru blokovnih uređaja dodana je podrška za virtualne uređaje za pohranu s logičkim i fizičkim blokovima veličine 2MB.
- Dodana je mogućnost prijenosa lozinki i ključeva za enkripciju u QEMU putem keyring-a jezgre Linuxa pomoću objekata novog tipa "secret-keyring".
- Za qcow2 format implementirana je podrška za algoritam kompresije zstd.
- V orodju qemu-img je bila dodana nova ukaz ‘bitmap’ za upravljanje stalnimi bitnimi slikami v datotekah qcow2. V qemu-img je prav tako implementirano upravljanje s ključi LUKS (keyslot) in ponujene dodatne možnosti za ukaze „map“ (—start-offset, —max-length) in „convert“ (—bitmaps), v ukazu „measure“ so dodane informacije o velikosti stalnih bitnih slik v datotekah qcow2.
- V gonilniku NVMe je bila dodana podpora za stalna pomnilniška območja (Persistent Memory Region), uvedena v specifikaciji NVMe 1.4.
- V virtio za gostiteljske sisteme s klasičnim generatorjem kode TCG (Tiny Code Generator) je bila omogočena uporaba procesov , vključno z virtiofsd. V vhost-user je bila dodana razširitev VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, ki omogoča registracijo več kot 8 pomnilniških mest.
Izvor: opennet.ru
