Predstavljen je izdelek projekta QEMU 10.0.0. Kot emulator QEMU omogoča zagon programa, zgrajenega za eno strojno platformo, na sistemu z povsem drugačno arhitekturo, na primer, izvajanje aplikacije za ARM na PC-ju, združljivim s x86. V načinu virtualizacije v QEMU je hitrost izvajanja kode v izoliranem okolju blizu strojni zmogljivosti zaradi neposrednega izvajanja ukazov na CPU-ju in uporabe hipervizorja Xen ali modula KVM v Linuxu, ali modula NVMM v NetBSD.
Projekt je prvotno ustvaril Fabrice Bellard z namenom, da bi omogočil zagon izvršnih datotek Linux, zgrajenih za platformo x86, na arhitekturah, ki so drugačne od x86. Med razvojem so dodali podporo za popolno emulacijo za 14 strojnih arhitektur, število emuliranih strojnih naprav pa je preseglo 400. Za različico 10.0 je bilo izvedenih več kot 2800 sprememb s strani 211 razvijalcev.
Ključne izboljšave, dodane v QEMU 10.0:
- V gonilniku virtio-scsi, ki zagotavlja virtualni SCSI kontroler (SCSI Host Bus Adapter) za virtualnih naprav, je bila dodana podpora za večstopenjski sistem čakalnih vrst (multiqueue), ki omogoča razdelitev čakalnih vrst za različne blokovne naprave za zagotavljanje večprocesorskega dostopa na večjedrnih sistemih (različne čakalne vrste za enega diska lahko obdelujejo različni I/O tokovi). V primerjavi z gonilnikom virtualne blok naprave (virtio-blk) virtualni SCSI kontroler nekoliko zaostaja po zmogljivosti, vendar omogoča uporabo več kot 28 diskov.
- V VFIO (Virtual Function I/O) je bila izboljšana podpora za preusmeritev IGD (Integrated Graphics Device) za integrirane GPU-je, uporabljene v 11 (Rocket Lake) in 12 (Alder Lake) generacijah procesorjev Intel. Dodana je bila podpora za stare GPU-je ATI (x550). Uvedena je osnovna podpora za PCI PM (Power Management).
- Dokumentacija za protokol QMP (QEMU Machine Protocol) je bila bistveno predelana in razširjena, kar omogoča aplikacijam upravljanje z QEMU.
- Dodana je nova funkcija Live-migracije 'cpr-transfer' (CheckPoint and Restart), ki omogoča prenos gostiteljskega sistema v novo instanco QEMU, zagnano na istem gostitelju. Ta način minimizira čas ustavitve, saj se spomin gostitelja odraža v virtualnem naslovnem prostoru novega QEMU brez kopiranja vsebine.
- Dodana grafična naprava 'apple-gfx-pci' in 'apple-gfx-mmio', ki uporabljata okvir ParavirtualizedGraphics, ki ga macOS zagotavlja za strojno pospeševanje grafike v gostujočih sistemih. Prvi gonilnik je namenjen uporabi na napravah x86-64, drugi pa na ARM64.
- V emulatorju arhitekture x86 je bila uvedena podpora za modele procesorjev Intel Xeon Clearwater Forest in Sierra Forest v2. Pospešena je emulacija ukazov za manipulacijo s podatkovnimi nizi.
- V emulatorju arhitekture ARM je bila uvedena podpora za plošče NPCM8445 Evaluation in i.MX 8M Plus EVK. Dodana je emulacija razširitev FEAT_AFP, FEAT_RPRES in FEAT_XS, pa tudi fizičnih in virtualnih časovnikov EL2. Podpora za CPU Arm PXA2xx in emulacija ukazov iwMMXt je razglašena za zastarelo.
- V emulatorju arhitekture RISC-V je bila uvedena emulacija plošč Microblaze V, CPU Ascalon in CPU RV64 Xiangshan Nanhu. Dodana je podpora za razširitve arhitekture ukaznega seta 'svukte', 'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm', 'sspm', prav tako pa za označevalce translacije IOMMU in naprave riscv-iommu-sys.
- V emulatorju arhitekture HPPA je bila uvedena emulacija plošč Diva GSP BMC. Do različice 18 je bila posodobljena programska oprema SeaBIOS-hppa. Povečana je hitrost translacije. Izboljšana je koda za ponastavitev virtualnega CPU. Na 64-bitnih sistemih je omogočena emulacija konfiguracij z velikostjo pomnilnika do 256 GB.
- V emulatorju arhitekture LoongArch je bila uvedena podpora za vroče dodajanje CPU. Uveden je bil paravirtualizirani IPI (inter-processor interrupt). Omogočeno je sledenje času čakanja na dodelitev virov s strani hipervizorja. KVM. Dodana je podpora za virtualno usmerjanje zunanjih prekinitev (extioi).
- V emulatorju arhitekture s390x je bila dodana podpora za 17. generacijo CPU-jev mainframe in uvedena podpora za virtio-mem. Za povečanje zmogljivosti je bila dodana možnost interakcije s PCI-napravami obvladovanja IOMMU.
Izvor: opennet.ru
