Është prezantuar lëshimi i projektit QEMU 7.1. Si emulator, QEMU lejon të ekzekutoni një program të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht tjetër, për shembull, të ekzekutoni një aplikacion për ARM në një PC të përshtatshëm me x86. Në modin e virtualizimit, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër sistemit harduerik falë 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ësimit të ekzekutimit të skedarëve ekzekutivë të ndërtuar për platformën x86 në arkitektura që dallonin nga x86. Gjatë viteve të zhvillimit, është shtuar mbështetje për emulimin e plotë për 14 arkitektura harduerike, ndërsa numri i pajisjeve harduerike të emuluara ka kaluar 400. Gjatë përgatitjes për versionin 7.1, janë realizuar më shumë se 2800 ndryshime nga 238 zhvillues.
Përmirësimet kryesore të shtuar në QEMU 7.1:
- Në platformën Linux është realizuar opsioni zero-copy-send, që lejon organizimin e kalimit të faqeve të memories gjatë migrimit live pa ndërmjetësim.
- Në QMP (QEMU Machine Protocol) është shtuar mundësia e përdorimit të komandës block-export-add për eksportimin e imazheve NBD me informacione mbi faqet në gjendjen "dirty". Gjithashtu, janë shtuar komandat e reja ‘query-stats’ dhe ‘query-stats-schema’ për të nxjerrë statistikat nga subsistemat e ndryshme të QEMU.
- Në agjentin për sistemet mikpritës është përmirësuar mbështetja për platformën Solaris dhe janë shtuar komandat e reja ‘guest-get-diskstats’ dhe ‘guest-get-cpustats’ për tregimin e gjendjes së disqeve dhe CPU-së. Në komandën ‘guest-get-disks’ është shtuar informacione nga NVMe SMART, dhe në komandën ‘guest-get-fsinfo’ janë paraqitur të dhëna mbi llojin e autobuzit NVMe.
- Është shtuar një emulator i ri LoongArch me mbështetje për variantin 64-bit të arkitekturës së komandave LoongArch (LA64). Emulatori mbështet procesorët Loongson 3 5000 dhe verigat veriore Loongson 7A1000.
- Në emulatorin ARM janë realizuar lloje të reja të makinave të emuluara: Aspeed AST1030 SoC, Qualcomm dhe AST2600 / AST1030 (fby35). Është shtuar mbështetje për emulimin e CPU-së Cortex-A76 dhe Neoverse-N1, si dhe për zgjerimet e procesorit SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) dhe komandat për bllokimin e rrjedhjeve nga caches e brendshme gjatë ekzekutimit spekulativ të instruksioneve në CPU. Për makinat ‘virt’ është realizuar emulimi i kontrolluesit të ndërprerjeve GICv4.
- Në emulatorin e arkitekturës x86 për KVM Shto është shtuar mbështetje për virtualizimin e mekanizmit të gjurmimit LBR (Last Branch Record).
- Në emulatorin e arkitekturës HPPA është ofruar një firmware i ri bazuar në SeaBIOS v6, i cili mbështet përdorimin e tastierës PS/2 në menunë e ngarkimit. Është përmirësuar emulimi i portit serial. Janë shtuar fonte të tjera për konsolën STI.
- Në emulatorin e arkitekturës MIPS për bordet Nios2 (-machine 10m50-ghrd) është realizuar emulimi i kontrolluesit të ndërprerjeve të vectorizuara (Vectored Interrupt Controller) dhe grupit të regjistrave të ndryshëm. Është përmirësuar trajtimi i përjashtimeve.
- Në emulatorin e arkitekturës OpenRISC për makinat ‘or1k-sim’ është shtuar mundësia e përdorimit të deri në 4 pajisjeve UART 16550A.
- Në emulatorin e arkitekturës RISC-V është shtuar mbështetje për zgjerime të reja të setit të komandave (ISA), të caktuara në specifikimin 1.12.0, si dhe është shtuar mbështetje për zgjerimin Sdtrig dhe është përmirësuar mbështetja për instruksionet vektoriale. Janë zgjeruar mundësitë për debugim. Në makinën e emulatorit ‘virt’ është shtuar mbështetje për TPM (Trusted Platform Module), ndërsa në makinën ‘OpenTitan’ – mbështetje për Ibex SPI.
- Në emulatorin e arkitekturës 390x është siguruar mbështetje për zgjerime VEF 2 (Vector-Enhancements Facility 2). Në BIOS-in s390-ccw është realizuar mundësia e ngarkimit nga disqe me madhësi sektori të ndryshme nga 512 byte.
- Në emulatorin e arkitekturës Xtensa është shtuar mbështetje për bërthamat lx106 dhe kodet objekt për testimin e caches.
Burimi: opennet.ru
