Недавно представлен запуск новой версии проекта QEMU 4.1, который представляет собой приложение для визуализации (в основном эмулятор) что позволяет запускать программу, созданную для аппаратной платформы, в системе с совершенно другой архитектурой, например, запуск приложения ARM на компьютере, совместимом с x86.
В режиме виртуализации в QEMU производительность выполнения кода в изолированной среде близка к производительности собственной системы за счет прямого выполнения инструкций на ЦП и использования гипервизора Xen или модуля KVM.
Основные нововведения QEMU 4.1
QEMU 4.1 Поставляется с поддержкой моделей процессоров Hygon Dhyana и Intel SnowRidge. на эмуляторе архитектуры x86, а также эмуляции расширения RDRAND (аппаратный генератор псевдослучайных чисел).
В эмуляторе архитектуры MIPS улучшена поддержка инструкций MSA ASE. когда используется порядок байтов с прямым порядком байтов и обработка случаев деления на ноль согласована с эталонной машиной. Повышена производительность эмуляции инструкций MSA для целочисленных вычислений и операций перестановки.
Эмулятор архитектуры PowerPC представляет поддержку переадресации графического процессора NVIDIA V100 / NVLink2 с помощью VFIO. Для pseries реализовано ускорение эмуляции драйвера прерывания XIVE и добавлена поддержка мостов PCI с возможностью горячей замены. Оптимизация была внесена в эмуляцию векторных инструкций (Altivec / VSX).
QEMU 4.1 получает новую аппаратную модель, spike, в эмулятор архитектуры RISC-V, а также поддержку ISA 1.11.0, также были улучшены 32-битные системные вызовы ABI с расширенной обработкой недопустимых инструкций и улучшенным встроенным отладчиком.
Поддержка эмуляции всех векторных инструкций в группе «Vector Facility» был добавлен в эмулятор архитектуры s390, и были добавлены дополнительные элементы для поддержки систем gen15 (включая поддержку AP Queue Interrupt Facility для vfio-ap). Реализована поддержка BIOS для загрузки с ECKD DASD, привязанного к гостевой системе через vfio-ccw.
Эмулятор архитектуры SPARC для систем sun4m решает проблемы с использованием флага «-vga none» для OpenBIOS.
Также стоит отметить добавление флагов md-clear и mds-no для управления защитой от MDS-атак (Microarchitectural Data Sampling) на процессорах Intel. Добавлена возможность определять топологии IC с помощью флага "-smp ..., dies =". Контроль версий реализован для всех моделей процессоров x86.
Для параметра «–salvage» в команду преобразования qemu-img добавлена возможность отключения аварийного завершения процесса преобразования изображений в случае ошибок ввода / вывода (например, его можно использовать для восстановления частично поврежденных файлов qcow2) .
Из других изменений, которые выделяются в этой новой версии:
- Обработчик блока SSH был преобразован с использования libssh2 в libssh
- В драйвер virtio-gpu (виртуальный графический процессор, разработанный в рамках проекта Virgil) добавлена поддержка передачи операций 2D / 3D-рендеринга внешнему пользовательскому процессу vhost (например, vhost-user-gpu).
- В эмулятор архитектуры ARM добавлена поддержка расширения ARMv8.5-RNG для генерации псевдослучайных чисел. Реализована поддержка эмуляции FPU для чипов семейства Cortex-M и решены проблемы с эмуляцией FPU для Cortex-R5F.
- Предлагается новая система настройки параметров сборки, выполненная в стиле Kconfig. Для SoC Exynos4210 добавлена поддержка контроллеров DMA PL330.
- Добавлена поддержка подформата seSparse, доступного только для чтения, в обработчике блоков VMDK.
- В эмуляторе процессора семейства Tensilica Xtensa реализованы опции для MPU (блока защиты памяти) и монопольного доступа.
- Добавлена поддержка драйвера SiIO GPIO в драйвере эмуляции GPIO.
- Добавлена поддержка топологии ЦП в дереве устройств.
- Команда «qemu-img rebase» обеспечивает работу, когда файл резервной копии еще не создан для входного файла.