lëshimi i projektit . Si për emulator, QEMU lejon ekzekutimin e një programi të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion për ARM në një PC të përshtatshëm për x86. Në modalitetin virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është e ngjashme me sistemin natyror për shkak të ekzekutimit të drejtpërdrejtë të instruksioneve në CPU dhe angazhimit të hipervizorit Xen ose modulit KVM.
Projektin fillimisht ishte krijuar nga Fabrice Bellard me qëllimin e mundësisë për të ekzekutuar skedarë të paketuar për platformën x86 në arkitekturë të ndryshme nga x86. Gjatë viteve të zhvillimit, është shtuar mbështetje për emulimin e plotë për 14 arkitektura harduerike, numri i pajisjeve të emuluara kalon 400. Gjatë përgatitjes së versionit 4.0 u bënë më shumë se 3100 ndryshime nga 220 zhvillues.
ĂelĂ«sore , tĂ« shtuar nĂ« QEMU 4.0:
- Në emulatorin e arkitekturës ARM është shtuar mbështetje për zgjatjet e komandave ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT dhe BTI. Shtuar mbështetje për emulimin e pllakave "Musca" dhe "MPS2". Radhëzuar emulimin e ARM PMU (Njësia e Menaxhimit të Energjisë). Në platformën është shtuar mundësia për të përdorur më shumë se 255 GB RAM dhe mbështetje për imazhe u-boot me llojin "noload"; - Në emulatorin e arkitekturës x86 në motorin e përshpejtimit të virtualizimit (Intel Hardware Accelerated Execution) është shtuar mbështetje për hostët e pajtueshëm me POSIX, si Linux dhe NetBSD (më parë ishte mbështetur vetëm platforma Darwin). Në emulatorin e chipset-it Q35 (ICH9) për portet kryesore PCIe tani mund të deklarohet opsional shpejtësia maksimale (16GT/s) dhe numri i linjave të lidhjes (x32), të përcaktuara në specifikimin PCIe 4.0 (për të siguruar përputhshmëri për stilin e vjetër, QEMU vendos 2.5GT/s dhe x1). Siguruar mundësinë për të ngarkuar imazhe Xen PVH me opsionin "-kernel";
- Në emulatorin e arkitekturës MIPS, është shtuar mbështetje për emulimin shumëthesor duke përdorur gjeneratorin klasik të kodit TCG (Tiny Code Generator). gjithashtu është shtuar mbështetje për emulimin e CPU I7200 (nanoMIPS32 ISA) dhe I6500 (MIPS64R6 ISA), mundësia për të përpunuar kërkesat e tipit CPU duke përdorur protokollin QMP (QEMU Management Protocol), shtuar mbështetje për regjistrat e konfigurimit SAARI dhe SAAR. Përmirësuar funksionimi i makinave virtuale të tipit Fulong 2E. Përditësuar implementimin e Njësisë së Komunikimit Ndërthread;
- Në emulatorin e arkitekturës PowerPC, është shtuar mbështetje për emulimin e kontrollorit të ndërprerjeve XIVE, zgjeruar mbështetjen për POWER9, për serinë P është shtuar mundësia për lidhjen e nxehtë të mostërve kryesore PCI (PHB, PCI host bridge). Aktivizohet nga e drejta mbrojtja nga sulmet Spectre dhe Meltdown;
- Në emulatorin e arkitekturës RISC-V është shtuar mbështetje për emulimin PCI dhe USB. Në serverin e integruar të debugging (gdbserver) është realizuar mbështetje për vendosjen e listave të regjistrave në skedarët XML. Shtuar mbështetje për fushat mstatus TSR, TW dhe TVM;
- Në emulatorin e arkitekturës s390 është shtuar mbështetje për modelin e CPU z14 GA 2, si dhe mbështetje për emulimin e zgjatjeve të komandave për llogaritje me pikë të lundrueshme dhe operacione vektoriale. Në vfio-ap është shtuar mundësia për lidhjen e nxehtë të pajisjeve;
- Në emulatorin e procesorëve të familjes Tensilica Xtensa është përmirësuar mbështetje SMP për Linux dhe është shtuar mbështetje për zgjatjen FLIX (Zgjatja e komandave me gjatësi fleksibile);
- NĂ« ndĂ«rfaqen grafike Ă«shtĂ« shtuar opsioni â-display spice-appâ pĂ«r tĂ« konfiguruar dhe nisur variantin e klientit tĂ« aksesit tĂ« largĂ«t Spice me njĂ« dizajn tĂ« ngjashĂ«m me ndĂ«rfaqen GTK tĂ« QEMU;
- Në implementimin e serverit VNC është shtuar mbështetje për menaxhimin e aksesit përmes opsioneve tls-authz/sasl-authz;
- Në QMP (QEMU Management Protocol) është shtuar mbështetje për ekzekutimin e komandave të centralizuara/jashtme (Out-of-band) dhe janë realizuar komanda të tjera për punë me pajisjet e bllokut;
- Në VFIO është shtuar implementimi i ndërfaqes EDID për mdev të mbështetur (Intel vGPU), që lejon ndryshimin e rezolutës së ekranit duke përdorur opsionet xres dhe yres;
- PĂ«r Xen Ă«shtĂ« shtuar pajisja e re âxen-diskâ, e cila mund tĂ« krijojĂ« vetĂ« njĂ« bllok backend pĂ«r Xen PV (pa iu drejtuar xenstore). Performanca e bllok backend pĂ«r Xen PV Ă«shtĂ« rritur dhe Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« ndryshuar madhĂ«sinĂ« e disku;
- NĂ« pajisjet e bllokut tĂ« rrjetit janĂ« zgjeruar mundĂ«sitĂ« e diagnostikimit dhe gjurmimit, Ă«shtĂ« pĂ«rmirĂ«suar pĂ«rputhshmĂ«ria e klientit me implementimet problematike tĂ« serverit NBD. NĂ« qemu-nbd janĂ« shtuar opsionet «âbitmap», «âlist» dhe «âtls-authz»;
- Në pajisjen e emuluar IDE/via është shtuar mbështetje për modin PCI IDE;
- Shtuar mbështetje për përdorimin e algoritmit lzfse për kompresimin e imazheve dmg. Për formatin qcow2 është shtuar mbështetje për lidhjen e skedarëve të jashtëm me të dhëna. Operacionet e çpaketimit të qcow2 janë ndarë në një thread të veçantë. Në imazhet vmdk është shtuar mbështetje për operacionin «blockdev-create»;
- Në pajisjen e bllokut virtio-blk është shtuar mbështetje për operacionet DISCARD (njoftimi mbi çlirimin e blloqeve) dhe WRITE_ZEROES (zerimi i gamës së bllokave logjikë);
- Në pajisjen pvrdma është realizuar mbështetje për shërbimet RDMA Management Datagram (MAD);
- Bërë , që shkelin kompatibilitetin prapa. Për shembull, në vend të opsionit «handle» për «-fsdev» dhe «-virtfs», duhet të përdoren opsionet «local» ose «proxy». U hoqën opsionet «-virtioconsole» (zëvendësuar me «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (zëvendësuar me «-accel hax»). U hoq pajisja «ivshmem» (duhen përdorur «ivshmem-doorbell» ose «ivshmem-plain»). Mbështetje për ndërtimin me SDL1.2 është ndërprerë (duhet të përdoret SDL2).
Burimi: opennet.ru
