prosjektutgivelse . 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 5.1 er det gjort mer enn 2500 endringer fra 235 utviklere.
Nøkkel lagt til i QEMU 5.1:
- Lagt til støtte for CPU-emulering basert på arkitektur . Støtte for Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560)-brett er implementert.
Arduino Mega (ATmega1280) og Arduino UNO (ATmega328P). - ARM-arkitekturemulatoren har lagt til muligheten til å koble fra minne, samt hot-plugg nvdimm-minne for gjestesystemer med ACPI. Implementert støtte for ARMv8.2-utvidelser и . Støtte for sonorapass-bmc-kort er gitt.
- Støtte for Loongson 3A CPUer (R1 og R4) er lagt til MIPS-arkitekturemulatoren. Forbedret ytelse av FPU- og MSA-instruksjonsemulering.
- Støtte for SiFive E34 og Ibex CPUer er lagt til RISC-V arkitekturemulatoren. Støtte for HiFive1 revB og OpenTitan-kort er implementert. Spike-maskiner gir støtte for mer enn én CPU.
- PowerPC-arkitekturemulatoren støtter nå feilgjenoppretting i gjestesystemer som bruker FWNMI.
- For s390-arkitekturen er KVM-støtte lagt til for sikker virtualisering (sikker utførelsesmodus).
- x86-arkitekturemulatoren reduserer kostnadene ved virtualisering av utilpassede Windows-gjester ved å tilby Windows ACPI Emulated Device Table (WAET). Forbedret akselerasjonsstøtte for macOS.
- Blokkenhetsdriveren støtter nå virtuelle lagringsenheter med logiske og fysiske blokker på 2MB i størrelse.
- Lagt til muligheten til å overføre passord og krypteringsnøkler til QEMU via Linux-kjernenøkkelringen ved å bruke objekter av den nye typen "hemmelig nøkkelring".
- qcow2-formatet støtter nå zstd-komprimeringsalgoritmen.
- En ny 'bitmap'-kommando er lagt til qemu-img-verktøyet for å manipulere vedvarende punktgrafikk i qcow2-filer. qemu-img implementerer også LUKS-nøkkelstyring (nøkkelspor) og tilbyr ytterligere muligheter for kommandoene "map" (--start-offset, -max-length) og "konverter" (-bitmaps) kommandoen "measure" viser nå informasjon om størrelsen på vedvarende punktgrafikk i qcow2-filer.
- NVMe-driveren støtter nå Persistent Memory Regions introdusert i NVMe 1.4-spesifikasjonen.
- I virtio for gjestesystemer med den klassiske TCG (Tiny Code Generator) kodegeneratoren, er muligheten til å bruke prosesser implementert , inkludert virtiofsd. VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS-utvidelsen er lagt til vhost-user, slik at du kan registrere mer enn 8 RAM-spor.
Kilde: opennet.ru
