Vrystelling van die QEMU 4.1-emulator

Bekendgestel projek vrystelling QEMU 4.1. As 'n emulator laat QEMU jou toe om 'n program wat saamgestel is vir een hardewareplatform op 'n stelsel met 'n heeltemal ander argitektuur te laat loop, byvoorbeeld om 'n ARM-toepassing op 'n x86-versoenbare rekenaar uit te voer. In virtualisasiemodus in QEMU is die uitvoering van kode-uitvoering in 'n geïsoleerde omgewing naby aan die inheemse stelsel as gevolg van direkte uitvoering van instruksies op die SVE en die gebruik van die Xen-hipervisor of KVM-module.

Die projek is oorspronklik deur Fabrice Bellard geskep om Linux-uitvoerbare programme wat vir die x86-platform gebou is, op nie-x86-argitekture te laat loop. Oor die jare van ontwikkeling is volledige emulasie-ondersteuning bygevoeg vir 14 hardeware-argitekture, die aantal nagebootste hardeware-toestelle het 400 oorskry. Ter voorbereiding vir weergawe 4.1 is meer as 2000 veranderinge van 276 ontwikkelaars aangebring.

Sleutel verbeteringsbygevoeg in QEMU 4.1:

  • Ondersteuning vir Hygon Dhyana en Intel SnowRidge CPU-modelle is by die x86-argitektuur-emulator gevoeg. Bygevoeg emulasie van die RDRAND uitbreiding (hardeware pseudo-ewekansige getal generator). Vlae bygevoeg
    md-clear en mds-no om aanvalbeskerming te beheer MDS (Mikro-argitektoniese datasteekproefneming) op Intel-verwerkers. Het die vermoë bygevoeg om geïntegreerde stroombaantopologieë te bepaal deur die “-smp ...,dies=” vlag te gebruik. Weergawe is geïmplementeer vir alle x86 CPU-modelle;

  • Die SSH-blokbestuurder is geskuif om te gebruik libssh2 op libsh;
  • Die virtio-gpu-bestuurder (virtuele GPU ontwikkel as deel van die projek Virgil) bygevoeg ondersteuning vir die verskuiwing van 2D/3D lewering bedrywighede na 'n eksterne vhost-gebruiker proses (byvoorbeeld, vhost-gebruiker-gpu);
  • Die ARM-argitektuur-emulator het ondersteuning bygevoeg vir die ARMv8.5-RNG-uitbreiding vir die generering van pseudo-ewekansige getalle. Ondersteuning vir FPU-emulasie is geïmplementeer vir Cortex-M-familieskyfies en probleme met FPU-emulasie vir Cortex-R5F is opgelos. 'n Nuwe stelsel vir die opstel van bou-opsies, ontwerp in die Kconfig-styl, is voorgestel. Vir SoC Exynos4210 is ondersteuning vir PL330 DMA-beheerders bygevoeg;
  • Die MIPS-argitektuur-emulator het verbeterde ondersteuning vir MSA ASE-instruksies by die gebruik van groot-endian byte-orde en het die hantering van verdeling deur nul gevalle met verwysingshardeware in lyn gebring. Die prestasie van navolging van MSA-instruksies vir heelgetalberekeninge en permutasiebewerkings is verhoog;
  • Die PowerPC-argitektuur-emulator ondersteun nou aanstuur na NVIDIA V100/NVLink2 GPU's met VFIO. Vir pseries is versnelling van XIVE-onderbrekingbeheerder-emulasie geïmplementeer en ondersteuning vir warmprop van PCI-brûe is bygevoeg. Optimalisasies is gemaak aan die nabootsing van vektorinstruksies (Altivec/VSX);
  • 'n Nuwe hardewaremodel is by die RISC-V-argitektuur-emulator gevoeg - "spike". Bygevoeg ondersteuning vir ISA 1.11.0. Die 32-bis-stelseloproep ABI is verbeter, ongeldige instruksiehantering is verbeter, en die ingeboude ontfouter is verbeter. Bygevoeg ondersteuning vir SVE topologie in toestel boom;
  • Die s390-argitektuur-emulator het ondersteuning bygevoeg vir die nabootsing van alle vektorinstruksies van die "Vector Facility"-groep en bykomende elemente bygevoeg om gen15-stelsels te ondersteun (insluitend bykomende ondersteuning vir die AP Queue Interruption Facility vir vfio-ap). Geïmplementeerde BIOS-ondersteuning vir selflaai vanaf ECKD DASD gebind aan die gasstelsel via vfio-ccw;
  • In die SPARC-argitektuur-emulator vir sun4m-stelsels is probleme met die gebruik van die "-vga none"-vlag vir OpenBIOS opgelos;
  • Die Tensilica Xtensa familie verwerker emulator sluit opsies vir MPU (geheue beskerming eenheid) en eksklusiewe toegang;
  • Die "-salvage"-opsie is by die "qemu-img convert"-opdrag gevoeg om die ineenstorting van die beeldomskakelingsproses te deaktiveer in geval van I/O-foute (kan byvoorbeeld gebruik word om gedeeltelik beskadigde qcow2-lêers te herstel). In 'n span
    "qemu-img rebase" werk wanneer 'n ruglêer nog nie vir die invoerlêer geskep is nie;

  • Bygevoeg die vermoë om uitset wat georganiseer is met behulp van die "semihosting"-tegnologie te herlei (laat die nagebootste toestel toe om stdout, stderr en stdin te gebruik om lêers aan die gasheerkant te skep) by die chardev-agterkant ("-semihosting-config enable=on,target=native ,chardev=[ID]");
  • Die VMDK-blokbestuurder ondersteun nou die seSparse-subformaat in leesalleen-modus;
  • Bygevoeg ondersteuning vir die SiFive GPIO kontroleerder in die GPIO emulasie bestuurder.

Bron: opennet.ru

Voeg 'n opmerking