Doli i projektit QEMU 9.2 është prezantuar. Si emulues, QEMU lejon ekzekutimin e një programi të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht tjetër, për shembull, ekzekutimin e një aplikacioni për ARM në një PC të pajtueshëm me x86. Në modin e virtualizimit, performanca e ekzekutimit të kodit në një ambient të izoluar është e ngjashme me atë të një sistemi harduerik për shkak të ekzekutimit direkt të instrukcioneve në CPU dhe angazhimit të hipervizorit Xen ose modulit KVM në Linux, ose modulit NVMM në NetBSD.
Fillimisht, projekti u krijua nga Fabrice Bellard me qëllimin e ofrimit të mundësisë për të ekzekutuar skedarë ekzekutivë Linux të ndërtuar për platformën x86 në arkitektura 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 harduerike të emuluara kaloi 400. Gjatë përgatitjes së versionit 9.2 janë bërë më shumë se 1700 ndryshime nga 209 zhvillues.
Përmirësimet kryesore të shtuara në QEMU 9.2:
- I është shtuar mbështetje eksperimentale për krijimin e modeleve të pajisjeve të shkruara në gjuhën Rust. Kur ndërtimi i QEMU me mbështetje për Rust bëhet, aktivizohet një implementim alternativ i drejtuesit PL011 UART, i shkruar në Rust, por për momentin nuk rekomandohet për përdorim të gjerë.
Aktualisht, mbështetja për Rust në QEMU është e çaktivizuar për default dhe aktivizohet gjatë ndërtimit duke specifikuar opsionin "--enable-rust" kur ekzekutoni skriptin configure. Për ndërtimin me Rust kërkohen të paktën versionet rustc 1.63.0 dhe bindgen 0.60.0 (për shembull, në Debian 12 do të duhet të instaloni një version më të ri të Rust veçmas). Në të ardhmen, kompajleri Rust dhe gjeneruesi i lidhjeve bindgen pritet të shtohen në listën e varësive të detyrueshme për ndërtim.
Nga planet për promovimin e Rust në QEMU, mund të përmendim çuarjen në një gjendje funksionale të drejtuesit HPET (High Precision Event Timer) dhe drejtuesit për pajisje bllok, të shkruar në Rust, vazhdimin e zhvillimit të lidhjeve për përdorimin e Rust në komponentët e ndryshëm të QEMU (për shembull, në drejtuesit e pajisjeve bllok, timerat dhe GPIO), dhe riparimin në Rust të sistemeve kritike për sigurinë, si virtio.
- Në pajisjen VirtIO-GPU, e cila mundëson punën e GPU-ve virtuale, është shtuar mbështetje për akselerimin 3D duke përdorur API-në grafike Vulkan, e cila është implementuar përmes drejtorit Vulkan Venus që bën pjesë në Mesa, duke mundësuar që sistemi mik të ofrojë një GPU virtual për renderimin 3D pa hapur akses ekskluziv direkt në GPU-në fizike. Kërkohet që në sistemin mik të jetë e instaluar biblioteka virglrenderer dhe drejtorin Mesa Venus në sistemin mysafir. U ofrua një udhëzues për konfigurimin e mbështetjes Vulkan në QEMU.
- Në mjetin e migrimit për mysafirët është shtuar mbështetje për përshpejtimin e operacioneve të kompresimit të rrjedhave të dhënash që transmetohen njëkohësisht, duke përdorur bibliotekën QATzip, e cila përfiton nga akceleratori i integruar në procesorët Intel, QAT (QuickAssist Technology), që ofron mjete për përshpejtimin e llogaritjeve lidhur me kompresimin dhe enkriptimin.
- Në backend-in kriptografik të bazuar në GLib është shtuar mbështetje për algoritmin e shpërndarjes SHA-384.
- Në emulatorin e arkitekturës ARM është shtuar mbështetje për zgjerimet e procesorëve FEAT_EBF16 dhe FEAT_CMOW, si dhe për zgjerimet e sigurisë që përdoren në tabelat xilinx-zynq-a9. Duke përdorur komponentin HVF, i cili aktivizon mjetin Hypervisor.framework për të përshpejtuar ekzekutimin e sistemeve mysafir në kompjuterët ARM të Mac, është siguruar mbështetje për më shumë se 64 GB memorie. Për sistemet e emulatorit sbsa-ref dhe virt është shtuar mbështetje për dyfazën e përkthimit të adresave në SMMU (System Memory Management Unit). Ka përfunduar mbështetja për llojet e vjetra të pajisjeve të emuluara akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex dhe z2.
- NĂ« emulatorin e arkitekturĂ«s x86 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r njĂ« lloj tĂ« ri konfigurimi harduerik â nitro-enclave, qĂ« emulon mjedisin AWS Nitro Enclave dhe Ă«shtĂ« nĂ« gjendje tĂ« ngarkojĂ« imazhe sistemesh nĂ« formatin Enclave Image Format.
- NĂ« emulatorin e arkitekturĂ«s x86 pĂ«r hipervizorin KVM Ă«shtĂ« realizuar mundĂ«sia pĂ«r aktivizimin e mbĂ«shtetjes pĂ«r seritĂ« e instruksioneve AVX10, si dhe versionet specifike tĂ« AVX10 â avx10-128, avx10-256 dhe avx10-512.
- Në emulatorin e arkitekturës RISC-V është shtuar mbështetje për zgjerimet e setit të komandave Svvptc, Bitmanip (Manipulimi i Bitëve) dhe CFI (Integriteti i Flows të Kontrollit), që përdoren në tabelat OpenTitan. Në llojin e sistemeve të emuluara "virt" është shtuar mbështetje për IOMMU. Performanca e instruksioneve ld dhe st është rritur.
- Në emulatorin e arkitekturës HPPA, firmware SeaBIOS-hppa është përditësuar në versionin 17.
- Në emulatorin e arkitekturës s390x është shtuar mundësia e ngarkesës nga pajisje të tjera nëse nuk është arritur të ngarkohet nga pajisja e dhënë.
Burimi: opennet.ru
