Вышел эмулятор QEMU 9.0

Вышел эмулятор QEMU 9.0

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

За несколько лет разработки в QEMU добавлена поддержка полной эмуляции для 14 аппаратных архитектур, а число эмулируемых аппаратных устройств превысило 400 шт.

Над созданием QEMU 9.0 работали 220 разработчиков, которые внесли в код проекта более 2700 изменений и дополнений.

Highlights include QEMU 9.0Вышел эмулятор QEMU 9.0

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

  • в драйвер virtio-blk, предоставляющий виртуальное блочное устройство для виртуальных машин, добавлена поддержка многоуровневой системы очередей (multiqueue), позволяющей разделить очереди для разных блочных устройств для обеспечения многопоточного доступа на многоядерных системах (разные очереди одного диска могут обрабатываться разными потоками ввода/вывода);

  • в библиотеку gdbstub, предназначенную для удалённой отладки в GDB с использованием протокола RSP (Remote Serial Protocol), добавлена поддержка режима fork-follow, операции siginfo:read и перехвата системных вызовов в пространстве пользователя;

  • бэкенды предварительного распределения памяти (preallocation) адаптированы для работы в многопоточном режиме и теперь могут одновременно обрабатывать запросы из нескольких потоков;

  • переписана реализация устройства ESP SCSI (am53c974/dc390);

  • добавлена поддержка алгоритма шифрования SM4 и обеспечена возможность его использования в драйвере блочного устройства luks;

  • в эмуляторе архитектуры ARM реализована поддержка плат L475E-IOT01A IoT, mp3-an536 (MPS3 с прошивкой AN536) и raspi4b (Raspberry Pi 4 Model B). Добавлена поддержка эмуляции процессорных расширений ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) и NV2 (Enhanced Nested Virtualization). Расширены возможности эмуляторов плат Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx и virt;

  • в эмулятор архитектуры RISC-V добавлена поддержка расширений архитектуры набора команд Zacas, amocas, RVA22, Zaamo, Zalrsc и Ztso. В виртуальных машинах RISC-V обеспечена поддержка SMBIOS. Для SRAT, SLIT, AIA и PLIC реализована поддержка ACPI. Обновлена поддержка таблиц RHCT;

  • в эмуляторе архитектуры HPPA до версии 16 обновлена прошивка SeaBIOS-hppa. Максимальный размер памяти увеличен с 3 ГБ до 3840 МБ;

  • в эмуляторе архитектуры LoongArch появилась поддержка ускорения KVM и реализована поддержка векторных расширений набора команд LSX/LASX;

  • в эмуляторе архитектуры s390x добавлена поддержка инструкций CVDG, CVB, CVBY и CVBG. Улучшена эмуляция LAE (Load Address Extended);

  • в эмулятор архитектуры 68k добавлено устройство nubus-virtio-mmio, позволяющее получить доступ к устройствам virtio из машин q800;

  • для выполнения QEMU с KVM теперь требуется наличие как минимум ядра Linux 4.4. Для ARM-хостов в будущем эту планку планируют поднять до версии 4.19. Прекращена поддержка использования 32-разрядных Windows в качестве хостовых ОС;

  • добавлена поддержка OpenBSD 7.4.

Источник: habr.com