QEMU 4.0 emuliatoriaus išleidimas

Susiformavo projekto leidimas QEMU 4.0. Kaip emuliatorius, QEMU leidžia paleisti programą, sudarytą vienai aparatinės įrangos platformai, sistemoje su visiškai kitokia architektūra, pavyzdžiui, paleisti ARM programą su x86 suderinamame kompiuteryje. Virtualizavimo režimu QEMU kodo vykdymas izoliuotoje aplinkoje yra artimas vietinei sistemai dėl tiesioginio komandų vykdymo CPU ir Xen hipervizoriaus arba KVM modulio naudojimo.

Iš pradžių projektą sukūrė Fabrice'as Bellardas, kad „Linux“ vykdomieji failai, sukurti x86 platformai, galėtų veikti ne x86 architektūrose. Per kūrimo metus pilnas emuliacijos palaikymas buvo pridėtas 14 techninės įrangos architektūrų, emuliuojamų aparatūros įrenginių skaičius viršijo 400. Rengiantis 4.0 versijai, iš 3100 kūrėjų buvo atlikta daugiau nei 220 pakeitimų.

Raktas patobulinimaipridėta QEMU 4.0:

  • Prie ARM architektūros emuliatoriaus buvo pridėtas ARMv8+ instrukcijų plėtinių palaikymas: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT ir PTI. Pridėtas palaikymas emuliuojant Musca ir MPS2 plokštes. Patobulinta ARM PMU (Power Management Unit) emuliacija. Į platformą dorybė pridėta galimybė naudoti daugiau nei 255 GB RAM ir palaikymas u-boot vaizdams su „noload“ tipu;

  • x86 architektūros emuliatoriuje virtualizacijos pagreičio variklyje HAX („Intel Hardware Accelerated Execution“) pridėjo palaikymą su POSIX suderinamiems pagrindiniams kompiuteriams, tokiems kaip „Linux“ ir „NetBSD“ (anksčiau buvo palaikoma tik „Darwin“ platforma). Pagrindinių PCIe prievadų Q35 mikroschemų rinkinio emuliatoriuje (ICH9) dabar galima pasirinktinai deklaruoti PCIe 16 specifikacijoje apibrėžtą maksimalų greitį (32GT/s) ir ryšio linijų skaičių (x4.0) (siekiant užtikrinti suderinamumą, 2.5GT yra pagal numatytuosius nustatymus įdiegta senesnio tipo QEMU įrenginiams /s ir x1). Galima įkelti Xen PVH vaizdus su „-kernel“ parinktimi;
  • MIPS architektūros emuliatorius papildė kelių gijų emuliacijos palaikymą naudojant klasikinį TCG (Tiny Code Generator) kodų generatorių. Taip pat pridėtas procesoriaus I7200 (nanoMIPS32 ISA) ir I6500 (MIPS64R6 ISA) emuliacijos palaikymas, galimybė apdoroti procesoriaus tipo užklausas naudojant QMP (QEMU valdymo protokolą), papildomas SAARI ir SAAR konfigūracijos registrų palaikymas. Patobulintas virtualių mašinų našumas naudojant Fulong 2E tipą. Atnaujintas „Interthread Communication Unit“ diegimas;
  • „PowerPC“ architektūros emuliatoriuje buvo pridėtas XIVE pertraukimo valdiklio emuliavimo palaikymas, išplėstas POWER9 palaikymas, o P serijoje – galimybė prijungti PCI pagrindinius tiltus (PHB, PCI host bridge). Apsauga nuo Spectre ir Meltdown atakų įjungta pagal numatytuosius nustatymus;
  • PCI ir USB emuliacijos palaikymas buvo pridėtas prie RISC-V architektūros emuliatoriaus. Integruotas derinimo serveris (gdbserveris) dabar palaiko registrų sąrašų nurodymą XML failuose. Pridėtas mstatus laukų TSR, TW ir TVM palaikymas;
  • S390 architektūros emuliatorius papildė z14 GA 2 procesoriaus modelio palaikymą, taip pat komandų plėtinių emuliavimą slankiojo kablelio ir vektoriaus operacijoms. Prie vfio-ap buvo pridėta galimybė prijungti įrenginius karštuoju būdu;
  • Tensilica Xtensa šeimos procesoriaus emuliatorius pagerino SMP palaikymą, skirtą „Linux“, ir papildė FLIX (lankaus ilgio nurodymų plėtinio) palaikymą;
  • Parinktis „-display spice-app“ buvo pridėta prie grafinės sąsajos, kad būtų galima konfigūruoti ir paleisti „Spice“ nuotolinės prieigos kliento versiją, kurios dizainas panašus į QEMU GTK sąsają;
  • Prie VNC serverio įdiegimo pridėtas prieigos kontrolės palaikymas naudojant tls-authz/sasl-authz parinktis;
  • QMP (QEMU Management Protocol) papildė centralizuoto/išorinio (Out-of-band) komandų vykdymo palaikymą ir įdiegė papildomas komandas darbui su blokiniais įrenginiais;
  • Prie VFIO buvo pridėta EDID sąsaja, skirta palaikomiems mdevs (Intel vGPU), leidžianti keisti ekrano skiriamąją gebą naudojant xres ir yres parinktis;
  • „Xen“ buvo pridėtas naujas „xen-disk“ įrenginys, kuris gali savarankiškai sukurti „Xen PV“ disko užpakalinę programą (be prieigos prie „xenstore“). Padidintas Xen PV disko backend našumas ir pridėta galimybė keisti disko dydį;
  • Tinklo blokų įrenginiuose buvo išplėstos diagnostikos ir sekimo galimybės, patobulintas klientų suderinamumas su probleminiais NBD serverių diegimais. Prie qemu-nbd pridėtos „--bitmap“, „--list“ ir „--tls-authz“ parinktys;
  • Į emuliuojamą IDE/per įrenginį pridėtas PCI IDE režimo palaikymas;
  • Pridėtas palaikymas naudojant lzfse algoritmą dmg vaizdams suspausti. qcow2 formatui buvo pridėtas išorinių duomenų failų prijungimo palaikymas. qcow2 išpakavimo operacijos perkeliamos į atskirą giją. Pridėtas „blockdev-create“ operacijos palaikymas vmdk vaizduose;
  • virtio-blk bloko įrenginys papildė DISCARD (informavimas apie blokų išleidimą) ir WRITE_ZEROES (loginių blokų diapazono nulinis) palaikymą;
  • Pvrdma įrenginys palaiko RDMA valdymo duomenų gramų paslaugas (MAD);
  • Pateikta pokyčiai, pažeidžiantis atgalinį suderinamumą. Pavyzdžiui, vietoj "-fsdev" ir "-virtfs" parinkties "rankena" turėtumėte naudoti "local" arba "proxy" parinktis. Parinktys „-virtioconsole“ (pakeistos „-device virtconsole“), „-no-frame“, „-clock“, „-enable-hax“ (pakeistos „-accel hax“) buvo pašalintos. Pašalintas įrenginys „ivshmem“ (turėtų naudoti „ivshmem-doorbell“ ir „ivshmem-plain“). Palaikymas kuriant naudojant SDL1.2 buvo nutrauktas (reikia naudoti SDL2).

Šaltinis: opennet.ru

Добавить комментарий