Релиз эмулятора QEMU 3.1
Сформирован релиз проекта QEMU 3.1.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счет прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 3.1 внесено более 1900 изменений от 189 разработчиков.
Ключевые улучшения, добавленные в QEMU 3.1:
- Расширены возможности эмулятора архитектуры ARM. Добавлена поддержка эмуляции ARM-плат Microbit и Xilinx Versal. Реализована поддержка процессоров Cortex-A72 и Cortex-M0, а также архитектуры ARMv6M. Для процессоров Cortex-A7 и Corex-A15 добавлена эмуляция инструкций AArch32 в режиме гипервизора (virtualization/hypervisor). В virt/xlnx-zynqmp добавлена поддержка расширений виртуализации для контроллера прерываний GICv2
- В эмуляторе архитектуры x86 реализована возможность многопоточного выполнения классического генератора кода TCG (Tiny Code Generator). Добавлены новые эмулируемые модели CPU IceLake-Server и IceLake-Client;
- В эмуляторе архитектуры MIPS добавлена поддержка SIMD-инструкций MXU для архитектуры MIPS32 и реализована эмуляция плат nanoMIPS I7200;
- В эмуляторе архитектуры PowerPC включена поддержка вложенной виртуализации чререз KVM-HV для систем pseries. Объявлена устаревшей эмулируемая модель prep (следует использовать 40p). В модель g3beige/mac99 добавлена поддержка загрузки с блочных устройств на базе virtio-blk-pci;
- В эмулятор архитектуры s390 добавлена поддержка KVM для выполнения гостевых систем с большими страницами памяти (huge pages) и возможность проброса VFIO для шифрованных устройств (vfio-ap)
- В эмулятор архитектуры SPARC добавлена поддержка загрузки с блочных устройств на базе virtio-blk-pci;
- В эмуляторе процессоров семейства Tensilica Xtensa добавлена поддержка ввода с консолей через символьное устройство (chardev);
- Добавлена поддержка KVM для Hyper-V IPI и Enlightened VMCS (Vrtual Machine Control Structure) для повышения производительности Hyper-V при работе в окружениях на базе KVM;
- Добавлена поддержка переназначения прерываний AMD IOMMU и режима виртуального APIC для гостевых систем;
- Примерно в два раза ускорена реализация режим шифрования XTS;
- В устройствах stdvga и bocks-display обеспечена выдача гостевой системе информации EDID. В том числе через EDID теперь отдаются поддерживаемые в stdvga свойства xres и yres;
- В утилиту qemu-img добавлена возможность генерации шифрованных файлов с образами образов (используется LUKS) при помощи команды 'qemu-img convert'.