U lançua projektit QEMU 11.0.0. Si emulator, QEMU lejon të ekzekutojë një program të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutojë një aplikacion për ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit, performanca e ekzekutimit të kodit në një ambient të izoluar është e afërt me atë të sistemit harduerik për shkak të ekzekutimit të drejtpërdrejtë të instruksioneve 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 për të mundësuar ekzekutimin e skedave ekzekutivë Linux të ndërtuara 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. Në përgatitjen e versionit 11.0.0 u bënë më shumë se 2500 ndryshime nga 237 zhvillues.
Përmirësimet kryesore të shtuara në QEMU 11.0:
- ĂshtĂ« hequr mbĂ«shtetja pĂ«r sistemet 32-bit tĂ« hostimit, e cila u shpall e vjetruar nĂ« prill tĂ« vitit tĂ« kaluar nĂ« QEMU 10.0. NĂ« lĂ«shimin e dhjetorit 10.2, mbĂ«shtetja pĂ«r platforma mips32 dhe ppc32 u ndĂ«rpre nĂ« gjeneratorin e kodit TCG (Tiny Code Generator), ndĂ«rsa nĂ« lĂ«shimin QEMU 11.0 u hoqĂ«n platformat e mbetura i386, arm, ppc dhe riscv32, si dhe u pastrua baza e kodit dhe sistemi i ndĂ«rtimit nga komponentĂ«t pĂ«r funksionimin nĂ« host 32-bit.
- ĂshtĂ« implementuar akseleratori i virtualizimit "nitro" ("-accel nitro") dhe njĂ« lloj i ri sistemesh tĂ« emuluara "nitro", duke lejuar nisjen nĂ« QEMU tĂ« enklavave tĂ« izoluara mbi bazĂ«n e teknologjisĂ« sĂ« llogaritjeve konfidenciale AWS Nitro Enclave, pĂ«r shembull, pĂ«r testim lokal nĂ« QEMU tĂ« mjediseve Nitro Enclave. NĂ« AWS EC2, teknologjia Nitro Enclave lejon qĂ« tĂ« njihen nĂ« njĂ« makinĂ« virtuale enklavat e izoluara tĂ« vendosura pĂ«r punĂ« me tĂ« dhĂ«na konfidenciale, duke u ndarĂ« atyre njĂ« pjesĂ« tĂ« resurseve tĂ« saj.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r akseleratorĂ«t e virtualizimit MSHV (Microsoft Hypervisor) dhe WHPX (Microsoft Windows Hypervisor Platform Extensions).
- Kur pĂ«rdoret hipervizori KVM ("-accel kvm"), Ă«shtĂ« ofruar mbĂ«shtetje pĂ«r virtualizimin e zgjerimit Intel CET (Control-flow Enforcement Technology) pĂ«r aplikim nĂ« makinat virtuale mbrojtjes nga eksploitĂ«t qĂ« pĂ«rdorin metodat e programimit tĂ« orientuar nĂ« kthim (ROP â Return-Oriented Programming). Po ashtu, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ri-ngarkimin e informacionit tĂ« ndjeshĂ«m, makinave virtuale, qĂ« pĂ«rdorin pĂ«r enkriptimin e memories zgjerimet AMD SEV-SNP (Secure Encrypted Virtualization â Secure Nested Paging) dhe Intel TDX (Trust Domain Extensions).
- Në pajisjen VirtIO-GPU, e cila mbështet punën e GPU virtual, është shtuar mundësia për të vendosur rezolucione të ndryshme ekrani për pajisje të ndryshme të daljes.
- Në VirtIO-GPU është shtuar mbështetje për kontekstet DRM (Direct Rendering Manager native context), që lejojnë rritjen e performancës së punës me GPU virtual nga sistemi mikpritës përmes transferimit të drejtpërdrejtë të komandave në GPU-në reale. Mbështetje për kontekstet DRM aktivizohet duke përdorur pajisjen e re virtio-gpu-gl me opsionin "drm_native_context=on". Ndryshe nga kontekstet Virgl dhe Venus, që funksionojnë në nivelin e API-t OpenGL dhe Vulkan, konteksti DRM realizohet në nivelin UAPI të kernelit Linux.
- Shtuar mundësinë e përdorimit të gjuhës C++ për zhvillimin e plugin-eve për gjeneruesin e kodit TCG (Tiny Code Generator).
- Në drejtuesin bllokues NFS është shtuar mbështetje për ndërtimin me bibliotekën libnfs 6.
- Në kontrolluesin bllok, është shtuar opsioni "force-range" për të detyruar përdorimin e titullit HTTP "Range" gjatë ngarkimit të imazheve pa kontrolluar paraprakisht mbështetje me një kërkesë të veçantë me titullin HEAD.
- NĂ« kontrolluesin bllok FUSE, Ă«shtĂ« çaktivizuar trajtimi i operacioneve tĂ« eksportit nĂ« mĂ«nyrĂ« tĂ« sinkronizuar, çka çonte nĂ« bllokimin e nisjes sĂ« makinĂ«s virtuale derisa pĂ«rfundonin trajtimet e kĂ«rkesave tĂ« tjera FUSE. ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« shumĂ« proceseve tĂ« input/output (iothread) gjatĂ« eksportit nĂ« FUSE.
- Në emulatorin e arkitekturës x86, është shtuar mbështetje për CPU Intel Diamond Rapids ("Xeon 7").
- Në emulatorin e arkitekturës ARM, janë shtuar zgjerimet e procesorit FEAT_ASID2 dhe FEAT_E2H0. Në gjeneratorin e kodit TCG, është realizuar emulimi i zgjerimeve SME (Scalable Matrix Extension).
- Në emulatorin e arkitekturës HPPA, është shtuar mbështetje për emulimin e CPU-ve 64-bit me hapësira adresash 40 dhe 44-bit. Me ndihmën e SeaBIOS-hppa 24, është siguruar inicializimi i kontrollit PCI Astro, duke lejuar përdorimin e kartave grafike PCI në sisteme 64-bit.
- Në emulatorin e arkitekturës LoongArch, është shtuar mundësia për migrimin e PMU (Njësisë së Monitorimit të Performancës) duke përdorur hipervizorin KVM. Në gjeneratorin e kodit TCG është realizuar emulimi i zgjerimeve LA v1.1, sc.q dhe llacq/screl, si dhe i instruksioneve FRECIP dhe DRECIP për llogaritjen e vlerave të zëvendësuara.
- Në emulatorin e arkitekturës PowerPC është shtuar mbështetje për snapshots.
- Në emulatorin e arkitekturës RISC-V është realizuar mbështetje për CPU MIPS P8700 dhe zgjerimet e setit të instrukcioneve Zilsd, Zclsd, ZALASR dhe Smpmpmt.
- Në emulatorin e arkitekturës s390 është shtuar mbështetje për ngarkimin nga pajisjet virtio-blk-pci dhe është realizuar emulimi i instrukcionit 'DIVIDE TO INTEGER'.
- ĂshtĂ« miratuar njĂ« korrigjim qĂ« redukton vonesat nga 50-80 herĂ« gjatĂ« punĂ«s sĂ« fdmon (monitorimi i file descriptor) nĂ« modin 'aio=io_uring' dhe kur sistemi ndodhet nĂ« njĂ« gjendje pushimi (idle).
Burimi: opennet.ru
