Выпуск эмулятора QEMU 8.0

Представлен релиз проекта QEMU 8.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 8.0 внесено более 2800 изменений от 238 разработчиков.

Ключевые улучшения, добавленные в QEMU 8.0:

  • В эмуляторе архитектуры x86 добавлена поддержка запуска гостевых систем Xen в окружении на базе гипервизора KVM и ядер Linux 5.12+.
  • В классическом генераторе кода TCG для архитектуры x86 добавлена поддержка CPUID-флагов FSRM, FZRM, FSRS и FSRC. Реализована поддержка новой модели CPU Intel Sapphire Rapids (Intel 7).
  • В эмуляторе ARM реализована поддержка CPU Cortex-A55 и Cortex-R52,
    добавлен новый тип эмулируемых машин Olimex STM32 H405, добавлена поддержка процессорных расширений FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) и AArch32 ARMv8-R. В gdbstub добавлена поддержка системных регистров для архитектуры M-профиля (профиль микроконтроллеров).
  • В эмуляторе архитектуры RISC-V обновлена реализация эмулируемых машин OpenTitan, PolarFire и OpenSBI. Добавлена поддержка дополнительных наборов процессорных инструкций (ISA) и расширений: Smstateen, отладочные счётчики icount, связанные с кэшем события PMU в виртуальном режиме, ACPI, расширения Zawrs, Svadu, T-Head и Zicond.
  • В эмулятор архитектуры HPPA добавлена поддержка инструкции fid (Floating-Point Identify и улучшена эмуляция в 32-разрядном режиме.
  • В эмуляторе архитектуры 390x обеспечена поддержка асинхронного отсоединения памяти при перезагрузке защищённых гостевых систем KVM.
    Улучшена обработка пробрасываемых устройств zPCI.
  • В механизме virtio-mem, позволяющий выполнять горячее подключение и отключение памяти к виртуальным машинам, реализовано упреждающее выделение ресурсов (preallocation) при live-миграции.
  • В VFIO (Virtual Function I/O) обновлена экспериментальная поддержка миграции (задействована вторая редакция протокола миграции).
  • В блочном устройстве qemu-nbd повышена эффективность работы поверх TCP при использовании TLS.
  • В агент для гостевых систем добавлена начальная поддержка OpenBSD и NetBSD.
Release. Ссылка here.