Пуснат е релиз на проекта QEMU 10.2.0. Като емулатор, QEMU позволява стартирането на програми, компилирани за една хардуерна платформа на система с напълно различна архитектура, например, изпълнение на приложение за ARM на x86-съвместим компютър. В режим на виртуализация в QEMU, производителността на изпълнението на кода в изолирана среда е близка до хардуерната система благодарение на директното изпълнение на инструкциите на CPU и използването на хипервизора Xen или модула KVM в Linux, или модула NVMM в NetBSD.
Първоначално проектът е създаден от Фабрис Беллар (Fabrice Bellard) с цел осигуряване на възможност за стартиране на изпълними файлове Linux, компилирани за платформа x86, на архитектури, различни от x86. През годините на разработка е добавена поддръжка за пълна емулация на 14 хардуерни архитектури, а броят на емулираните хардуерни устройства е надхвърлил 400. При подготовката на версия 10.2.0 са направени повече от 2200 изменения от 188 разработчици.
Ключови подобрения, добавени в QEMU 10.2:
- В бекенда 9pfs, който позволява използването на мрежова файлова система Plan 9 за достъп на една виртуална машина до друга, е добавена поддръжка за FreeBSD.
- Добавен е нов режим на Live-миграция ‘cpr-exec’, който позволява намаляване на потреблението на ресурси по време на обновление. виртуални машини и потенциално повторно използване на съществуващите състояния и връзки при обновление.
- Основният цикъл на обработка на събития в QEMU е преместен на използването на интерфейса за асинхронно входно/изходно програмиране io_uring на системи с неговата поддръжка, което води до повишаване на производителността.
- Подобрена е емулацията в режим user-mode, позволяваща стартирането на отделни процеси, компилирани за друг CPU. Реализиран е системен повик fchmodat2, добавена е поддръжка на флаговете MADV_DONTDUMP и MADV_DODUMP, подобрена е поддръжката на архитектури aarch64, hppa и microblaze.
- В емулатора на архитектура ARM е добавена поддръжка на модела на платка amd-versal2-virt с реализиране на виртуално SoC AMD Versal. Подобрена е поддръжката на платки ‘AST2600’, ‘AST2700’, ‘AST1030’ и ‘xlnx-zynqmp’. Реализирана е емулация на разширения на CPU FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC и FEAT_GCS.
- В емулатора на архитектура HPPA е добавена възможност за емулация на работна станция HP 715/64, SCSI контролер NCR 53c710 и контролер за вход/изход HP LASI.
- В емулатора на архитектурата PowerPC е добавена поддръжка за CPU PowerNV11 и PPE42. За оборудването pSeries е реализиран механизъм FADUMP (Firmware-Assisted Dump) за създаване на дампове на състоянието след срив на системата.
- В емулатора на архитектурата RISC-V е реализирано API MonitorDef HMP, а OpenSBI (Open Supervisor Binary Interface) е обновен до версия 1.7 с много корекции.
- В емулатора на архитектурата s390x за подобряване на производителността virtio-pci е прилагана технология за подмяна на виртуални прекъсвания с помощта на irqfd.
Източник: opennet.ru
