Predstavljen je izdanak projekta QEMU 10.0.0. Kao emulatore, QEMU omogućuje pokretanje programa sastavljenog za jednu hardversku platformu na sustavu s potpuno drugačijom arhitekturom, na primjer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U načinu virtualizacije, ostvarena izvedba koda u izoliranom okruženju bliska je hardverskom sustavu zahvaljujući izravnom izvršavanju instrukcija na CPU-u i korištenju hipervizora Xen ili modula KVM u Linuxu, ili modula NVMM u NetBSD-u.
Projekat je prvotno stvorio Fabrice Bellard s ciljem omogućavanja pokretanja izvršnih datoteka Linuxa sastavljenih za x86 platformu na arhitekturama različitim od x86. Tijekom godina razvoja podrška je dodana za potpunu emulaciju 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja premašio je 400. Prilikom pripreme verzije 10.0 izvršeno je više od 2800 promjena od 211 developera.
Ključna poboljšanja dodana u QEMU 10.0:
- U virtio-scsi drajver, koji pruža virtualni SCSI kontroler (SCSI Host Bus Adapter) za virtualnih mašina, dodana je podrška za višerazinsku sistemu redova (multiqueue), koja omogućuje dijeljenje redova za različite blok uređaje za osiguranje višedretvenog pristupa na višekrambilnim sustavima (različiti redovi jednog uređaja mogu se obrađivati različitim I/O nitima). U usporedbi s drajverom virtualnog blok uređaja (virtio-blk), virtualni SCSI kontroler malo zaostaje u performansama, ali omogućuje korištenje više od 28 diskova.
- U VFIO (Virtual Function I/O) poboljšana je podrška za propuštanje IGD (Integrated Graphics Device) za integrirane GPU-ove korištene u 11 (Rocket Lake) i 12 (Alder Lake) generacijama Intel procesora. Dodana je podrška za starije GPU-ove ATI (x550). Implementirana je osnovna podrška za PCI PM (Power Management).
- Dokumentacija za QMP protokol (QEMU Machine Protocol) značajno je revidirana i proširena, omogućujući aplikacijama upravljanje QEMU-om.
- Dodana je novi način Live-migracije „cpr-transfer” (CheckPoint and Restart), koji omogućuje premještanje gostujućeg sustava u novu instancu QEMU-a pokrenutog na istom hostu. Način minimalizira vrijeme pauze zahvaljujući tome što se memorija gostujućeg sustava odražava u virtualnom adresnom prostoru novog QEMU-a bez kopiranja sadržaja.
- Dodani su grafički uređaji 'apple-gfx-pci' i 'apple-gfx-mmio', koji koriste framework ParavirtualizedGraphics, dostupan u macOS-u za hardversku akceleraciju grafike u gostujućim sustavima. Prvi drajver je namijenjen korištenju na x86-64 uređajima, dok je drugi za ARM64.
- U emulatoru x86 arhitekture implementirana je podrška za modele procesora Intel Xeon Clearwater Forest i Sierra Forest v2. Ubrzana je emulacija instrukcija za manipulaciju nizovima podataka.
- U emulatoru ARM arhitekture implementirana je podrška za NPCM8445 Evaluation i i.MX 8M Plus EVK ploče. Dodana je emulacija proširenja FEAT_AFP, FEAT_RPRES i FEAT_XS, kao i fizičkih i virtualnih tajmera EL2. Podrška za CPU Arm PXA2xx i emulacija instrukcija iwMMXt su proglašene zastarjelim.
- U emulatoru RISC-V arhitekture implementirana je emulacija Microblaze V, CPU Ascalon i CPU RV64 Xiangshan Nanhu. Dodana su proširenja arhitekture za skup instrukcija 'svukte', 'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm', 'sspm', kao i oznake za prevođenje IOMMU i uređaje riscv-iommu-sys.
- U emulatoru HPPA arhitekture osigurana je emulacija Diva GSP BMC ploča. Do verzije 18 ažurirana je verzija firmvera SeaBIOS-hppa. Povećana je brzina prevođenja. Poboljšan je kod za resetiranje virtualnog CPU-a. Na 64-bitnim sustavima osigurana je emulacija konfiguracija s memorijom do 256 GB.
- U emulatoru LoongArch arhitekture dodana je podrška za vruće povezivanje CPU-a. Implementiran je paravirtualizirani IPI (inter-processor interrupt). Osigurano je praćenje vremena čekanja na resurse od hipervizora. KVM. Dodana je podrška za virtualno usmjeravanje vanjskih prekida (extioi).
- U emulatoru s390x arhitekture dodana je podrška za 17. generaciju CPU mainframea i implementirana je podrška za virtio-mem. Kako bi se poboljšala učinkovitost, dodana je mogućnost interakcije s PCI uređajima zaobilazeći IOMMU.
Izvor: opennet.ru
