Проектът QEMU 10.0.0 е пуснат. Като емулатор, QEMU ви позволява да стартирате програма, създадена за една хардуерна платформа, на система с напълно различна архитектура, например, стартиране на ARM приложение на x86-съвместим компютър. В режим на виртуализация на QEMU, производителността на изпълнение на код в изолирана среда е близка до тази на хардуерна система поради директното изпълнение на инструкции на процесора и използването на Xen хипервизора или KVM модула в... Linuxили NVMM модула в NetBSD.
Проектът първоначално е създаден от Фабрис Белард, за да осигури възможност за изпълнение на изпълними файлове, компилирани за платформата x86. Linux на архитектури, различни от 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 (Integrated Graphics Device) за интегрирани GPU, използвани в 11-то (Rocket Lake) и 12-то (Alder Lake) поколение процесори Intel. Добавена е поддръжка за по-стари графични процесори ATI (x550). Внедрена е основна поддръжка за PCI PM (Power Management).
- Документацията за QEMU Machine Protocol (QMP), която позволява на приложенията да контролират QEMU, е значително преработена и разширена.
- Добавен е нов режим на миграция на живо „cpr-transfer“ (CheckPoint и Restart), позволяващ преместване на система за гости към нов екземпляр на QEMU, работещ на същия хост. Режимът минимизира времето за спиране, като картографира паметта на системата за гости във виртуалното адресно пространство на новия QEMU, без да копира съдържанието.
- Добавени са графични устройства „apple-gfx-pci“ и „apple-gfx-mmio“, които използват рамката ParavirtualizedGraphics, предоставена в 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 и емулация на инструкции 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 вече поддържа горещо включване на процесора. Внедрено е паравиртуализирано IPI (междупроцесорно прекъсване). Реализирано е проследяване на времето за изчакване при разпределение на ресурси на хипервизора. KVMДобавена е поддръжка за виртуално маршрутизиране на външни прекъсвания (extioi).
- Емулаторът на архитектурата s390x добавя поддръжка за 17-то поколение мейнфрейм процесори и внедрява поддръжка на virtio-mem. За подобряване на производителността е добавена възможност за взаимодействие с PCI устройства, заобикаляйки IOMMU.
Източник: opennet.ru
