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

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

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

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

  • В эмулятор архитектуры ARM добавлена поддержка расширений инструкций ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT и BTI. Добавлена поддержка эмуляции плат «Musca» и «MPS2». Улучшена эмуляция ARM PMU (Power Management Unit). В платформу virt добавлена возможность использования более 255 Гб ОЗУ и поддержка образов u-boot с типом «noload»;

  • В эмуляторе архитектуры x86 в движке ускорения виртуализации HAX (Intel Hardware Accelerated Execution) добавлена поддержка POSIX-совместимых хостов, таких как Linux и NetBSD (ранее поддерживалась только платформа Darwin). В эмуляторе чипсета Q35 (ICH9) для основных портов PCIe опционально теперь может быть заявлена максимальная скорость (16GT/s) и число линий соединения (x32), определённых в спецификации PCIe 4.0 (для обеспечения совместимости по умолчанию для старых типов машин QEMU устанавливается 2.5GT/s и x1). Обеспечена возможность загрузки образов Xen PVH с опцией «-kernel»;
  • В эмулятор архитектуры MIPS добавлена поддержка многопоточной эмуляции с использованием классического генератора кода TCG (Tiny Code Generator). Также добавлена поддержка эмуляции CPU I7200 (nanoMIPS32 ISA) и I6500 (MIPS64R6 ISA), возможность обработки запросов типа CPU с использованием протокола QMP (QEMU Management Protocol), добавлена поддержка конфигурационных регистров SAARI и SAAR. Улучшена работа виртуальных машин с типом Fulong 2E. Обновлена реализация Interthread Communication Unit;
  • В эмуляторе архитектуры PowerPC добавлена поддержка эмуляции контроллера прерываний XIVE, расширена поддержка POWER9, для P series добавлена возможность горячего подключения главных мостов PCI (PHB, PCI host bridge). Включена по умолчанию защита от атак Spectre и Meltdown;
  • В эмулятор архитектуры RISC-V добавлена поддержка эмлуляции PCI и USB. Во встроенным сервере отладки (gdbserver) реализована поддержка задания списков регистров в файлах XML. Добавлена поддержка mstatus-полей TSR, TW и TVM;
  • В эмулятор архитектуры s390 добавлена поддержка модели CPU z14 GA 2, а также поддержка эмуляции расширений инструкций для вычислений с плавающей запятой и векторными операциями. В vfio-ap добавлена возможность горячего подключения устройств;
  • В эмуляторе процессоров семейства Tensilica Xtensa улучшена поддержка SMP для Linux и добавлена поддержка расширения FLIX (Flexible length instructions extension);
  • В графический интерфейс добавлена опция ‘-display spice-app’ для настройки и запуска варианта клиента удалённого доступа Spice с оформлением, похожим на GTK-интерфейс QEMU;
  • В реализацию VNC-сервера добавлена поддержка управления доступом при помощи опций tls-authz/sasl-authz;
  • В QMP (QEMU Management Protocol) добавлена поддержка централизованного/внешнего (Out-of-band) выполнения команд и реализованы дополнительные команды для работы с блочными устройствами;
  • В VFIO добавлена реализация интерфейса EDID для поддерживаемых mdev (Intel vGPU), позволяющая менять разрешение экрана, используя опции xres и yres;
  • Для Xen добавлено новое устройство ‘xen-disk’, которое т самостоятельно может создать дисковый бэкенд для Xen PV (без обращения к xenstore). Увеличена производительность дискового бэкенда Xen PV и добавлена возможность изменения размера диска;
  • В сетевых блочных устройствах расширены возможности диагностики и трассировки, улучшена совместимость клиента с проблемными реализациями сервера NBD. В qemu-nbd добавлены опции «—bitmap», «—list» и «—tls-authz»;
  • В эмулируемое устройство IDE/via добавлена поддержка режима PCI IDE ;
  • Добавлена поддержка использования алгоритма lzfse для сжатия образов dmg. Для формата qcow2 добавлена поддержка подключения внешних файлов с данными. Операции распаковки qcow2 вынесены в отдельный поток. В образах vmdk добавлена поддержка операции «blockdev-create»;
  • В блочное устройство virtio-blk добавлена поддержка операций DISCARD (информирование об освобождении блоков) и WRITE_ZEROES (обнуление диапазона логических блоков);
  • В устройстве pvrdma реализована поддержка RDMA Management Datagram services (MAD);
  • Внесены изменения, нарушающие обратную совместимость. Например, вместо опции «handle» в «-fsdev» и «-virtfs» следует использовать опции local» или «proxy». Удалены опции «-virtioconsole» (заменена на «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (заменена на «-accel hax»). Удалено устройство «ivshmem» (следует использовать «ivshmem-doorbell» иои «ivshmem-plain»). Прекращена поддержка сборки с SDL1.2 (нужно использовать SDL2).

Источник: opennet.ru

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