Презентирано е објавувањето на проектот QEMU 10.0.0. Како емулатор, QEMU ви овозможува да извршите програма составена за една хардверска платформа на систем со сосема поинаква архитектура, на пример, да извршите апликација ARM на компјутер компатибилен со x86. Во режимот на виртуелизација во QEMU, извршувањето на кодот во изолирана средина е блиску до хардверскиот систем поради директното извршување на инструкциите на процесорот и употребата на хипервизорот Xen или модулот KVM во Linux, или модулот NVMM во NetBSD.
Проектот првично беше создаден од Фабрис Белард за да обезбеди можност за извршување на извршни датотеки на Linux компајлирани за платформата x86 на архитектури кои не се x86. Со текот на годините на развој, поддршката за целосна емулација беше додадена за 14 хардверски архитектури, бројот на емулирани хардверски уреди надмина 400. При подготовката на верзијата 10.0, беа направени повеќе од 2800 промени од 211 програмери.
Клучни подобрувања додадени на QEMU 10.0:
- Драјверот virtio-scsi обезбедува виртуелен SCSI контролер (SCSI Host Bus Adapter) за виртуелни машиниДодадена е поддршка за систем за редење на повеќе нивоа (multiqueue), што овозможува одвојување на редовите за различни блок уреди за поддршка на пристап со повеќе нишки на повеќејадрени системи (различни редови за еден диск можат да бидат обработени од различни I/O нишки). Во споредба со драјверот за виртуелен блок уред (virtio-blk), виртуелниот SCSI контролер е малку побавен во перформансите, но дозволува користење на повеќе од 28 дискови.
- VFIO (Virtual Function I/O) ја подобри IGD (Интегриран графички уред) поддршка за интегрирани графички процесори кои се користат во процесорите на Intel од 11-та (Rocket Lake) и 12-та (Alder Lake). Додадена е поддршка за постари ATI графички процесори (x550). Имплементирана е основна поддршка за PCI PM (Power Management).
- Документацијата за QEMU Machine Protocol (QMP), кој им овозможува на апликациите да го контролираат QEMU, е значително ревидирана и проширена.
- Додаден е нов режим на миграција во живо „cpr-transfer“ (CheckPoint и рестартирање), овозможувајќи преместување на системот за гостин во нов примерок QEMU кој работи на истиот домаќин. Режимот го минимизира времето на суспензија со мапирање на меморијата на гостинскиот систем во виртуелниот адресен простор на новиот QEMU без копирање на содржината.
- Додадени се графички уреди „apple-gfx-pci“ и „apple-gfx-mmio“ што ја користат рамката Paravirtualized Graphics обезбедена во macOS за хардверски забрзана графика кај гостите. Првиот драјвер е наменет за употреба на уредите x86-64, а вториот е наменет за ARM64.
- Емулаторот за архитектура x86 сега поддржува модели на процесори Intel Xeon Clearwater Forest и Sierra Forest v2. Емулацијата на инструкциите за манипулација со стринг податоци е забрзана.
- Емулаторот за архитектура ARM сега поддржува NPCM8445 Evaluation и i.MX 8M Plus EVK табли. Додадена е емулација на екстензии FEAT_AFP, FEAT_RPRES и FEAT_XS, како и физички и виртуелни тајмери EL2. Застарена поддршка за Arm PXA2xx CPU и емулација на инструкции iwMMXt.
- Емулаторот за архитектура RISC-V имплементира емулација на табли Microblaze V, процесорот Ascalon и процесорот RV64 Xiangshan Nanhu. Додадена е поддршка за наставките на архитектурата на сетот на команди „svukte“, „ssstateen“, „smrnmi“, „smdbltrp“/„ssdbltrp“, „supm“, „sspm“, како и ознаките за превод на IOMMU и уредите riscv-iommu-sys.
- Емулаторот за архитектура HPPA обезбедува емулација на Diva GSP BMC табли. Фирмверот SeaBIOS-hppa е ажуриран на верзијата 18. Зголемена брзина на емитување. Подобрен код за ресетирање на виртуелен процесор. На 64-битни системи, обезбедена е емулација на конфигурации со големина на меморија до 256 GB.
- Емулаторот на архитектурата LoongArch сега поддржува hotpluging на процесорот. Имплементиран е паравиртуализиран IPI (inter-processor interrupt). Имплементирано е следење на истекот на времето за распределба на ресурсите на хипервизорот. KVMДодадена е поддршка за виртуелно рутирање на надворешни прекини (extioi).
- Емулаторот за архитектура s390x додава поддршка за 17-та генерација на мејнфрејм процесори и имплементира поддршка за виртио-мем. За да се подобрат перформансите, додадена е способноста за интеракција со PCI уреди кои го заобиколуваат IOMMU.
Извор: opennet.ru
