Esitleme: QEMU 9.2 projekti väljaanne. Emulatorina võimaldab QEMU käivitada programmi, mis on loodud ühe riistvara platvormi jaoks, täiesti erineva arhitektuuriga süsteemis, näiteks käivitada ARM-i rakenduse x86-ühilduvas PC-s. Virtuaalimise režiimis on QEMU koode täitmise jõudlus isoleeritud keskkonnas lähedane riistvarasüsteemile tänu käskluste otse täitmisele CPU-l ja Xen hüperviisori või Linuxis KVM mooduli või NetBSD-s NVMM mooduli kasutamisele.
Alguses loodi projekt Fabrice Bellardi poolt, et võimaldada Linuxi täitmisfailide käivitamist x86 platvormile mõeldud keskkondades. Aastate jooksul on lisatud täieliku emulatsiooni tugi 14 riistvaraarhitektuuri jaoks, simuleeritud riistvaraseadmete arv ületab 400. QEMU 9.2 versiooni ettevalmistamisel tehti üle 1700 muudatuse 209 arendajalt.
QEMU 9.2 lisatud olulised täiustused:
- Lisatud on katse toestamine seadmemudelite loomiseks, mis on kirjutatud Rusti keeles. QEMU kokkupanekul Rusti toel on vaikimisi kasutusel alternatiivne PL011 UART draiveri teostus, mis on kirjutatud Rustis, kuid ei ole veel laialdaseks kasutamiseks soovitatav.
Praegu on Rusti tugi QEMU-s vaikimisi keelatud ning see aktiveeritakse kokkupanekul, kui käitada konfigureerimise skripti koos valiku „—enable-rust“. Rusti kasutamiseks on vajalikud vähemalt versioonid rustc 1.63.0 ja bindgen 0.60.0 (näiteks Debian 12 puhul tuleb Rusti uuem versioon eraldi installida). Tulevikus kavatsetakse Rusti kompilaator ja bindgeni sidumise genereerija lisada kohustuslike kokkupanekute sõltuvuste hulka.
Rustiga seotud plaanide seas QEMU-s on HPET (High Precision Event Timer) draiveri ja Rustis kirjutatud plokkseadmete draiveri tööseisundi saavutamine, Rusti kasutamise edasiarendamine QEMU erinevates komponentides (näiteks plokkseadmete draiverites, taimerites ja GPIOs), samuti süsteemide, mis on kriitilised turvalisuse seisukohalt, ülekirjutamine Rusti keeles.
- VirtIO-GPU seadmesse, mis pakub virtuaalse GPU toimimist, on lisatud 3D-kiirenduse tugi, kasutades graafilist API-d Vulkan, mis on ellu viidud Mesa Vulkan'i draiveri Venus abil. See võimaldab pakkuda külalisüsteemile virtuaalset GPU-d 3D-renderdamiseks ilma füüsilisele GPU-le eksklusiivsete otsejuurdepääsude avamata. Tööks on vajalik virglrenderer teegi olemasolu host-süsteemi ja Mesa-draiveri Venus olemasolu külalisüsteemi poolel. Vulkan'i toe seadistamiseks on saadaval juhend QEMU-s.
- Külalisüsteemide migratsioonivahendisse on lisatud toetus andmevoogude samaaegsete tihendamisoperatsioonide kiirendamiseks QATzip teegi kaudu, mis kasutab Intel'i protsessoritesse sisse ehitatud QAT (QuickAssist Technology) kiirendajat. See pakub vahendeid, et kiirendada tihendamise ja krüptimisega seotud arvutusi.
- GLib-põhises krüptograafilises tagaplaanis on lisatud SHA-384 räsi algoritmi tugi.
- ARM arhitektuuri emulaatorisse on lisatud FEAT_EBF16 ja FEAT_CMOW protsessorilaiendite tugi, samuti turvalisuse tagamiseks mõeldud laiendid, mida kasutatakse xilinx-zynq-a9 plaatidel. HVF komponendi kasutamisel, mis rakendab Hypervisor.framework tööriistu ARM-i Maci arvutite külgsüsteemide käitamise kiirendamiseks, on toetatud üle 64 GB mälu. Emuleeritud süsteemide sbsa-ref ja virt puhul on lisatud kahekordse aadressitõlke tugi SMMU-s (System Memory Management Unit). Toetuse lõpetamine on jõudnud aegunud emuleeritud riistvara tüüpidele nagu akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex ja z2.
- x86 arhitektuuri emulaatorisse on lisatud uus riistvarakonfiguratsiooni tüüp — nitro-enclave, mis emuleerib AWS Nitro Enclave keskkonda ja suudab laadida süsteemipilte Enclave Image Formaat.
- x86 arhitektuuri emulaatoris hüperviisori jaoks KVM on rakendatud AVX10 juhendite komplekti toe lubamise võimalust ning samuti AVX10 spetsiifiliste versioonide — avx10-128, avx10-256 ja avx10-512.
- RISC-V arhitektuuri emulaatorisse on lisatud toe Svvptc, Bitmanip (Bit-manipulatsioon) ja CFI (kontrollvoo integriteedi) laiendustele, mida kasutatakse OpenTitani plaatidel. Emuleeritavate süsteemide tüüpi „virt“ on lisatud IOMMU tugi. ld ja st käskude jõudlust on parandatud.
- HPPA arhitektuuri emulaatori SeaBIOS-hppa püsivara on uuendatud versioonile 17.
- s390x arhitektuuri emulaatorisse on lisatud võimalus käivitada teistelt seadmetelt, kui määratud seadmest ei õnnestunud käivitada.
Allikas: opennet.ru
