Esitletud on projekti QEMU 10.0.0 väljaanne. Emulaatorina võimaldab QEMU käivitada programmi, mis on koostatud ühele riistvaraplatvormile, täiesti erinevas arhitektuuris süsteemis, näiteks käivitada ARM-i rakenduse x86 ühilduval PC-l. Virtuaalsete režiimide korral on QEMU-s koodi täitmise jõudlus isoleeritud keskkonnas lähedane riistvarasüsteemile, tänu otse CPU-lt käideldavatele käskudele ja hüperviisori Xen või Linuxi KVM mooduli või NetBSD NVMM mooduli kasutamisele.
Alguses loodi projekt Fabrice Bellardi poolt, et pakkuda võimalust käivitada x86 platvormile koostatud Linuxi täitmisfailide toimimist arhitektuuridel, mis erinevad x86-st. Aastate jooksul on arendamise käigus lisatud tugi täielikule emulatsioonile 14 riistvaraarhitektuuri jaoks ning emuleeritud riistvaraseadmete arv on ületanud 400. Versioon 10.0 ettevalmistamisel on tehtud üle 2800 muudatuse 211 arendajalt.
QEMU 10.0-sse lisatud peamised täiustused:
- Virtio-scsi draiverisse, mis pakub virtuaalset SCSI kontrollitud (SCSI Host Bus Adapter) jaoks, virtuaalmasinad, on lisatud toetus mitmeastmelistele järjekordadele (multiqueue), võimaldades jagada järjekordi erinevate blokeeringute seadmete jaoks, et tagada mitmeüheline juurdepääs mitme südamikuga süsteemides (erinevad järjekorrad ühe seadme jaoks võivad töötada erinevate sisendi/väljundi lõngadega). Virtuaalne SCSI-kontroller jääb veidi võrreldes virtuaalse blokeeringu draiveriga (virtio-blk) jõudluselt maha, kuid võimaldab kasutada rohkem kui 28 ketast.
- VFIO-s (Virtual Function I/O) on parendatud IGD (Integrated Graphics Device) edastamise tuge integreeritud GPU-de jaoks, mida kasutatakse Intel'i 11 (Rocket Lake) ja 12 (Alder Lake) põlvkonna protsessorites. Vanade GPU-de ATI (x550) tugi on lisatud. Rakendatud on põhitoetust PCI PM (Power Management) jaoks.
- QMP (QEMU Machine Protocol) protokolli dokumentatsioon on oluliselt ümber töötatud ja laiendatud, võimaldades rakendustel QEMU-d hallata.
- Uus Live-migratsiooni režiim 'cpr-transfer' (CheckPoint and Restart) on lisatud, võimaldades rändama külalissüsteemi uue QEMU eksemplari, mis on käivitatud samas hostis. Režiim minimeerib peatamise aega, tagades, et külalissüsteemi mälu peegeldatakse uue QEMU virtuaalsesse aadressiruumi ilma sisu kopeerimiseta.
- Lisatud on graafikaseadmed ‘apple-gfx-pci’ ja ‘apple-gfx-mmio’, mis kasutavad macOS-i poolt pakutavat paravirtuaalset graafikaframworki külalissüsteemides graafika riistvaragi kiiruselase. Esimene draiver on mõeldud kasutamiseks x86-64 seadmetes, teine aga ARM64.
- X86 arhitektuuri emulaatoris on rakendatud Intel Xeon Clearwater Forest ja Sierra Forest v2 protsessorite mudelite tugi. Kiirendatud on käskude emulatsiooni stringiandmetega töötamiseks.
- ARM arhitektuuri emulaatoris on rakendatud npcM8445 Evaluation ja i.MX 8M Plus EVK platvormide tugi. Lisatud on FEAT_AFP, FEAT_RPRES ja FEAT_XS laiendite emulatsioon, samuti füüsilised ja virtuaalsed ajastustajad EL2. CPU Arm PXA2xx tugi on välja kuulutatud vananenuks ja iwMMXt käskude emulatsioon.
- RISC-V arhitektuuri emulaatoris on rakendatud Microblaze V, CPU Ascalon ja CPU RV64 Xiangshan Nanhu platvormide emulatsioon. Komandikomplekti laiendite ‘svukte’, ‘ssstateen’, ‘smrnmi’, ‘smdbltrp’/’ssdbltrp’, ‘supm’, ‘sspm’ ning IOMMU ja seadmete riscv-iommu-sys translatsiooni siltide tugi on lisatud.
- HPPA arhitektuuri emulaatoris on tagatud Diva GSP BMC platvormide emulatsioon. Enne 18. versioonivälja on SeaBIOS-hppa uusim püsivara. Kiirus tõlgendamisel on tõhustatud. Virtuaalse CPU ümbersätete kood on parendatud. 64-bitistes süsteemides on tagatud emulatsioon konfiguratsioonidega, mille mälu suurus on kuni 256 GB.
- LoongArch arhitektuuri emulaatoris on olemas CPU kuumalt lisamise tugi. Rakendatud on paravirtuaalselt IPI (inter-protsessori katkestus). Tagatud on ajastuse jälgimine hüperviisorilt ressursside ootamiseks. KVM. Lisatud on väliste katkestuste (extioi) virtuaalse marsruutimise tugi.
- s390x arhitektuuri emulaatoris on lisatud 17. põlvkonna väljamõeldud CPU ja virtio-mem tugi. Jõudluse tõstmiseks on lisatud võimalus suhelda PCI-seadmetega, mööda minnes IOMMU-st.
Allikas: opennet.ru
