lëshimi i projektit . Si një emulator, QEMU lejon që të ekzekutohet një program i ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht tjetër, për shembull, të ekzekutohet një aplikacion për ARM në një PC të pajtueshëm me x86. Në modin e virtualizimit, performanca e ekzekutimit të kodit në një mjedis të izoluar është afërsisht e ngjashme me sistemin vendor për shkak të ekzekutimit të drejtpërdrejtë të instruksioneve në CPU dhe përfshirjes së hipervizorit Xen ose modulit KVM.
Fillimisht, projekti u krijua nga Fabrice Bellard me qëllimin e mundësisë për të ekzekutuar skedarë ekzekutivë të ndërtuar për platformën x86 në arkitekturë të ndryshme nga x86. Gjatë viteve të zhvillimit, u shtua mbështetje për emulimin e plotë për 14 arkitektura harduerike, numri i pajisjeve të emuluara kaloi 400. Gjatë përgatitjes së versions 4.1, janë bërë më shumë se 2000 ndryshime nga 276 zhvillues.
Karakteristikat kryesore , të shtuar në QEMU 4.1:
- Në emulatorin e arkitekturës x86 u shtua mbështetje për modelet e CPU Hygon Dhyana dhe Intel SnowRidge. U shtua emulimi i zgjerimit RDRAND (gjeneratori harduerik i numrave pseudo të rastësishëm). U shtuan flamujt
md-clear dhe mds-no pĂ«r menaxhimin e mbrojtjes nga sulmet (Microarchitectural Data Sampling) nĂ« procesorĂ«t Intel. U mundĂ«sua identifikimi i topologjive tĂ« çipĂ«ve me flamurin «-smp âŠ,dies=». U realizua versionimi pĂ«r tĂ« gjitha modelet e CPU x86; - DrejtpĂ«rdrejtori bllokues SSH u kalua nga pĂ«rdorimi nĂ« ;
- Në drejtpërdrejtori virtio-gpu (GPU virtual, e zhvilluar në kuadër të projektit ) u shtua mbështetje për të kaluar operacionet e vizatimit 2D/3D në procesin e jashtëm vhost-user (për shembull, vhost-user-gpu);
- Në emulatorin e arkitekturës ARM u shtua mbështetje për zgjerimin ARMv8.5-RNG për gjenerimin e numrave pseudo të rastësishëm. U realizua mbështetje për emulimin e FPU për çipat e familjes Cortex-M dhe u zgjidhën problemet me emulimin e FPU për Cortex-R5F. U propozua një sistem i ri për konfigurimin e opsioneve të ndërtimit, i dizajnuar në stilin Kconfig. Për SoC Exynos4210 u shtua mbështetje për kontrollorët DMA PL330;
- Në emulatorin e arkitekturës MIPS u përmirësua mbështetja për instrukcionet MSA ASE duke përdorur rendin e ndjekjes së byte-ve big-endian dhe u përputh me trajtimin standard të rasteve të ndarjes me zero. U rrit efektiviteti i emulimit të instrukcioneve MSA për llogaritjet e plota dhe operacionet e rregullimit;
- Në emulatorin e arkitekturës PowerPC u shfaq mbështetje për kalimin në GPU NVIDIA V100/NVLink2 përmes VFIO. Për pseries u realizua përshpejtimi i emulimit të kontrollorit të ndërprerjeve XIVE dhe u shtua mbështetje për lidhjen e nxehtë të urave PCI. U bënë optimizime në emulimin e instrukcioneve vektoriale (Altivec/VSX);
- Modeli i ri i pajisjeve "spike" është shtuar në emulatorin e arkitekturës RISC-V. Mbështetje për ISA 1.11.0 është shtuar. ABI e sistemit të thirrjeve 32-bit është përmirësuar, përpunimi i instruksioneve të papranueshme është zgjeruar dhe debugger-i i integruar është përmirësuar. Mbështetje për topologjinë e CPU-së është shtuar në tree-in e pajisjeve;
- NĂ« emulatorin e arkitekturĂ«s s390, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r emulimin e tĂ« gjitha instruksioneve vektor tĂ« grupit "Vector Facility" dhe janĂ« shtuar elemente shtesĂ« pĂ«r mbĂ«shtetje tĂ« sistemeve gen15 (pĂ«rfshirĂ« mbĂ«shtetje pĂ«r AP Queue Interruption Facility pĂ«r vfio-ap). ĂshtĂ« realizuar mbĂ«shtetje BIOS pĂ«r ngarkimin nga ECKD DASD, e lidhur me sistemin mikpritĂ«s pĂ«rmes vfio-ccw;
- Në emulatorin e arkitekturës SPARC për sistemet sun4m, janë zgjidhur problemet me përdorimin e flagut "-vga none" për OpenBIOS;
- Në emulatorin e procesorëve të familjes Tensilica Xtensa, janë realizuar opsione për MPU (njësia e mbrojtjes së memories) dhe qasje ekskluzive;
- NĂ« komandĂ«n "qemu-img convert" Ă«shtĂ« shtuar opsioni "âsalvage" pĂ«r tĂ« çaktivizuar pĂ«rfundimin e papritur tĂ« procesit tĂ« konvertimit tĂ« imazhit nĂ« rast tĂ« gabimeve tĂ« hyrjes/daljes (pĂ«r shembull, mund tĂ« pĂ«rdoret pĂ«r rikuperimin e skedarĂ«ve tĂ« pjesĂ«risht tĂ« dĂ«mtuar qcow2). NĂ« komandĂ«n
"qemu-img rebase" Ă«shtĂ« siguruar funksionimi kur pĂ«r skedarin hyrĂ«s nuk Ă«shtĂ« krijuar ende skedari bazĂ« (backing); - ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« drejtuar daljen, e cila Ă«shtĂ« organizuar duke pĂ«rdorur teknologjinĂ« "semihosting" (lejon pajisjen e emuluar tĂ« pĂ«rdorĂ« stdout, stderr dhe stdin pĂ«r krijimin e skedarĂ«ve nĂ« anĂ«n e mikpritĂ«sit), nĂ« backend-in chardev ("-semihosting-config enable=on,target=native,chardev=[ID]");
- Në driver-in bllokues VMDK është shtuar mbështetje për subtim si seSparse në modalitetin vetëm për lexim;
- Në driver-in e emulimit GPIO, është shtuar mbështetje për kontrollorin GPIO SiFive.
Burimi: opennet.ru
