Несколько дней назад анонсирован выход новой версии QEMU 7.0, что позволяет запускать программу, созданную для одной аппаратной платформы, в системе с совершенно другой архитектурой, например, запуская ARM-приложение на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированной среде аналогична производительности аппаратной системы за счет прямого выполнения инструкций на ЦП и использования гипервизора Xen или модуля KVM.
За годы разработки была добавлена полная поддержка эмуляции 14 аппаратных архитектур, количество эмулируемых аппаратных устройств превысило 400. При подготовке к версии 7.0, внесено более 2500 изменений от 225 разработчиков.
Основные нововведения QEMU 7.0
В представленной новой версии QEMU 7.0 Поддержка набора инструкций Intel AMX (Расширенные матричные расширения) реализовано в серверные процессоры Intel Xeon Масштабируемый плюс он был добавлен в эмулятор архитектуры x86. AMX предлагает новые настраиваемые регистры TMM «TILE» и инструкции для управления данными в этих регистрах, такие как TMUL (Tile matrix MULTiply) для умножения матриц.
Еще одно важное изменение: улучшена гибкость резервного копирования активных образов текущей системы (создается снимок, после чего применяется фильтр «копировать перед записью» (CBW) для обновления состояния снимка, копируя данные из областей, в которые пишет гостевая система). Возможность доступа к снапшоту с резервной копией предоставляется не напрямую, а через драйвер устройства блокировки доступа к снэпшоту.
В эмуляторе ARM для виртуальных машин добавлена поддержка virtio-mem-pci, Обнаружение топологии гостевого процессора и включение PAuth при использовании гипервизора KVM с ускорителем hvf, а также добавлена поддержка эмуляции драйвера PMC Flash OSPI и SLCR в эмуляторе платы xlnx-versal-virt.
Эмулятор архитектуры RISC-V добавляет поддержку гипервизора KVM и реализует векторные расширения Vector 1.0, а также добавлена поддержка загрузки двоичных файлов OpenSBI (RISC-V Supervisor Binary Interface) для эмулируемых машин с шипами. Для эмулируемых «виртовых» машин реализована возможность использования до 32 процессорных ядер и поддержка AIA.
Из другие изменения которые выделяются:
- Эмулятор архитектуры HPPA предоставляет до 16 виртуальных ЦП и улучшенный графический драйвер для пользовательских сред HP-UX VDE/CDE.
- Добавлена возможность изменять порядок загрузки устройств SCSI.
- Добавлена поддержка использования до 4 ядер ЦП, загрузки внешнего образа initrd и автоматического создания дерева устройств для загрузочного ядра в эмуляторе архитектуры OpenRISC для «sim-плат».
- В эмуляторе архитектуры PowerPC для эмулируемых машин «pseries» реализована возможность запуска гостевых систем под управлением вложенного гипервизора KVM. Добавлена поддержка устройства spapr-nvdimm.
- Добавлена поддержка обработчика прерываний XIVE2 и обработчиков PHB5 для машин, эмулируемых powernv, улучшена поддержка XIVE и PHB 3/4.
- Добавлена поддержка расширений z15 (Miscellaneous-Instruction-Extensions Facility 3) в эмулятор архитектуры s390x.
- В Classic TCG (Tiny Code Generator) удалена поддержка хостов с процессорами ARMv4 и ARMv5, которые не поддерживают невыровненный доступ к памяти и не имеют достаточного количества оперативной памяти для запуска QEMU.
- Улучшена поддержка меток безопасности в модуле virtiofs, который используется для перенаправления части файловой системы из хост-среды в гостевую систему.
- Исправлена уязвимость CVE-2022-0358, позволяющая повысить ваши привилегии в системе за счет создания исполняемых файлов в каталогах, проброшенных через virtiofs, принадлежащих другой группе и снабженных флагом SGID.
В конце концов если вам интересно узнать об этом больше об изменениях и нововведениях, представленных в этой новой версии QEMU 7.0, вы можете проверить подробности и многое другое в следующая ссылка