Lëshimi i emulatorit QEMU 4.1

prezantuar publikimi i projektit QEMU 4.1. Si emulator, QEMU ju lejon të ekzekutoni një program të përpiluar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër sistemit vendas për shkak të ekzekutimit të drejtpërdrejtë të udhëzimeve në CPU dhe përdorimit të hipervizorit Xen ose modulit KVM.

Projekti u krijua fillimisht nga Fabrice Bellard për të lejuar ekzekutuesit Linux të ndërtuar për platformën x86 të ekzekutohen në arkitektura jo-x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë emulimi për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka kaluar 400. Në përgatitje për versionin 4.1, u bënë më shumë se 2000 ndryshime nga 276 zhvillues.

Celës përmirësimeshtuar në QEMU 4.1:

  • Mbështetja për modelet e CPU-së Hygon Dhyana dhe Intel SnowRidge është shtuar në emulatorin e arkitekturës x86. Emulimi i shtuar i zgjerimit RDRAND (gjenerues i numrave pseudo të rastësishëm të harduerit). Flamujt e shtuar
    md-clear dhe mds-no për të kontrolluar mbrojtjen nga sulmet MDS (Sampling mikroarkitektonik i të dhënave) në procesorët Intel. U shtua aftësia për të përcaktuar topologjitë e qarkut të integruar duke përdorur flamurin “-smp ...,dies=”. Versionimi është zbatuar për të gjitha modelet x86 CPU;

  • Drejtuesi i bllokut SSH është hequr nga përdorimi libssh2 mbi libsh;
  • Drejtuesi virtio-gpu (GPU virtual i zhvilluar si pjesë e projektit Virgil) shtoi mbështetje për lëvizjen e operacioneve të paraqitjes 2D/3D në një proces të jashtëm vhost-user (për shembull, vhost-user-gpu);
  • Emulatori i arkitekturës ARM ka shtuar mbështetje për shtesën ARMv8.5-RNG për gjenerimin e numrave pseudo të rastësishëm. Mbështetja për emulimin FPU është zbatuar për çipat e familjes Cortex-M dhe problemet me emulimin FPU për Cortex-R5F janë zgjidhur. Është propozuar një sistem i ri për vendosjen e opsioneve të ndërtimit, i projektuar në stilin Kconfig. Për SoC Exynos4210, është shtuar mbështetja për kontrollorët PL330 DMA;
  • Emulatori i arkitekturës MIPS ka përmirësuar mbështetjen për udhëzimet MSA ASE kur përdoret renditja e bajteve të mëdha endian dhe ka lidhur trajtimin e ndarjes me rastet zero me harduerin referues. Është rritur performanca e emulimit të udhëzimeve MSA për llogaritjet e numrave të plotë dhe operacionet e ndërrimit;
  • Emulatori i arkitekturës PowerPC tani mbështet përcjelljen te GPU-të NVIDIA V100/NVLink2 duke përdorur VFIO. Për pseries, është zbatuar përshpejtimi i emulimit të kontrolluesit të ndërprerjes XIVE dhe është shtuar mbështetja për mbylljen e nxehtë të urave PCI. Janë bërë optimizime për emulimin e instruksioneve të vektorit (Altivec/VSX);
  • Një model i ri i harduerit është shtuar në emulatorin e arkitekturës RISC-V - "spike". Mbështetje e shtuar për ISA 1.11.0. Thirrja e sistemit 32-bit ABI është përmirësuar, trajtimi i udhëzimeve të pavlefshme është përmirësuar dhe korrigjuesi i integruar është përmirësuar. Mbështetje e shtuar për topologjinë e CPU në pemën e pajisjes;
  • Emulatori i arkitekturës s390 ka shtuar mbështetje për emulimin e të gjitha udhëzimeve vektoriale të grupit "Vector Facility" dhe ka shtuar elementë shtesë për të mbështetur sistemet gen15 (duke përfshirë mbështetjen e shtuar për AP Queue Interruption Facility për vfio-ap). Mbështetje e implementuar BIOS për nisjen nga ECKD DASD e lidhur me sistemin e ftuar nëpërmjet vfio-ccw;
  • Në emulatorin e arkitekturës SPARC për sistemet sun4m, problemet me përdorimin e flamurit "-vga none" për OpenBIOS janë zgjidhur;
  • Emulatori i procesorit të familjes Tensilica Xtensa përfshin opsione për MPU (njësia e mbrojtjes së memories) dhe akses ekskluziv;
  • Opsioni "-salvage" është shtuar në komandën "qemu-img convert" për të çaktivizuar prishjen e procesit të konvertimit të imazhit në rast të gabimeve në I/O (për shembull, mund të përdoret për të rivendosur skedarët qcow2 pjesërisht të dëmtuara). Në një ekip
    “qemu-img rebase” funksionon kur një skedar mbështetës nuk është krijuar ende për skedarin hyrës;

  • U shtua aftësia për të ridrejtuar daljen e organizuar duke përdorur teknologjinë "semihosting" (lejon pajisjen e emuluar të përdorë stdout, stderr dhe stdin për të krijuar skedarë në anën e hostit) në pjesën e pasme të chardev ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • Mbështetje e shtuar për nënformatin seSparse në modalitetin vetëm për lexim në drejtuesin e bllokut VMDK;
  • Mbështetje e shtuar për kontrolluesin SiFive GPIO në drejtuesin e emulimit GPIO.

Burimi: opennet.ru

Shto një koment