Vrystelling van die QEMU 4.0-emulator

Gevorm projek vrystelling QEMU 4.0. As 'n emulator laat QEMU jou toe om 'n program wat saamgestel is vir een hardewareplatform op 'n stelsel met 'n heeltemal ander argitektuur te laat loop, byvoorbeeld om 'n ARM-toepassing op 'n x86-versoenbare rekenaar uit te voer. In virtualisasiemodus in QEMU is die uitvoering van kode-uitvoering in 'n geïsoleerde omgewing naby aan die inheemse stelsel as gevolg van direkte uitvoering van instruksies op die SVE en die gebruik van die Xen-hipervisor of KVM-module.

Die projek is oorspronklik deur Fabrice Bellard geskep om Linux-uitvoerbare programme wat vir die x86-platform gebou is, op nie-x86-argitekture te laat loop. Oor die jare van ontwikkeling is volledige emulasie-ondersteuning bygevoeg vir 14 hardeware-argitekture, die aantal nagebootste hardeware-toestelle het 400 oorskry. Ter voorbereiding vir weergawe 4.0 is meer as 3100 veranderinge van 220 ontwikkelaars aangebring.

Sleutel verbeteringsbygevoeg in QEMU 4.0:

  • Ondersteuning vir ARMv8+ instruksie-uitbreidings is by die ARM-argitektuur-emulator gevoeg: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT en BTI. Bygevoeg ondersteuning vir die nabootsing van Musca- en MPS2-borde. Verbeterde ARM PMU (Power Management Unit) emulasie. Na die platform deug bygevoeg die vermoë om meer as 255 GB RAM te gebruik en ondersteuning vir u-boot beelde met die "noload" tipe;

  • In die x86 argitektuur emulator in die virtualisering versnelling enjin HAX (Intel Hardware Accelerated Execution) het ondersteuning bygevoeg vir POSIX-geskikte gashere soos Linux en NetBSD (voorheen is slegs die Darwin-platform ondersteun). In die Q35-skyfiestel-emulator (ICH9) vir die hoof-PCIe-poorte, kan die maksimum spoed (16GT/s) en die aantal verbindingslyne (x32) wat in die PCIe 4.0-spesifikasie gedefinieer is, nou opsioneel verklaar word (om versoenbaarheid te verseker, is 2.5GT by verstek geïnstalleer vir ouer tipes QEMU-masjiene /s en x1). Dit is moontlik om Xen PVH beelde te laai met die "-kern" opsie;
  • Die MIPS-argitektuur-emulator het ondersteuning bygevoeg vir multi-threaded-emulasie deur die klassieke TCG-kodegenerator (Tiny Code Generator) te gebruik. Ook bygevoeg ondersteuning vir emulasie van CPU I7200 (nanoMIPS32 ISA) en I6500 (MIPS64R6 ISA), die vermoë om CPU tipe versoeke te verwerk met behulp van die QMP (QEMU Management Protocol), bygevoeg ondersteuning vir SAARI en SAAR konfigurasie registers. Verbeterde werkverrigting van virtuele masjiene met die Fulong 2E-tipe. Opgedateerde implementering van Interthread Communication Unit;
  • In die PowerPC-argitektuur-emulator is ondersteuning vir die nabootsing van die XIVE-onderbrekingbeheerder bygevoeg, ondersteuning vir POWER9 is uitgebrei, en vir die P-reeks is die vermoë om PCI-gasheerbrûe (PHB, PCI-gasheerbrug) te koppel bygevoeg. Beskerming teen Spectre- en Meltdown-aanvalle is by verstek geaktiveer;
  • Ondersteuning vir PCI- en USB-emulasie is by die RISC-V-argitektuur-emulator gevoeg. Die ingeboude ontfoutingsbediener (gdbserver) ondersteun nou die spesifikasie van registerlyste in XML-lêers. Bygevoeg ondersteuning vir mstatus velde TSR, TW en TVM;
  • Die s390-argitektuur-emulator het ondersteuning bygevoeg vir die z14 GA 2 SVE-model, sowel as ondersteuning vir die nabootsing van instruksie-uitbreidings vir swaaipunt- en vektorbewerkings. Die vermoë om toestelle te warmprop is by vfio-ap gevoeg;
  • Die Tensilica Xtensa familie verwerker emulator het verbeterde SMP ondersteuning vir Linux en bygevoeg ondersteuning vir die FLIX (buigsame lengte instruksies uitbreiding);
  • Die '-display spice-app'-opsie is by die grafiese koppelvlak gevoeg om 'n weergawe van die Spice-afstandtoegangkliënt op te stel en bekend te stel met 'n ontwerp soortgelyk aan die QEMU GTK-koppelvlak;
  • Bygevoeg ondersteuning vir toegangsbeheer deur die tls-authz/sasl-authz-opsies by die VNC-bedienerimplementering te gebruik;
  • QMP (QEMU Management Protocol) het ondersteuning bygevoeg vir gesentraliseerde/eksterne (buite-band) opdraguitvoering en bykomende opdragte geïmplementeer om met bloktoestelle te werk;
  • 'n Implementering van die EDID-koppelvlak is by VFIO gevoeg vir ondersteunde mdev's (Intel vGPU's), wat jou toelaat om die skermresolusie te verander deur die xres en yres opsies te gebruik;
  • 'n Nuwe 'xen-skyf'-toestel is bygevoeg vir Xen, wat onafhanklik 'n skyf-backend vir Xen PV kan skep (sonder toegang tot xenstore). Die werkverrigting van die Xen PV skyf backend is verhoog en die vermoë om die skyf grootte te verander is bygevoeg;
  • Diagnose- en opsporingsvermoëns is uitgebrei in netwerkbloktoestelle, en kliëntversoenbaarheid met problematiese NBD-bedienerimplementerings is verbeter. Bygevoeg "--bitmap", "--list" en "--tls-authz" opsies by qemu-nbd;
  • Ondersteuning vir PCI IDE-modus by die nagebootste IDE/via-toestel gevoeg;
  • Bygevoeg ondersteuning vir die gebruik van die lzfse algoritme om dmg beelde saam te pers. Vir die qcow2-formaat is ondersteuning vir die koppeling van eksterne datalêers bygevoeg. qcow2-uitpakbewerkings word na 'n aparte draad geskuif. Bygevoeg ondersteuning vir die "blockdev-create" operasie in vmdk beelde;
  • Bygevoeg ondersteuning vir die DISCARD (inlig oor die vrystelling van blokke) en WRITE_ZEROES (nulstelling van 'n reeks logiese blokke) bewerkings by die virtio-blk blok toestel;
  • Die pvrdma-toestel ondersteun RDMA Management Datagram-dienste (MAD);
  • Ingedien veranderinge, wat terugwaartse versoenbaarheid skend. Byvoorbeeld, in plaas van die "handle" opsie in "-fsdev" en "-virtfs", moet jy die "plaaslike" of "proxy" opsies gebruik. Die opsies “-virtioconsole” (vervang met “-device virtconsole”), “-no-frame”, “-clock”, “-enable-hax” (vervang met “-accel hax”) is verwyder. Verwyder toestel "ivshmem" (moet "ivshmem-doorbell" en "ivshmem-plain" gebruik). Ondersteuning vir bou met SDL1.2 is gestaak (jy moet SDL2 gebruik).

Bron: opennet.ru

Voeg 'n opmerking