projekti vĂ€ljalaskmine . QEMU emulaatorina vĂ”imaldab kĂ€itada rakendusi, mis on loodud ĂŒhele riistvaraarhitektuurile, tĂ€iesti erineva arhitektuuriga sĂŒsteemis, nĂ€iteks kĂ€ivitada ARM-rakendus x86-ĂŒhilduvas arvutis. VirtuaalreĆŸiimis on QEMU koodi tĂ€itmise jĂ”udlus isoleeritud keskkonnas lĂ€hedane kohaliku sĂŒsteemi jĂ”udlusele CPU otse kĂ€su tĂ€itmise ja Xen hĂŒperviisori vĂ”i KVM mooduli kasutamise tĂ”ttu.
Projekt loodi algselt Fabrice Bellardi poolt eesmĂ€rgiga vĂ”imaldada x86 platvormile kompileeritud Linuxi kĂ€ivitatavate failide kĂ€ivitamist erinevates arhitektuurides. Arenduse kĂ€igus on lisatud tĂ€ieliku emulatsiooni tugi 14 riistvara arhitektuurile ning emuleeritud seadmete arv ĂŒletas 400. Versiooni 4.0 ettevalmistamisel tehti rohkem kui 3100 muudatust 220 arendaja poolt.
Peamised , mis lisati QEMU 4.0:
- ARM arhitektuuri emulaatorisse on lisatud tugi ARMv8+ kÀskude laiendustele: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT ja BTI. Lisatud on tugi "Musca" ja "MPS2" platvormide emuleerimiseks. Parandatud on ARM PMU (vĂ”imsuse haldamise seadme) emulatsiooni. Platvormile on lisatud vĂ”imalus kasutada rohkem kui 255 GB RAM-i ja tugi "noload" tĂŒĂŒpi u-boot piltidele; - x86 arhitektuuri emulaatoris on virtualiseerimise kiirenduse mootoris suurendatud tugi POSIX-ĂŒhilduvate hostide, nĂ€iteks Linuxi ja NetBSD, jaoks (varem toetas ainult Darwin platvormi). Q35 (ICH9) kiibistikuga emulaatoris saavad nĂŒĂŒd pĂ”hised PCIe portid valikuliselt töötada maksimaalsel kiirusel (16GT/s) ja ĂŒhendusliinide arvuga (x32), mis on mÀÀratud PCIe 4.0 spetsifikatsioonis (vanade masinatĂŒĂŒpide ĂŒhilduvuse tagamiseks on QEMU vaikimisi seadistatud 2.5GT/s ja x1). Laadimispiltide laadimise vĂ”imalus Xen PVH jaoks valikuga "-kernel";
- MIPS arhitektuuri emulaatoris on lisatud multiteemalise emulatsiooni tugi klassikalise koodigeneraatori TCG (Tiny Code Generator) abil. Samuti on lisatud tugi CPU I7200 (nanoMIPS32 ISA) ja I6500 (MIPS64R6 ISA) emuleerimiseks, CPU pĂ€ringute töötlemiseks QMP (QEMU haldusprotokolli) kaudu, Lisatud on SAARI ja SAAR konfiguratsiooniregistrite tugi. Parandatud on virtuaalsete masinate toimimist Fulong 2E tĂŒĂŒbi puhul. Uuendatud on interthread suhtluse ĂŒksuse teostust;
- PowerPC arhitektuuri emulaatoris on lisatud tugi katkestuste kontrolleri XIVE emuleerimiseks, laiendatud on POWER9 toetust, P seeria jaoks on lisatud vĂ”imalus kuumalt ĂŒhendada PCI peamised sillad (PHB, PCI host bridge). Vaikimisi on sisse lĂŒlitatud kaitse Spectre ja Meltdown rĂŒnnakute eest;
- RISC-V arhitektuuri emulaatoris on lisatud PCI ja USB emuleerimise tugi. Sisseehitatud silumise server (gdbserver) toetab registeride nimekirjade mÀÀramist XML failides. Lisatud on tugi mstatus-vÀljadele TSR, TW ja TVM;
- S390 arhitektuuri emulaatorisse lisati CPU mudeli z14 GA 2 tugi ning ka juhiste laiendite emulatsiooni tugi ujuvpunktiliste arvutuste ja vektorkoormuste jaoks. Vfio-ap tÀiustas seadmete kuumplugimise vÔimalust;
- Tensilica Xtensa protsessorite emulaatoris parandati SMP toe toetust Linuxile ning lisati FLIX (paindlike pikkuste juhiste laiendite) tugi;
- Graafilisse kasutajaliidesesse lisati valik â-display spice-appâ, et seadistada ja kĂ€ivitada Spice kaugjuurdepÀÀsu kliendi variandi, mis nĂ€eb vĂ€lja nagu QEMU GTK liides;
- VNC-serveri rakendusse lisati juurdepÀÀsu juhtimise tugi tls-authz/sasl-authz valikute kaudu;
- QMP-s (QEMU haldusprotokoll) lisati tsentraliseeritud/vÀline (Out-of-band) kÀskude tÀitmise tugi ning rakendati tÀiendavad kÀsud plokisseadmete toetamiseks;
- VFIO-sse lisati EDID liidese rakendus toetatud mdev (Intel vGPU) jaoks, mis vÔimaldab ekraani eraldusvÔimet muuta, kasutades xres ja yres valikuid;
- Xenile lisati uus seade âxen-diskâ, mis suudab iseseisvalt luua Xen PV jaoks diskibackendi (ilma xenstore'i poole pöördumata). Xen PV diskibackendi jĂ”udlust on parandatud ja diskiruumi suuruse muutmise vĂ”imalus on lisatud;
- VĂ”rguplokiseadmetes on diagnostika ja jĂ€lgimise vĂ”imalusi laiendatud ning kliendi ĂŒhilduvust probleemsete NBD serverite rakendustega on parendatud. Qemu-nbd-sse on lisatud valikud «âbitmap», «âlist» ja «âtls-authz»;
- Emuleeritavasse IDE/via seadmesse lisati PCI IDE reĆŸiimi tugi;
- Lisati tugi lzfse algoritmi kasutamiseks dmg-piltide tihendamisel. Qcow2 formaadi jaoks lisati tugi vĂ€liste andmefailide ĂŒhendamiseks. Qcow2 dekompressioonitegevused on viidud eraldi lĂ”ime. Vmdk-piltidesse lisati âblockdev-createâ toimingu tugi;
- Virtio-blk plokiseadmesse lisati DISCARD (plokkide vabastamise teavitamine) ja WRITE_ZEROES (loogiliste plokkide vahemiku nullimine) toimingute tugi;
- Pvrdma seadmesse rakendati RDMA haldusteate teenuste (MAD) tugi;
- Tehtud on , mis rikuvad tagasipöörduvust. NÀiteks tuleks kÀsitseda "-fsdev" ja "-virtfs" asemel kasutada valikuid "local" vÔi "proxy". Eemaldatud on valikud "-virtioconsole" (asendatud "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (asendatud "-accel hax"). Seade "ivshmem" on eemaldatud (tuleks kasutada "ivshmem-doorbell" vÔi "ivshmem-plain"). SDL1.2 toetus on lÔpetatud (tuleb kasutada SDL2).
Allikas: opennet.ru
