Представлен релиз проекта QEMU 6.1. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 6.1 внесено более 3000 изменений от 221 разработчика.
Ключевые улучшения, добавленные в QEMU 6.1:
- В QMP (QEMU Machine Protocol) добавлена команда “blockdev-reopen” для изменения настроек уже созданного блочного устройства.
- В качестве приоритетного криптодрайвера задействован gnutls, который опережает другие драйверы по производительности. Ранее предлагавшийся по умолчанию драйвер на основе libgcrypt перемещён в разряд опций, а драйвер на базе nettle оставлен как запасной вариант, применяемый при отсутствии GnuTLS и Libgcrypt.
- В эмулятор I2C добавлена поддержка PMBus и I2C-мультиплексоров (pca9546, pca9548).
- По умолчанию включена поддержка плагинов к классическому генератору кода TCG (Tiny Code Generator). Добавлены новые плагины execlog (журнал исполнения) и cache modelling (симуляция поведения кэша L1 в CPU).
- В эмулятор ARM добавлена поддержка плат на базе чипов Aspeed (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) и Cortex-M3 (stm32vldiscovery). Добавлена поддержка аппаратных движков шифрования и хэширования, предоставляемых в чипах Aspeed. Добавлена поддержка эмуляции инструкций SVE2 (включая bfloat16), операторов для умножения матриц и команд сброса буферов ассоциативной трансляции (TLB).
- В эмуляторе архитектуры PowerPC для эмулируемых машин “pseries” добавлена поддержка определения сбоев при горячем подключении устройств в новых гостевых окружениях, повышен лимит на число CPU и реализована эмуляция некоторых инструкций, специфичных для процессоров POWER10. Добавлена поддержка плат на базе чипов Genesi/bPlan Pegasos II (pegasos2).
- В эмуляторе RISC-V реализована поддержка платформы OpenTitan и виртуального GPU virtio-vga (на базе virgl).
- В эмуляторе s390 добавлена поддержка 16 поколения CPU и векторных расширений.
- В эмуляторе x86 добавлена поддержка новых моделей CPU Intel (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton-v3, Snowridge-v3, Dhyana-v2), в которых реализована инструкция XSAVES. В эмуляторе чипсета Q35 (ICH9)
реализована поддержка горячего подключения PCI-устройств. Улучшена эмуляция расширений виртуализации, предоставляемых в процессорах AMD.
Добавлена опция bus-lock-ratelimit ограничения интенсивности блокировки шины гостевой системой. - Добавлена поддержка работы в качестве ускорителя для гипервизора NVMM, развиваемого проектом NetBSD.
- В GUI поддержка аутентификации по паролю при использовании протокола VNC теперь включается только при сборке с внешним криптографическим бэкендом (gnutls, libgcrypt или nettle).