QEMU 4.0 -emulaattorin julkaisu

Muodostettu projektin julkaisu QEMU 4.0. Emulaattorina QEMU mahdollistaa yhdelle laitteistoalustalle käännetyn ohjelman suorittamisen järjestelmässä, jossa on täysin erilainen arkkitehtuuri, esimerkiksi ARM-sovellusta x86-yhteensopivalla PC:llä. QEMU:n virtualisointitilassa koodin suoritus eristetyssä ympäristössä on lähellä alkuperäistä järjestelmää, koska käskyt suoritetaan suoraan suorittimessa ja Xen-hypervisor- tai KVM-moduulia käytetään.

Projektin loi alun perin Fabrice Bellard salliakseen x86-alustalle rakennettujen Linux-suoritustiedostojen ajamisen muissa kuin x86-arkkitehtuureissa. Vuosien kehitystyön aikana täysi emulointituki on lisätty 14 laitteistoarkkitehtuurille, emuloitujen laitteistojen määrä on ylittänyt 400. Version 4.0 valmistelemiseksi on tehty yli 3100 muutosta 220 kehittäjältä.

Avain parannuksialisätty QEMU 4.0:ssä:

  • ARM-arkkitehtuurin emulaattoriin on lisätty tuki ARMv8+ -käskylaajennuksille: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT ja BTI. Lisätty tuki Musca- ja MPS2-levyjen emulointiin. Parannettu ARM PMU (Power Management Unit) -emulointi. Lavalle hyve lisätty mahdollisuus käyttää yli 255 Gt RAM-muistia ja tuki u-boot-kuville "noload"-tyypin kanssa;

  • x86-arkkitehtuurin emulaattorissa virtualisoinnin kiihdytysmoottorissa HAX (Intel Hardware Accelerated Execution) lisäsi tuen POSIX-yhteensopiville isännille, kuten Linuxille ja NetBSD:lle (aiemmin tuettiin vain Darwin-alustaa). PCIe-pääporttien Q35-piirisarjaemulaattorissa (ICH9) PCIe 16 -spesifikaatiossa määritetty maksiminopeus (32 GT/s) ja yhteyslinjojen määrä (x4.0) voidaan nyt ilmoittaa valinnaisesti (yhteensopivuuden varmistamiseksi 2.5 GT on asennettu oletusarvoisesti vanhemmille QEMU-koneille /s ja x1). On mahdollista ladata Xen PVH -kuvia "-kernel"-vaihtoehdolla;
  • MIPS-arkkitehtuurin emulaattori on lisännyt tuen monisäikeiseen emulointiin käyttämällä klassista TCG (Tiny Code Generator) -koodigeneraattoria. Lisätty tuki CPU I7200 (nanoMIPS32 ISA) ja I6500 (MIPS64R6 ISA) emuloinnille, kyky käsitellä CPU-tyyppisiä pyyntöjä QMP:n (QEMU Management Protocol) avulla, lisätty tuki SAARI- ja SAAR-määritysrekistereille. Parempi suorituskyky virtuaalikoneen Fulong 2E -tyypin kanssa. Interthread-viestintäyksikön päivitetty toteutus;
  • PowerPC-arkkitehtuuriemulaattoriin on lisätty tuki XIVE-keskeytysohjaimen emulointiin, POWER9-tuki on laajennettu ja P-sarjaan on lisätty kyky hot plug PCI-isäntäsiltoja (PHB, PCI-isäntäsilta). Suojaus Spectre- ja Meltdown-hyökkäyksiä vastaan ​​on oletuksena käytössä;
  • PCI- ja USB-emuloinnin tuki on lisätty RISC-V-arkkitehtuurin emulaattoriin. Sisäänrakennettu virheenkorjauspalvelin (gdbserver) tukee nyt rekisteriluetteloiden määrittämistä XML-tiedostoissa. Lisätty tuki mstatus-kentille TSR, TW ja TVM;
  • S390-arkkitehtuurin emulaattori on lisännyt tuen z14 GA 2 -suoritinmallille sekä tuen emulointikäskylaajennuksille liukuluku- ja vektoritoimintoja varten. vfio-ap:iin on lisätty mahdollisuus kytkeä laitteita hot-plug;
  • Tensilica Xtensa -perheen prosessoriemulaattorissa on parannettu SMP-tuki Linuxille ja lisätty tuki FLIX:lle (Flexible pituus käskylaajennus);
  • Graafiseen käyttöliittymään on lisätty vaihtoehto "-display spice-app" Spice-etäkäyttöasiakkaan version konfiguroimiseksi ja käynnistämiseksi, joka on samanlainen kuin QEMU GTK -käyttöliittymä.
  • Lisätty tuki kulunvalvontaan käyttämällä tls-authz/sasl-authz-asetuksia VNC-palvelimen toteutukseen;
  • QMP (QEMU Management Protocol) lisäsi tuen keskitetylle/ulkoiselle (Out-of-band) komentojen suorittamiselle ja otti käyttöön lisäkomentoja lohkolaitteiden kanssa työskentelemiseen;
  • VFIO:oon on lisätty EDID-rajapinnan toteutus tuetuille mdeveille (Intel vGPU:ille), jonka avulla voit muuttaa näytön resoluutiota käyttämällä xres- ja yres-asetuksia;
  • Xenille on lisätty uusi 'xen-disk' -laite, joka voi itsenäisesti luoda levytaustan Xen PV:lle (käyttämättä xenstorea). Xen PV -levytaustajärjestelmän suorituskykyä on parannettu ja mahdollisuus muuttaa levyn kokoa on lisätty;
  • Diagnostiikka- ja jäljitysominaisuuksia on laajennettu verkkolohkolaitteissa ja asiakasyhteensopivuutta ongelmallisten NBD-palvelintoteutusten kanssa on parannettu. Lisätty "--bitmap", "--list" ja "--tls-authz" vaihtoehdot qemu-nbd;
  • Lisätty tuki PCI IDE -tilalle emuloituun IDE/via-laitteeseen;
  • Lisätty tuki lzfse-algoritmin käyttämiselle dmg-kuvien pakkaamiseen. Qcow2-muotoon on lisätty tuki ulkoisten datatiedostojen yhdistämiselle. qcow2:n purkutoiminnot siirretään erilliseen säiettä. Lisätty tuki "blockdev-create" -toiminnolle vmdk-kuvissa;
  • virtio-blk-lohkolaite on lisännyt tuen DISCARD (lohkojen vapautumisesta ilmoittaminen) ja WRITE_ZEROES (loogisten lohkojen nollaus) -toiminnoille;
  • pvrdma-laite tukee RDMA Management Datagram -palveluita (MAD);
  • Lähetetty muutokset, rikkoo taaksepäin yhteensopivuutta. Esimerkiksi "handle"-vaihtoehdon sijaan "-fsdev" ja "-virtfs" tulisi käyttää "local"- tai "proxy"-asetuksia. Vaihtoehdot "-virtioconsole" (korvattu "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (korvattu "-accel hax") poistettiin. Poistettu laite "ivshmem" (pitäisi käyttää "ivshmem-doorbell" ja "ivshmem-plain"). SDL1.2:lla rakentamisen tuki on lopetettu (sinun on käytettävä SDL2:ta).

Lähde: opennet.ru

Lisää kommentti