Udgivelse af QEMU 4.1-emulatoren

Introduceret projektudgivelse QEMU 4.1. Som emulator giver QEMU dig mulighed for at køre et program bygget til én hardwareplatform på et system med en helt anden arkitektur, for eksempel køre en ARM-applikation på en x86-kompatibel pc. I virtualiseringstilstanden i QEMU er ydeevnen af ​​kodekørsel i et isoleret miljø tæt på det oprindelige system på grund af den direkte udførelse af instruktioner på CPU'en og brugen af ​​Xen hypervisor eller KVM-modulet.

Projektet blev oprindeligt skabt af Fabrice Bellard for at tillade Linux-eksekverbare filer bygget til x86-platformen til at køre på ikke-x86-arkitekturer. Gennem årenes udvikling er der blevet tilføjet fuld emuleringsunderstøttelse for 14 hardwarearkitekturer, antallet af emulerede hardwareenheder har oversteget 400. Som forberedelse til version 4.1 er der foretaget mere end 2000 ændringer fra 276 udviklere.

Nøgle forbedring, tilføjet i QEMU 4.1:

  • Understøttelse af Hygon Dhyana og Intel SnowRidge CPU-modeller er blevet tilføjet til x86-arkitekturemulatoren. Tilføjet emulering af RDRAND udvidelsen (hardware pseudo-tilfældige tal generator). Tilføjet flag
    md-clear og mds-no for at kontrollere angrebsbeskyttelse MDS (Microarchitectural Data Sampling) på Intel-processorer. Tilføjet muligheden for at bestemme integrerede kredsløbstopologier ved hjælp af flaget "-smp ...,dies=". Versionering er blevet implementeret for alle x86 CPU-modeller;

  • SSH-blokdriveren er blevet flyttet fra at bruge libssh2libsh;
  • Virtio-gpu-driveren (virtuel GPU udviklet som en del af projektet Virgil) tilføjet understøttelse til at flytte 2D/3D-gengivelsesoperationer til en ekstern vhost-bruger-proces (for eksempel vhost-bruger-gpu);
  • ARM-arkitekturemulatoren har tilføjet understøttelse af ARMv8.5-RNG-udvidelsen til at generere pseudo-tilfældige tal. Understøttelse af FPU-emulering er blevet implementeret for Cortex-M-familiechips, og problemer med FPU-emulering til Cortex-R5F er blevet løst. Et nyt system til indstilling af byggemuligheder, designet i Kconfig-stilen, er blevet foreslået. Til SoC Exynos4210 er der tilføjet understøttelse af PL330 DMA-controllere;
  • MIPS-arkitekturemulatoren har forbedret understøttelse af MSA ASE-instruktioner ved brug af big-endian byte-rækkefølge og justeret håndteringen af ​​division med nul tilfælde med referencehardware. Ydeevnen for emulering af MSA-instruktioner til heltalsberegninger og permutationsoperationer er blevet øget;
  • PowerPC-arkitekturemulatoren understøtter nu videresendelse til NVIDIA V100/NVLink2 GPU'er ved hjælp af VFIO. For pseries er acceleration af XIVE interrupt controller-emulering blevet implementeret, og understøttelse af hot plugging af PCI-broer er blevet tilføjet. Der er foretaget optimering af emulering af vektorinstruktioner (Altivec/VSX);
  • En ny hardwaremodel er blevet tilføjet til RISC-V arkitekturemulatoren - "spike". Tilføjet understøttelse af ISA 1.11.0. 32-bit systemkaldet ABI er blevet forbedret, ugyldige instruktionshåndtering er blevet forbedret, og den indbyggede debugger er blevet forbedret. Tilføjet understøttelse af CPU-topologi i enhedstræet;
  • s390-arkitekturemulatoren har tilføjet understøttelse af emulering af alle vektorinstruktioner fra "Vector Facility"-gruppen og tilføjet yderligere elementer for at understøtte gen15-systemer (inklusive tilføjet understøttelse af AP Queue Interruption Facility for vfio-ap). Implementeret BIOS-understøttelse til opstart fra ECKD DASD bundet til gæstesystemet via vfio-ccw;
  • I SPARC-arkitekturemulatoren til sun4m-systemer er problemer med at bruge flaget "-vga none" til OpenBIOS blevet løst;
  • Tensilica Xtensa-familieprocessoremulatoren inkluderer muligheder for MPU (hukommelsesbeskyttelsesenhed) og eksklusiv adgang;
  • Muligheden "-salvage" er blevet tilføjet til kommandoen "qemu-img convert" for at deaktivere nedbrud af billedkonverteringsprocessen i tilfælde af I/O-fejl (kan f.eks. bruges til at gendanne delvist beskadigede qcow2-filer). I et hold
    "qemu-img rebase" virker, når der endnu ikke er oprettet en backing-fil til inputfilen;

  • Tilføjet muligheden for at omdirigere output organiseret ved hjælp af "semihosting"-teknologien (tillader den emulerede enhed at bruge stdout, stderr og stdin til at oprette filer på værtssiden) til chardev-backend ("-semihosting-config enable=on,target=native ,chardev=[ID]");
  • Tilføjet understøttelse af seSparse-underformatet i skrivebeskyttet tilstand i VMDK-blokdriveren;
  • Tilføjet understøttelse af SiFive GPIO-controlleren i GPIO-emuleringsdriveren.

Kilde: opennet.ru

Tilføj en kommentar