ĂshtĂ« lanÒ«uar versioni i projektit QEMU 6.0. Si emulator, QEMU lejon tĂ« ekzekutohet njĂ« program i ndĂ«rtuar pĂ«r njĂ« platformĂ« harduerike nĂ« njĂ« sistem me njĂ« arkitekturĂ« krejtĂ«sisht tĂ« ndryshme, pĂ«r shembull, tĂ« ekzekutohet njĂ« aplikacion pĂ«r 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Ă« e afĂ«rt me sistemin harduerik pĂ«r shkak tĂ« ekzekutimit tĂ« drejtpĂ«rdrejtĂ« tĂ« instruksioneve nĂ« CPU dhe angazhimit tĂ« 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ë arkitektura që nuk janë x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka tejkaluar 400. Në përgatitje për versionin 6.0, janë bërë më shumë se 3300 ndryshime nga 268 zhvillues.
Përmirësimet kryesore të shtuar në QEMU 6.0:
- Emulatori i kontrolleve NVMe është përputhur me specifikimin NVMe 1.4 dhe është furnizuar me mbështetje eksperimentale për hapësirat e zonuara të emrave, I/O të multipath dhe enkriptimin e të dhënave në disqe.
- Janë shtuar mundësi eksperimentale «-machine x-remote» dhe «-device x-pci-proxy-dev» për transferimin e emulimit të pajisjeve në procese të jashtme. Në këtë modalitet për momentin mbështetet vetëm emulimi i adaptorit SCSI lsi53c895.
- ĂshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r krijimin e snapshot-eve tĂ« pĂ«rmbajtjes sĂ« RAM-it.
- ĂshtĂ« shtuar njĂ« modul FUSE pĂ«r eksportimin e pajisjeve bllok, duke lejuar montimin e njĂ« prerjeje tĂ« gjendjes sĂ« çdo pajisjeje bllok qĂ« pĂ«rdoret nĂ« sistemin mikpritĂ«s. Eksportimi kryhet pĂ«rmes komandĂ«s QMP block-export-add ose pĂ«rmes opsionit «âexport» nĂ« utilitarin qemu-storage-daemon.
- NĂ« emulatorin ARM Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r arkitekturĂ«n ARMv8.1-M âHeliumâ dhe procesorĂ«t Cortex-M55, si dhe pĂ«r instruksionet e avancuara ARMv8.4 TTST, SEL2 dhe DIT. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r platformat ARM mps3-an524 dhe mps3-an547. PĂ«r platformat xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx dhe sabrelite, Ă«shtĂ« realizuar njĂ« emulim shtesĂ« i pajisjeve.
- Për ARM, në modalitetet e emulimit në nivel sistemi dhe mjedisi përdoruesi është zbatuar mbështetje për zgjerimin ARMv8.5 MTE (MemTag, Memory Tagging Extension), e cila lejon lidhjen e etiketimeve me çdo operacion alokimi të memories dhe organizimin e një kontrolli të treguesit gjatë qasjes në memorie, i cili duhet të lidhet me etiketën e saktë. Zgjerimi mund të përdoret për të bllokuar eksploatimin e dobësive të shkaktuara nga qasja në blloqe memorie që tashmë janë çliruar, mbushjet e buffers, akseset para inicializimit dhe përdorimi jashtë kontekstit aktual.
- Në emulatorin e arkitekturës 68k është shtuar mbështetje për një tipi të ri të makinerive të emuluara «virt», të cilat përdorin pajisje virtio për optimizimin e performancës.
- Në emulatorin e arkitekturës x86 është shtuar mundësia e përdorimit të teknologjisë AMD SEV-ES (Secure Encrypted Virtualization) për enkriptimin e regjistrave të procesorit të përdorur në sistemin mikpritës, duke e bërë përmbajtjen e regjistrave të pakapshme për mjedisin e mikpritjes, nëse sistemi mikpritës nuk e ofron qasjen në to.
- Në gjeneratorin klasik të kodit TCG (Tiny Code Generator), gjatë emulimit të sistemeve x86, është zbatuar mbështetje për mekanizmin PKS (Protection Keys Supervisor), i cili mund të përdoret për të mbrojtur aksesin në faqet e memories me privilegje.
- Në emulatorin e arkitekturës MIPS është shtuar një tipi i ri i makinerive të emuluara «virt» me mbështetje për procesorët kineze Loongson-3.
- Në emulatorin e arkitekturës PowerPC për makinat e emuluara «powernv» është shtuar mbështetje për kontrollorët e jashtëm BMC. Për makinat e emuluara pseries është siguruar informimi për dështimet gjatë përpjekjeve për të nxjerrë nxehtazi memorien dhe CPU-në.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r emulimin e procesorĂ«ve Qualcomm Hexagon me DSP.
- Në gjeneratorin klasik të kodit TCG (Tiny Code Generator) është zbatuar mbështetje për mjediset mikpritëse macOS në sistemet me çipin e ri ARM të Apple M1.
- Në emulatorin e arkitekturës RISC-V për platformat Microchip PolarFire është shtuar mbështetje për QSPI NOR flash.
- Në emulatorin Tricore është shtuar mbështetje për një model të ri të platformat TriBoard, i cili emulon SoC Infineon TC27x.
- Në emulatorin ACPI është dhënë mundësia e caktimit të emrave për adaptuesit rrjetë në sistemet mikpritëse, të cilat nuk varen nga rendi i lidhjes në autobusin PCI.
- Në virtiofs është shtuar mbështetje për opsionin FUSE_KILLPRIV_V2 për të përmirësuar performancën e sistemeve mikpritëse.
- Në VNC është shtuar mbështetje për transparencën e kursorit dhe mbështetje për shkallëzimin e rezolucionit të ekranit në virtio-vga, të cilat varen nga madhësia e dritares.
- Në QMP (QEMU Machine Protocol) është shtuar mbështetje për qasje asinkrone dhe paralele gjatë ekzekutimit të detyrave të kopjimit.
- Në emulatorin e USB është shtuar mundësia e ruajtjes së trafikut që ndodh gjatë punës me pajisjet USB në një skedar të veçantë pcap për inspektim të mëvonshëm në Wireshark.
- Janë shtuar komandat e reja QMP load-snapshot, save-snapshot dhe delete-snapshot për menaxhimin e snaphot-eve qcow2.
- ĂĂ«shtjet e sigurisĂ« CVE-2020-35517 dhe CVE-2021-20263 janĂ« zgjidhur nĂ« virtiofs. Problemi i parĂ« lejon qasje nĂ« ambientin e hostit nga sistemi mysafir pĂ«rmes krijimit tĂ« njĂ« skedari veprimi tĂ« veçantĂ« nĂ« njĂ« direktorium tĂ« pĂ«rbashkĂ«t me ambientin e hostit nga njĂ« pĂ«rdorues me privilegje nĂ« sistemin mysafir. Problemi i dytĂ« shkaktohet nga njĂ« gabim nĂ« pĂ«rpunimin e atributeve tĂ« zgjeruara nĂ« opsionin 'xattrmap' dhe mund tĂ« çojĂ« nĂ« injorimin e ristartit tĂ« tĂ« drejtave tĂ« shkruara dhe rritjes sĂ« privilegjeve brenda sistemit mysafir.
Burimi: opennet.ru
