IT-инфраструктура • инструкции • практикаПоиск по сайту

Серверы и системное администрирование

Найти материал →

Qemu 11.1: поддержка Risc-v big-endian, вложенная виртуализация Arm и исправления

QEMU 11.1: поддержка RISC-V big-endian, вложенная виртуализация ARM и важные исправления

Проект QEMU 11.1 получил первое сопровождающее обновление в ветке 11.x. Новая версия открытого эмулятора машин и платформы виртуализации заметно расширяет возможности RISC-V и ARM, обновляет параметры по умолчанию для PowerPC, улучшает миграцию виртуальных машин и устраняет ряд проблем безопасности.

Главным нововведением стал режим QEMU 11.1 RISC-V big-endian - поддержка целевых систем RISC-V с обратным порядком байтов. Кроме того, эмулятор получил поддержку чернового расширения Zbr, Zvfbfa, работу KVM с Zicbop и BFloat16, а также корректную обработку дробного LMUL для векторных инструкций SHA. Отдельные улучшения затронули дизассемблер и анализ машинного кода.

Аппаратная база RISC-V в QEMU также стала шире. В релиз добавлена плата K230, обновлена версия OpenSBI до 1.8.1 и реализована поддержка идентификатора производителя Tenstorrent mvendorid. Разработчики исправили множество ошибок в подсистемах IOMMU, обработке прерываний, обходе таблиц страниц и работе векторных инструкций. Эти изменения особенно важны для разработчиков прошивок, исследовательских платформ и тестовых стендов на базе RISC-V.

В ARM-направлении заметным шагом стала доработка QEMU ARM nested virtualization. Пользователи Apple HVF теперь могут применять вложенную виртуализацию на машине virt. Это позволяет запускать гипервизор внутри гостевой системы и открывает дополнительные сценарии для тестирования облачных платформ, Kubernetes-окружений и системных компонентов.

В `qemu-system-aarch64` появилась возможность загружать 32-битную гостевую систему на 64-битном TCG CPU с помощью свойства `aarch64=off`. Также QEMU 11.1 содержит экспериментальную эмуляцию контроллера прерываний GICv5 и поддерживает загрузку UEFI shim через стандартный параметр `-shim`. На системах NVIDIA Tegra241 механизм Command Queue Virtualization может выделять виртуальным машинам отдельные аппаратные очереди команд SMMUv3.

Эмуляция ARM-процессоров пополнилась набором архитектурных возможностей. В их числе - функции FP8, SME, SSVE, Memory Tagging Extension и RME. Благодаря этому QEMU лучше подходит для проверки программ, рассчитанных на современные серверные и встраиваемые процессоры ARM, ещё до появления доступа к физическому оборудованию.

Для PowerPC изменились параметры по умолчанию. В системах pseries теперь используется Power11, а для машин PowerNV стандартной становится модель PowerNV11. Дополнительно появилась поддержка MPIPL для PowerNV, добавлена вложенная модель MMU, обновлена прошивка SLOF. Устаревшие процессоры Power8E и Power8NVL удалены из проекта.

Отдельное внимание уделено безопасности. В USB-эмуляции устранены потенциальная ошибка use-after-free, проблема с бесконечным циклом или аварийным завершением в `usb-redir`, а также выход за пределы кучи в устройстве XHCI sysbus. Аналогичная ошибка use-after-free исправлена в virtio-gpu. Такие изменения снижают риск сбоев и потенциальной эксплуатации дефектов в изолированных гостевых средах.

Существенно доработана живая миграция виртуальных машин. Новый параметр `x-rdma-chunk-size` позволяет управлять размером блоков при RDMA-миграции. Команда `query-migrate` теперь сообщает общесистемный объём оставшихся данных, а расчёт ожидаемого простоя учитывает состояние устройств VFIO.

Разработчики исправили несколько проблем миграции: аварийное завершение при одновременном использовании multifd и zerocopy, зависание в состоянии `POSTCOPY_DEVICE`, сбой во время повторной миграции после отмены первой операции и редкую ошибку при миграции VFIO. Для серверных кластеров и инфраструктур высокой доступности эти исправления имеют практическое значение.

Графическая подсистема также получила новые возможности. В состав проекта включён отдельный сервер `qemu-vnc`, способный экспортировать вывод `-display dbus`. Виртуальные последовательные консоли теперь поддерживают выбор кодировки CP437 или UTF-8. Эмулятор VT100 научился принимать UTF-8, сохраняя отображение в CP437, а GTK-консоль стала корректнее обрабатывать подключение и отключение устройств во время работы.

Перед тем как выполнять QEMU 11.1 установка, стоит проверить версии KVM, OpenSBI, libvirt и прошивок, если эмулятор используется не только в режиме TCG. На Linux QEMU обычно устанавливают из пакетов дистрибутива, однако для доступа к новым возможностям иногда требуется сборка из исходного кода. Инструкции по загрузке и ключевым изменениям можно найти в материале о [новом выпуске QEMU 11.1 и поддержке RISC-V big-endian](https://linuxiac.com/qemu-11-1-adds-risc-v-big-endian-support-arm-nested-virtualization/).

Команда QEMU виртуализация настройка зависит от конкретной архитектуры, гипервизора и задач. Для производственных систем важно отдельно проверить параметры CPU, тип дисковых контроллеров, сетевые устройства, формат хранения и механизм миграции. При использовании Apple HVF или KVM следует убедиться, что вложенная виртуализация разрешена не только в QEMU, но и на уровне хостовой системы.

Для пользователей, которые планируют QEMU 11.1 скачать, исходный код доступен в репозитории проекта GitHub, а готовые пакеты распространяются через официальные репозитории Linux-дистрибутивов и сторонние сборочные площадки. Перед обновлением рекомендуется сверить список зависимостей и протестировать конфигурацию на отдельном стенде, особенно если задействованы VFIO, RDMA, USB passthrough или live migration.

Завершают выпуск многочисленные исправления для отдельных архитектур и платформ. Изменения затрагивают обработку сигналов, сетевой стек, создание core dump, сохранение состояния операций с плавающей точкой, проверку ioctl, auxiliary vectors и межплатформенную совместимость. Обновления получили RISC-V, PowerPC, SPARC, MIPS, SH4, Xtensa, s390x, Alpha и LoongArch.

Таким образом, QEMU 11.1 нельзя считать исключительно техническим исправлением. Релиз одновременно расширяет поддержку новых архитектур, повышает надёжность миграции, укрепляет безопасность устройств и делает эмулятор более пригодным для современных сценариев разработки, виртуальных лабораторий и серверной инфраструктуры.

Прокрутить вверх