Utgivelse av QEMU 4.0-emulatoren

Dannet prosjektutgivelse QEMU 4.0. Som emulator lar QEMU deg kjøre et program kompilert for én maskinvareplattform på et system med en helt annen arkitektur, for eksempel kjøre en ARM-applikasjon på en x86-kompatibel PC. I virtualiseringsmodus i QEMU er ytelsen til kodekjøring i et isolert miljø nær det opprinnelige systemet på grunn av direkte utførelse av instruksjoner på CPU og bruk av Xen hypervisor eller KVM-modul.

Prosjektet ble opprinnelig opprettet av Fabrice Bellard for å la Linux-kjørbare filer bygget for x86-plattformen kjøre på ikke-x86-arkitekturer. I løpet av årene med utvikling har full emuleringsstøtte blitt lagt til for 14 maskinvarearkitekturer, antallet emulerte maskinvareenheter har oversteget 400. Som forberedelse til versjon 4.0 er det gjort mer enn 3100 endringer fra 220 utviklere.

Nøkkel forbedringerlagt til i QEMU 4.0:

  • Støtte for ARMv8+ instruksjonsutvidelser er lagt til ARM-arkitekturemulatoren: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT og BTI. Lagt til støtte for å emulere Musca- og MPS2-kort. Forbedret ARM PMU (Power Management Unit) emulering. Til plattformen virt lagt til muligheten til å bruke mer enn 255 GB RAM og støtte for u-boot-bilder med "noload"-typen;

  • I x86-arkitekturemulatoren i virtualiseringsakselerasjonsmotoren HAX (Intel Hardware Accelerated Execution) la til støtte for POSIX-kompatible verter som Linux og NetBSD (tidligere ble bare Darwin-plattformen støttet). I Q35-brikkesett-emulatoren (ICH9) for hoved-PCIe-portene, kan nå den maksimale hastigheten (16GT/s) og antall tilkoblingslinjer (x32) definert i PCIe 4.0-spesifikasjonen deklareres (for å sikre kompatibilitet er 2.5GT installert som standard for eldre typer QEMU-maskiner /s og x1). Det er mulig å laste Xen PVH-bilder med "-kernel"-alternativet;
  • MIPS-arkitekturemulatoren har lagt til støtte for multi-threaded emulering ved å bruke den klassiske TCG (Tiny Code Generator) kodegeneratoren. La også til støtte for emulering av CPU I7200 (nanoMIPS32 ISA) og I6500 (MIPS64R6 ISA), muligheten til å behandle CPU-typeforespørsler ved å bruke QMP (QEMU Management Protocol), lagt til støtte for SAARI- og SAAR-konfigurasjonsregistre. Forbedret ytelse av virtuelle maskiner med Fulong 2E-typen. Oppdatert implementering av Interthread Communication Unit;
  • I PowerPC-arkitekturemulatoren er støtte for emulering av XIVE-avbruddskontrolleren lagt til, støtte for POWER9 er utvidet, og for P-serien er muligheten til å hot-plugge PCI-vertsbroer (PHB, PCI-vertsbro) lagt til. Beskyttelse mot Spectre og Meltdown-angrep er aktivert som standard;
  • Støtte for PCI- og USB-emulering er lagt til RISC-V-arkitekturemulatoren. Den innebygde feilsøkingsserveren (gdbserver) støtter nå spesifisering av registerlister i XML-filer. Lagt til støtte for mstatus-feltene TSR, TW og TVM;
  • s390-arkitekturemulatoren har lagt til støtte for z14 GA 2 CPU-modellen, samt støtte for emulering av instruksjonsutvidelser for flyttall- og vektoroperasjoner. Muligheten til å hot-plugge enheter er lagt til vfio-ap;
  • Tensilica Xtensa-familieprosessoremulatoren har forbedret SMP-støtte for Linux og lagt til støtte for FLIX (Flexible length instructions extension);
  • Alternativet '-display spice-app' er lagt til det grafiske grensesnittet for å konfigurere og lansere en versjon av Spice-fjerntilgangsklienten med et design som ligner på QEMU GTK-grensesnittet;
  • Lagt til støtte for tilgangskontroll ved å bruke tls-authz/sasl-authz-alternativene til VNC-serverimplementeringen;
  • QMP (QEMU Management Protocol) la til støtte for sentralisert/ekstern (Out-of-band) kommandoutførelse og implementerte tilleggskommandoer for arbeid med blokkenheter;
  • En implementering av EDID-grensesnittet er lagt til VFIO for støttede mdevs (Intel vGPUer), slik at du kan endre skjermoppløsningen ved å bruke alternativene xres og yres;
  • En ny 'xen-disk'-enhet er lagt til for Xen, som uavhengig kan opprette en disk-backend for Xen PV (uten tilgang til xenstore). Ytelsen til Xen PV-diskens backend er økt og muligheten til å endre diskstørrelsen er lagt til;
  • Diagnostikk- og sporingsfunksjoner har blitt utvidet i nettverksblokkenheter, og klientkompatibilitet med problematiske NBD-serverimplementeringer er forbedret. Lagt til "--bitmap", "--list" og "--tls-authz" alternativer til qemu-nbd;
  • Lagt til støtte for PCI IDE-modus til den emulerte IDE/via-enheten;
  • Lagt til støtte for bruk av lzfse-algoritmen for å komprimere dmg-bilder. For qcow2-formatet er støtte for tilkobling av eksterne datafiler lagt til. qcow2 utpakkingsoperasjoner flyttes til en egen tråd. Lagt til støtte for "blockdev-create"-operasjonen i vmdk-bilder;
  • Virtio-blk-blokkenheten har lagt til støtte for DISCARD (informerer om utgivelsen av blokker) og WRITE_ZEROES (nuller en rekke logiske blokker) operasjoner;
  • pvrdma-enheten støtter RDMA Management Datagram-tjenester (MAD);
  • Sendt inn endringer, bryter bakoverkompatibiliteten. For eksempel, i stedet for "håndtak"-alternativet i "-fsdev" og "-virtfs", bør du bruke alternativene "lokale" eller "proxy". Alternativene "-virtioconsole" (erstattet med "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (erstattet med "-accel hax") ble fjernet. Fjernet enhet "ivshmem" (bør bruke "ivshmem-doorbell" og "ivshmem-plain"). Støtte for bygging med SDL1.2 er avviklet (du må bruke SDL2).

Kilde: opennet.ru

Legg til en kommentar