Release av QEMU 4.0-emulatorn

Bildas projekt release QEMU 4.0. Som emulator låter QEMU dig köra ett program kompilerat för en hårdvaruplattform på ett system med en helt annan arkitektur, till exempel köra en ARM-applikation på en x86-kompatibel PC. I virtualiseringsläge i QEMU är prestandan för kodexekvering i en isolerad miljö nära det ursprungliga systemet på grund av direkt exekvering av instruktioner på CPU:n och användningen av Xen-hypervisorn eller KVM-modulen.

Projektet skapades ursprungligen av Fabrice Bellard för att tillåta körbara Linux-filer byggda för x86-plattformen att köras på icke-x86-arkitekturer. Under årens utveckling har fullt emuleringsstöd lagts till för 14 hårdvaruarkitekturer, antalet emulerade hårdvaruenheter har överstigit 400. Som förberedelse för version 4.0 har mer än 3100 ändringar gjorts från 220 utvecklare.

Nyckel förbättringarlagt till i QEMU 4.0:

  • Stöd för ARMv8+ instruktionstillägg har lagts till i ARM-arkitekturemulatorn: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT och BTI. Tillagt stöd för att emulera Musca- och MPS2-kort. Förbättrad ARM PMU (Power Management Unit) emulering. Till plattformen virt lade till möjligheten att använda mer än 255 GB RAM och stöd för u-boot-bilder med typen "noload";

  • I x86-arkitekturemulatorn i virtualiseringsaccelerationsmotorn HAX (Intel Hardware Accelerated Execution) lade till stöd för POSIX-kompatibla värdar som Linux och NetBSD (tidigare stöddes endast Darwin-plattformen). I Q35-chipset-emulatorn (ICH9) för de viktigaste PCIe-portarna kan den maximala hastigheten (16GT/s) och antalet anslutningslinjer (x32) som definieras i PCIe 4.0-specifikationen nu deklareras (för att säkerställa kompatibilitet är 2.5GT installerat som standard för äldre typer av QEMU-maskiner /s och x1). Det är möjligt att ladda Xen PVH-bilder med alternativet "-kärna";
  • MIPS-arkitekturemulatorn har lagt till stöd för flertråds emulering med den klassiska TCG (Tiny Code Generator) kodgeneratorn. Lade också till stöd för emulering av CPU I7200 (nanoMIPS32 ISA) och I6500 (MIPS64R6 ISA), möjligheten att behandla CPU-typförfrågningar med QMP (QEMU Management Protocol), lagt till stöd för SAARI och SAAR konfigurationsregister. Förbättrad prestanda för virtuella maskiner med Fulong 2E-typen. Uppdaterad implementering av Interthread Communication Unit;
  • I PowerPC-arkitekturemulatorn har stöd för emulering av XIVE-avbrottskontrollern lagts till, stöd för POWER9 har utökats och för P-serien har möjligheten att hot-plugga PCI-värdbryggor (PHB, PCI-värdbrygga) lagts till. Skydd mot Spectre och Meltdown-attacker är aktiverat som standard;
  • Stöd för PCI- och USB-emulering har lagts till i RISC-V-arkitekturemulatorn. Den inbyggda felsökningsservern (gdbserver) stöder nu specificering av registerlistor i XML-filer. Tillagt stöd för mstatusfälten TSR, TW och TVM;
  • Arkitekturemulatorn s390 har lagt till stöd för z14 GA 2 CPU-modellen, samt stöd för emulering av instruktionstillägg för flyttals- och vektoroperationer. Möjligheten att hot-plugga enheter har lagts till i vfio-ap;
  • Tensilica Xtensa-familjeprocessoremulatorn har förbättrat SMP-stöd för Linux och lagt till stöd för FLIX (Flexible length instruktioner extension);
  • Alternativet '-display spice-app' har lagts till i det grafiska gränssnittet för att konfigurera och lansera en version av Spice fjärråtkomstklient med en design som liknar QEMU GTK-gränssnittet;
  • Lade till stöd för åtkomstkontroll med tls-authz/sasl-authz-alternativen till VNC-serverimplementeringen;
  • QMP (QEMU Management Protocol) lade till stöd för centraliserad/extern (Out-of-band) kommandoexekvering och implementerade ytterligare kommandon för att arbeta med blockenheter;
  • En implementering av EDID-gränssnittet har lagts till i VFIO för mdevs (Intel vGPUs) som stöds, så att du kan ändra skärmupplösningen med alternativen xres och yres;
  • En ny 'xen-disk'-enhet har lagts till för Xen, som oberoende kan skapa en diskbackend för Xen PV (utan att komma åt xenstore). Prestandan för Xen PV-diskens backend har ökats och möjligheten att ändra diskstorleken har lagts till;
  • Diagnostik- och spårningsmöjligheter har utökats i nätverksblockenheter, och klientkompatibilitet med problematiska NBD-serverimplementationer har förbättrats. Lade till "--bitmap", "--list" och "--tls-authz" alternativ till qemu-nbd;
  • Lade till stöd för PCI IDE-läge till den emulerade IDE/via-enheten;
  • Lade till stöd för att använda lzfse-algoritmen för att komprimera dmg-bilder. För formatet qcow2 har stöd för anslutning av externa datafiler lagts till. qcow2 uppackningsoperationer flyttas till en separat tråd. Lade till stöd för operationen "blockdev-create" i vmdk-bilder;
  • Virtio-blk-blockenheten har lagt till stöd för DISCARD (information om frigöring av block) och WRITE_ZEROES (nollställer ett intervall av logiska block) operationer;
  • pvrdma-enheten stöder RDMA Management Datagram-tjänster (MAD);
  • Lämnats förändringar, bryter mot bakåtkompatibilitet. Till exempel, istället för alternativet "handtag" i "-fsdev" och "-virtfs", bör du använda alternativen "lokal" eller "proxy". Alternativen "-virtioconsole" (ersatt med "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (ersatt med "-accel hax") togs bort. Borttagen enhet "ivshmem" (ska använda "ivshmem-doorbell" och "ivshmem-plain"). Stödet för att bygga med SDL1.2 har upphört (du måste använda SDL2).

Källa: opennet.ru

Lägg en kommentar