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 körbara filer för Linux byggda för plattformen x86 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. I samband med förberedelsen av version 4.1 har mer Àn 2000 Àndringar införts av 276 utvecklare.
Nyckel , som lagts till i QEMU 4.1:
- Emulatorn för x86-arkitektur har fÄtt stöd för CPU-modellerna Hygon Dhyana och Intel SnowRidge. Emulering av RDRAND-tillÀgget (hÄrdvarugenerator för pseudotillfÀlliga nummer) har lagts till. Flaggor
md-clear och mds-no har lagts till för att hantera skyddet mot MDS-attacker (Microarchitectural Data Sampling) pĂ„ Intel-processorer. Möjlighet till topologibestĂ€mmelse av integrerade kretsar har införts med flaggan "-smp âŠ,dies= ". Versionshantering har implementerats för alla modeller av CPU x86; - Blockdrivrutinen för SSH har överförts frĂ„n anvĂ€ndning av till ;
- I drivrutinen virtio-gpu (virtuell GPU, utvecklad inom projektet ) har stöd för att flytta 2D/3D-renderingsoperationer till den externa processen vhost-user (till exempel vhost-user-gpu) lagts till;
- I emulatorn för ARM-arkitektur har stöd för ARMv8.5-RNG-tillÀgget för generering av pseudotillfÀlliga nummer lagts till. Stöd för emulering av FPU för Cortex-M-chips har genomförts och problem med emulering av FPU för Cortex-R5F har ÄtgÀrdats. Ett nytt system för anpassning av byggalternativ har föreslagits, utformat i stil med Kconfig. Stöd för DMA-kontrollers PL330 har lagts till för SoC Exynos4210;
- I emulatorn för MIPS-arkitektur har stödet för MSA ASE-instruktioner förbÀttrats vid anvÀndning av big-endian byteorder och överensstÀmmer med den referensutrustning som har hanterat division med noll. Prestandan av emulering av MSA-instruktioner för heltalsberÀkningar och omordningsoperationer har ökat.
- I emulatorn PowerPC-arkitekturen har stöd för att vidarebefordra till NVIDIA V100/NVLink2 GPU via VFIO lagts till. För pseries har acceleration av emulering av XIVE-avbrutningskontrollern implementerats och stöd för varmt anslutna PCI-broar har lagts till. Optimeringar har genomförts i emuleringen av vektorinstruktioner (Altivec/VSX);
- I RISC-V-arkitekturens emulator har en ny hĂ„rdvarumodell â "spike" â lagts till. Stöd för ISA 1.11.0 har införts. Det 32-bitar ABI för systemanrop har förbĂ€ttrats, hanteringen av ogiltiga instruktioner har utökats och den inbyggda debuggern har förbĂ€ttrats. Stöd för CPU-topologi i enhetstrĂ€det har lagts till;
- I s390-arkitekturens emulator har stöd för emulering av alla vektorinstruktioner i "Vector Facility"-gruppen lagts till och ytterligare komponenter för stöd av gen15-system har lagts till (bland annat stöd för AP Queue Interruption Facility för vfio-ap). Stöd för BIOS för att starta frÄn ECKD DASD, kopplat till gÀstsystemet via vfio-ccw har implementerats;
- I SPARC-arkitekturens emulator för sun4m-system har problem med att anvÀnda flaggan "-vga none" för OpenBIOS ÄtgÀrdats;
- I emulatorn för Tensilica Xtensa-processorer har alternativ för MPU (minnesskyddsenhet) och exklusiv Ätkomst implementerats;
- I kommandot "qemu-img convert" har alternativet "âsalvage" lagts till för att stĂ€nga av felavslutning av omvandlingsprocessen av bilden vid in-/utdatafel (till exempel kan det anvĂ€ndas för att Ă„terstĂ€lla delvis skadade qcow2-filer). I kommandot
"qemu-img rebase" sÀkerstÀlls funktionalitet nÀr en grundfil Ànnu inte har skapats för indatafilen; - Möjligheten att omdirigera utdata organiserad med hjÀlp av "semihosting"-teknik (möjliggör att den emulerade enheten anvÀnder stdout, stderr och stdin för att skapa filer pÄ vÀrden) har lagts till i chardev-backend ("-semihosting-config enable=on,target=native,chardev=[ID]");
- I VMDK-blockdrivaren har stöd för subformatet seSparse i skrivskyddat lÀge lagts till;
- I GPIO-emuleringsdrivaren har stöd för SiFive GPIO-kontroller lagts till.
KĂ€lla: opennet.ru
