Увидел свет релиз QEMU 2.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. Всего в разработке всех выпусков QEMU приняло участие более 400 авторов, которые подготовили около 25 тысяч изменений. При подготовке версии 1.7 внесено около 2500 изменений от 179 разработчиков.
Ключевые улучшения, добавленные в QEMU 2.0:
- Обеспечена возможность сборки блочных драйверов (curl, iscsi, rbd, ssh, glusterfs) в форме разделяемых библиотек ("--enable-modules");
- Начальная поддержка использования KVM на системах с архитектурой AArch64;
- Поддержка всех инструкций 64-рязрядного режима ARMV8, за исключением криптографических расширений и опциональной поддержки CRC;
- В классический генератор кода TCG (Tiny Code Generator) добавлена поддержка инструкций 32-разрядного режима ARMv8;
- Добавлена поддержка прямого доступа к разделам NFSv3 из пространства пользователя при помощи библиотеки libnfs;
- Внесены улучшения в оптимизатор TCG (Tiny Code Generator), которые позволили добиться генерации более быстрого кода;
- Добавлена опция "-cpu hv-time" (работает только с KVM и ядром Linux 3.14) с реализацией эталонных счётчиков времени Hyper-V, использование которых позволяет увеличить производительность работы гостевых систем с Windows при выполнении приложений, активно использующих вычисления с плавающей запятой или инструкции SIMD;
- В пользовательском интерфейсе на базе GTK обеспечена поддержка работы на хостах с Windows;
- Поддержка плат на базе процессора AllWinner a10 ("-M cubieboard");
- При запуске с использованием TCG обеспечена поддержка инструкций POWER Altivec 2.07 и VSX;
- Поддержка выбора последовательности загрузки при эмуляции pSeries;
- Для x86-систем Q35 добавлена поддержка горячего подключения CPU;
- Генерируемые QEMU c таблицы ACPI теперь могут использоваться в прошивках OVMF;
- Для Xen обеспечена поддержка проброса PCI-устройств с ПЗУ;
- В реализации USB-контроллера XHCI добавлена поддержка ждущего режима;
- Добавлен новый управляющий интерфейс для горячего подключения CPU и virtio-rng;
- Увеличена надёжность live-миграции при использовании образов в формате QCOW2;
- Добавлена поддержка слияния снапшотов на лету;
- Экспериментальная поддержка многопоточной модели M:N в virtio-blk;
- Обеспечена поддержка работы на накопителях, требующих выравнивания буферов по границе 4K;
- Поддержка трассировки QEMU с использованием LTTng 2.x.