Pristatytas QEMU 10.0.0 projekto leidimas. Kaip emuliatorius, QEMU leidžia paleisti programą, sudarytą vienai aparatinės įrangos platformai, sistemoje su visiškai kitokia architektūra, pavyzdžiui, paleisti ARM programą su x86 suderinamame kompiuteryje. Virtualizavimo režimu QEMU kodo vykdymas izoliuotoje aplinkoje yra artimas aparatinės įrangos sistemai dėl tiesioginio komandų vykdymo CPU ir naudojant Xen hipervizorių arba KVM modulį Linux arba NVMM modulį. NetBSD.
Iš pradžių projektą sukūrė Fabrice'as Bellardas, kad „Linux“ vykdomieji failai, sukurti x86 platformai, galėtų veikti ne x86 architektūrose. Per kūrimo metus pilnas emuliacijos palaikymas buvo pridėtas 14 techninės įrangos architektūrų, emuliuojamų aparatūros įrenginių skaičius viršijo 400. Rengiantis 10.0 versijai, iš 2800 kūrėjų buvo atlikta daugiau nei 211 pakeitimų.
Pagrindiniai QEMU 10.0 patobulinimai:
- „Virtio-scsi“ tvarkyklė suteikia virtualų SCSI valdiklį (SCSI pagrindinės magistralės adapterį), skirtą virtualios mašinosPridėta kelių lygių eilių sistemos (multiqueue) palaikymas, leidžiantis atskirti skirtingų blokų įrenginių eiles, kad būtų palaikoma kelių gijų prieiga kelių branduolių sistemose (skirtingas vieno disko eiles gali apdoroti skirtingi įvesties/išvesties gijos). Palyginti su virtualaus bloko įrenginio tvarkykle (virtio-blk), virtualus SCSI valdiklis yra šiek tiek lėtesnis, tačiau leidžia naudoti daugiau nei 28 diskus.
- VFIO (Virtual Function I/O) patobulino IGD (Integrated Graphics Device) perėjimo palaikymą integruotiems GPU, naudojamiems 11-os (Rocket Lake) ir 12-os (Alder Lake) kartos Intel procesoriuose. Pridėtas senesnių ATI GPU (x550) palaikymas. Įdiegtas pagrindinis PCI PM (Power Management) palaikymas.
- QEMU mašinos protokolo (QMP), leidžiančio programoms valdyti QEMU, dokumentacija buvo gerokai peržiūrėta ir išplėsta.
- Pridėtas naujas tiesioginio perkėlimo režimas „cpr-transfer“ (CheckPoint ir Restart), leidžiantis perkelti svečių sistemą į naują QEMU egzempliorių, veikiantį tame pačiame pagrindiniame kompiuteryje. Režimas sumažina sustabdymo laiką, nes svečio sistemos atmintis susiejama su naujojo QEMU virtualiąja adresų erdve, nekopijuojant turinio.
- Pridėta „apple-gfx-pci“ ir „apple-gfx-mmio“ grafikos įrenginiai, kurie naudoja „MacOS“ pateiktą „ParavirtualizedGraphics“ sistemą, skirtą aparatinės įrangos pagreitintai grafikai svečiuose. Pirmoji tvarkyklė skirta naudoti x86-64 įrenginiuose, o antroji skirta ARM64.
- X86 architektūros emuliatorius dabar palaiko Intel Xeon Clearwater Forest ir Sierra Forest v2 procesorių modelius. Paspartintas eilučių duomenų manipuliavimo instrukcijų emuliavimas.
- ARM architektūros emuliatorius dabar palaiko NPCM8445 Evaluation ir i.MX 8M Plus EVK plokštes. Pridėta FEAT_AFP, FEAT_RPRES ir FEAT_XS plėtinių emuliacija, taip pat EL2 fiziniai ir virtualūs laikmačiai. Nebenaudojamas Arm PXA2xx procesorių ir iwMMXt komandų emuliacijos palaikymas.
- RISC-V architektūros emuliatorius įgyvendina Microblaze V plokščių, Ascalon CPU ir RV64 Xiangshan Nanhu CPU emuliaciją. Pridėtas palaikymas „svukte“, „ssstateen“, „smrnmi“, „smdbltrp“/“ssdbltrp“, „supm“, „sspm“ komandų rinkinio architektūros plėtiniams, taip pat IOMMU vertimo žymoms ir riscv-iommu-sys įrenginiams.
- HPPA architektūros emuliatorius suteikia Diva GSP BMC plokščių emuliaciją. SeaBIOS-hppa programinė įranga buvo atnaujinta iki 18 versijos. Padidintas transliacijos greitis. Patobulintas virtualaus procesoriaus atstatymo kodas. 64 bitų sistemose suteikiama iki 256 GB atminties talpos konfigūracijų emuliacija.
- „LoongArch“ architektūros emuliatorius dabar palaiko procesoriaus karštąjį prijungimą. Įdiegtas paravirtualizuotas IPI (tarpprocesorinis pertraukimas). Įdiegtas hipervizoriaus išteklių paskirstymo skirtojo laiko stebėjimas. KVMPridėta išorinių pertraukimų virtualaus maršrutizavimo (extioi) palaikymas.
- S390x architektūros emuliatorius palaiko 17-osios kartos pagrindinio kompiuterio procesorius ir įgyvendina virtio-mem palaikymą. Siekiant pagerinti našumą, buvo pridėta galimybė sąveikauti su PCI įrenginiais, apeinančiais IOMMU.
Šaltinis: opennet.ru
