projektets release . Som emulator möjliggör QEMU att köra program som Àr byggda för en hÄrdvaruplattform pÄ ett system med helt annan arkitektur, till exempel köra en applikation för ARM pÄ en x86-kompatibel PC. I virtualiseringslÀget Àr exekveringsprestandan av koden i en isolerad miljö nÀra den inhemska systemets prestanda genom direkt exekvering av instruktioner pÄ CPU och anvÀndning av hypervisorn Xen eller KVM-modulen.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av Linux-exekverbara filer som byggts för x86-plattformen pÄ arkitekturer som skiljer sig frÄn x86. Under Ären har stöd för fullstÀndig emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. Vid förberedelse av version 4.0 har fler Àn 3100 Àndringar gjorts av 220 utvecklare.
Nyckel , tillagda i QEMU 4.0:
- Emulatorn för ARM-arkitekturen har lagt till stöd för ARMv8+-instruktionsförlÀngningar: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT och BTI. Stöd för emulering av "Musca"- och "MPS2"-kort har lagts till. Emuleringen av ARM PMU (Power Management Unit) har förbÀttrats. Möjlighet till anvÀndning av mer Àn 255 GB RAM har lagts till plattformen och stöd för u-boot-bilder av typen "noload"; - I emulatorn för x86-arkitekturen har stöd för POSIX-kompatibla vÀrdar i virtualiseringsacceleratorn (Intel Hardware Accelerated Execution) lagts till, inklusive sÄdana som Linux och NetBSD (tidigare stödde man endast Darwin-plattformen). I emulatorsystemet för Q35-chipsetet (ICH9) kan de primÀra PCIe-portarna nu optionellt deklarera maximal hastighet (16GT/s) och antal anslutningslinjer (x32) enligt PCIe 4.0-specifikationen (för att sÀkerstÀlla kompatibilitet som standard installeras 2.5GT/s och x1 för Àldre maskintyper). Möjlighet till laddning av Xen PVH-bilder med alternativet "-kernel" har ocksÄ tillhandahÄllits;
- I emulatorn för MIPS-arkitekturen har stöd för flerkÀrnig emulering lagts till med den klassiska kodgeneratorn TCG (Tiny Code Generator). Stöd har Àven lagts till för emulering av CPU I7200 (nanoMIPS32 ISA) och I6500 (MIPS64R6 ISA), med möjligheten att hantera typer av CPU-förfrÄgningar via QMP-protokollet (QEMU Management Protocol). Stöd har lagts till för konfigurationsregister SAARI och SAAR. Funktionaliteten för virtuella maskiner av typen Fulong 2E har förbÀttrats. Implementation av Interthread Communication Unit har uppdaterats;
- I emulatorn för PowerPC-arkitekturen har stöd för emulering av XIVE-avbrottskontroller lagts till, och stödet för POWER9 har utvidgats. För P-serien har möjligheten till hot-plug av PCI-huvudbroar (PHB, PCI host bridge) lagts till. Skydd mot Spectre- och Meltdown-attacker Àr aktiverat som standard;
- I emulatorn för RISC-V-arkitekturen har stöd för emulering av PCI och USB lagts till. Den inbyggda felavlastningsservern (gdbserver) har stöd för att ange registerlistor i XML-filer. Stöd har lagts till för mstatus-fÀlten TSR, TW och TVM;
- Stöd för CPU-modellen z14 GA 2 har lagts till i s390-arkitekturemiratorn, liksom stöd för emulering av instruktionsutvidgningar för flyttal och vektoroperationer. Möjlighet till hot-pluggning av enheter har lagts till i vfio-ap;
- Stödet för SMP för Linux har förbÀttrats i emulatorsystemet för Tensilica Xtensa-processorer och stöd för FLIX (Flexible length instructions extension) har lagts till;
- En ny alternativ â-display spice-appâ har lagts till i det grafiska grĂ€nssnittet för att konfigurera och köra en variant av Spice fjĂ€rrĂ„tkomstklient med utseende som liknar GTK-grĂ€nssnittet för QEMU;
- Stöd för Ätkomstkontroll har lagts till i VNC-serverimplementeringen med hjÀlp av alternativen tls-authz/sasl-authz;
- Stöd för centraliserad/extern (Out-of-band) kommandokörning har lagts till i QMP (QEMU Management Protocol) och ytterligare kommandon för hantering av blockenheter har implementerats;
- Implementeringen av EDID-grÀnssnittet har lagts till i VFIO för stödda mdev (Intel vGPU), vilket möjliggör Àndring av skÀrmupplösning med hjÀlp av alternativen xres och yres;
- Ett nytt enhet âxen-diskâ har lagts till för Xen, vilket automatiskt kan skapa en diskbackend för Xen PV (utan att behöva kontakta xenstore). Prestandan för diskbackenden i Xen PV har förbĂ€ttrats och möjligheten att Ă€ndra diskstorleken har lagts till;
- Diagnostik- och spĂ„rningsmöjligheterna har utökats i nĂ€tverksblockenheter, och klientens kompatibilitet med problematiska implementationer av NBD-server har förbĂ€ttrats. Alternativen ââbitmapâ, ââlistâ och ââtls-authzâ har lagts till i qemu-nbd;
- Stöd för PCI IDE-lÀge har lagts till i det emulerade IDE/via-enheten;
- Stöd för anvĂ€ndning av lzfse-algoritmen för komprimering av dmg-avbildningar har lagts till. För qcow2-formatet har stöd för anslutning av externa filsystem med data lagts till. Avlastningsoperationer för qcow2 har flyttats till en separat trĂ„d. Stöd för operationen âblockdev-createâ har lagts till i vmdk-avbildningar;
- Stöd för operationerna DISCARD (meddelande om frislÀppande av block) och WRITE_ZEROES (nollstÀllning av logiska blockomrÄden) har lagts till i virtio-blk-blockenheten;
- Stöd för RDMA Management Datagram services (MAD) har implementerats i pvrdma-enheten;
- Ăndringar har gjorts , som bryter bakĂ„tkompatibiliteten. Till exempel, istĂ€llet för alternativet «handle» i «-fsdev» och «-virtfs» bör man anvĂ€nda alternativen «local» eller «proxy». Alternativen «-virtioconsole» (ersatt med «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (ersatt med «-accel hax») har tagits bort. Enheten «ivshmem» har tagits bort (anvĂ€nd «ivshmem-doorbell» eller «ivshmem-plain»). Stöd för byggnad med SDL1.2 har upphört (anvĂ€nd SDL2).
KĂ€lla: opennet.ru
