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

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

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

  • Операционная система NetBSD возвращена в число поддерживаемых систем. Прекращена возможность работы в Solaris 9 и более ранних выпусках. В разряд неподдерживаемых переведена архитектура ia64 и системы GNU/kFreeBSD, DragonFly BSD, OpenBSD, Solaris, AIX и Haiku. Неподдерживаемые системы продолжат работать, но качество работы не гарантируется, так как у команды разработчиков QEMU нет возможности их протестировать. В будущем поддержка данных ОС может быть удалена или возобновлена, если найдутся заинтересованные энтузиасты;
  • Обеспечена возможность использования шифрования образов виртуальных машин qcow2 с использованием формата LUKS;
  • Представлен бэкенд 9pfs/virtfs, обеспечивающего работу с сетевой файловой системой Plan 9. Фронтэнд для 9pfs включен в состав ядра Linux, а транспорт для протокола 9pfs в состав гипервизора Xen. При помощи 9pfs можно организовать доступ одной виртуальной машины к другой;
  • Добавлена опция "-numa cpu", позволяющая назначить CPU для определённых узлов NUMA. Добавлена поддержка извлечения информации о связности узлов NUMA (distance) через ACPI;
  • Расширены возможности интерфейса для мониторинга и управления: добавлены команды 'info ramblock/cmma/register/qtree' для получения дополнительной отладочной информации, добавлена команда 'info vnc' для вывода списка подключенных клиентов, улучшена поддержка разбора протокола QMP;
  • В QXL и virtio-gpu добавлены свойства xres и yres для указания разрешения экрана по умолчанию;
  • Добавлена поддержка устройства vhost-user-scsi (вариант vhost-user для SCSI), которое в отличие от ранее предлагаемого vhost-scsi поддерживает live-миграцию;
  • В эмуляторе накопителей NVMe добавлена поддержка команды Write Zeroes и функциональности Controller Memory Buffers;
  • В агент гостевых систем добавлена возможность запроса информации об имени хоста, пользователях, часовом поясе и версии ОС гостевой системы;
  • Обеспечена возможность использования гипервизора KVM на платах Raspberry Pi 3;
  • В эмулятор архитектуры ARM добавлена поддержка эмуляции плат на базе FPGA MPS2/MPS2+. Добавлена поддержка запуска zynq с SPIPS Flash . В эмулятор Exynos4210 добавлена поддержка аппаратного RNG, SDHCI и инициирования выключения питания;
  • В эмулятор архитектуры Microblaze добавлена поддержка 9.4, 9.5, 9.6 и 10.0 версий CPU;
  • В эмулятор архитектуры MIPS добавлена поддержка расширенной виртуальной адресации (EVA, Enhanced Virtual Addressing) и возможность использования initrd для ядер со включенной рандомизацией адресного пространства ядра (KASLR);
  • В эмулятор архитектуры OpenRISC добавлена поддержка теневых регистров, idle-состояний и регистров numcores/coreid/EVAR/EPH;
  • В эмулятор архитектуры PowerPC добавлена поддержка многопоточного выполнения классического генератора кода TCG (Tiny Code Generator), представлен драйвер OpenBIOS VGA для гостевых систем с macOS, добавлена эмуляция и поддержка KVM для гостевых систем на базе POWER9;
  • В эмулятор архитектуры s390 добавлен проброс устройств через vfio-ccw, улучшена поддержка PCI (AEN, AIS, zPCI), добавлена поддержка моделей ACPU z14 и возможность использования netboot/TFTP через CCW BIOS;
  • В эмуляторе x86 в gdbstub предоставлен доступ к регистрам SSE. Для Q35 MCH появилась поддержка TSEG, размером больше 8 Мб;
  • Объявлены устаревшими опции "-hdachs" и "-usbdevice", вместо которых следует использовать опцию "-device". Для захвата сетевого трафика вместо "-net dump" теперь рекомендуется использовать "-object filter-dump" в связке с "-netdev".


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