Izdaja emulatorja QEMU 4.1

Predložil izdaja projekta QEMU 4.1. Kot emulator vam QEMU omogoča zagon programa, prevedenega za eno platformo strojne opreme, v sistemu s popolnoma drugačno arhitekturo, na primer zagon aplikacije ARM na računalniku, združljivem z x86. V virtualizacijskem načinu v QEMU je zmogljivost izvajanja kode v izoliranem okolju blizu izvornega sistema zaradi neposrednega izvajanja navodil na CPE in uporabe hipervizorja Xen ali modula KVM.

Projekt je prvotno ustvaril Fabrice Bellard, da bi izvedljivim datotekam Linuxa, zgrajenim za platformo x86, omogočil izvajanje v arhitekturah, ki niso x86. V letih razvoja je bila dodana popolna podpora za emulacijo za 14 arhitektur strojne opreme, število emuliranih naprav strojne opreme je preseglo 400. V pripravah na različico 4.1 je bilo narejenih več kot 2000 sprememb s strani 276 razvijalcev.

Ključ izboljšavedodano v QEMU 4.1:

  • Podpora za modele procesorjev Hygon Dhyana in Intel SnowRidge je bila dodana emulatorju arhitekture x86. Dodana emulacija razširitve RDRAND (strojni generator psevdonaključnih števil). Dodane zastave
    md-clear in mds-no za nadzor zaščite pred napadi MDS (Microarchitectural Data Sampling) na procesorjih Intel. Dodana možnost določanja topologij integriranih vezij z uporabo zastavice »-smp ...,dies=«. Različice so bile implementirane za vse modele procesorjev x86;

  • Gonilnik bloka SSH je bil premaknjen iz uporabe libssh2 o libsh;
  • Gonilnik virtio-gpu (virtualni grafični procesor, razvit kot del projekta Virgil) dodana podpora za premikanje operacij upodabljanja 2D/3D v zunanji proces vhost-user (na primer vhost-user-gpu);
  • Emulator arhitekture ARM je dodal podporo za razširitev ARMv8.5-RNG za generiranje psevdo-naključnih števil. Podpora za emulacijo FPU je bila implementirana za družinske čipe Cortex-M in težave z emulacijo FPU za Cortex-R5F so bile odpravljene. Predlagan je bil nov sistem za nastavitev možnosti gradnje, zasnovan v slogu Kconfig. Za SoC Exynos4210 je bila dodana podpora za krmilnike PL330 DMA;
  • Emulator arhitekture MIPS je izboljšal podporo za navodila MSA ASE pri uporabi vrstnega reda bajtov z velikim povečevanjem in uskladil obravnavanje primerov deljenja z nič z referenčno strojno opremo. Zmogljivost emulacije navodil MSA za celoštevilske izračune in permutacijske operacije je bila povečana;
  • Emulator arhitekture PowerPC zdaj podpira posredovanje na grafične procesorje NVIDIA V100/NVLink2 z uporabo VFIO. Za serije pse je bila implementirana pospešitev emulacije krmilnika prekinitev XIVE in dodana je bila podpora za vročo priključitev mostov PCI. Optimizirana je bila emulacija vektorskih navodil (Altivec/VSX);
  • Emulatorju arhitekture RISC-V je bil dodan nov model strojne opreme - "spike". Dodana podpora za ISA 1.11.0. 32-bitni sistemski klic ABI je bil izboljšan, obdelava neveljavnih ukazov je bila izboljšana in vgrajeni razhroščevalnik je bil izboljšan. Dodana podpora za topologijo CPU v drevesu naprav;
  • Emulator arhitekture s390 je dodal podporo za emulacijo vseh vektorskih navodil skupine »Vector Facility« in dodal dodatne elemente za podporo sistemov gen15 (vključno z dodano podporo za AP Queue Interruption Facility za vfio-ap). Implementirana podpora BIOS-a za zagon iz ECKD DASD, vezanega na gostujoči sistem prek vfio-ccw;
  • V emulatorju arhitekture SPARC za sisteme sun4m so bile odpravljene težave z uporabo zastavice »-vga none« za OpenBIOS;
  • Emulator družine procesorjev Tensilica Xtensa vključuje možnosti za MPU (memory protection unit) in ekskluzivni dostop;
  • Možnost »-salvage« je bila dodana ukazu »qemu-img convert«, da onemogoči zrušitev procesa pretvorbe slike v primeru V/I napak (lahko se na primer uporabi za obnovitev delno poškodovanih datotek qcow2). V ekipi
    »qemu-img rebase« deluje, ko podporna datoteka še ni bila ustvarjena za vhodno datoteko;

  • Dodana možnost preusmeritve izhoda, organiziranega s tehnologijo "semihosting" (omogoča emulirani napravi uporabo stdout, stderr in stdin za ustvarjanje datotek na strani gostitelja) v zaledje chardev ("-semihosting-config enable=on,target=native" ,chardev=[ ID]");
  • Bločni gonilnik VMDK zdaj podpira podformat seSparse v načinu samo za branje;
  • Dodana podpora za krmilnik SiFive GPIO v emulacijskem gonilniku GPIO.

Vir: opennet.ru

Dodaj komentar