28.09.2020

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


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

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

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

  • Добавлена поддержка эмуляции CPU на базе архитектуры AVR. Реализована поддержка плат Arduino Duemilanove, Arduino Mega 2560, Arduino Mega и Arduino UNO.
  • В эмулятор архитектуры ARM добавлена возможность горячего отключения памяти (hot-unplug), а также горячего подключения памяти nvdimm для гостевых систем с ACPI. Реализована поддержка расширений ARMv8.2 TTS2UXN и ARMv8.5 MemTag. Обеспечена поддержка платы sonorapass-bmc.
  • В эмулятор архитектуры MIPS добавлена поддержка CPU Loongson 3A CPUs (R1 и R4). Повышена производительность эмуляции инструкций FPU и MSA.
  • В эмулятор архитектуры RISC-V добавлена поддержка CPU SiFive E34 и Ibex. Реализована поддержка плат HiFive1 revB и OpenTitan. Для машин Spike предоставлена поддержка более одного CPU.
  • В эмуляторе архитектуры PowerPC появилась поддержка восстановления ошибок в гостевых системах при помощи FWNMI.
  • Для архитектуры s390 добавлена поддержка KVM для защищённой виртуализации (режим безопасного выполнения).
  • В эмуляторе архитектуры x86 сокращены накладные расходы на виртуализацию неадаптированных гостевых систем с Windows, через задействование таблицы эмулируемых устройств ACPI (Windows ACPI Emulated Device Table). Улучшена поддержка ускорения HVF для macOS.
  • В драйвере блочных устройств появилась поддержка виртуальных устройств хранения с логическими и физическими блоками размером 2MB.
  • Добавлена возможность передачи в QEMU ключей для шифрования через keyring ядра Linux.
  • В утилите qemu-img добавлена новая команда ‘bitmap’ для манипуляции постоянными битовыми картами в файлах qcow2. В qemu-img также появилась поддержка сжатия zstd, реализовано управления ключами LUKS (keyslot) и предложены дополнительные возможности для команд map, convert и measure.
  • В драйвере NVMe появилась поддержка постоянных областей памяти (Persistent Memory Region), появившихся в спецификации NVMe 1.4.
  • В virtio для гостевых систем c классическим генератором кода TCG (Tiny Code Generator) реализована возможность использования потоков vhost-user. В vhost-user разрешена регистрация более 8 слотов ОЗУ.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53534

Добавить комментарий