QEMU 4.1 эмуляторыг гаргасан

Оруулсан төслийн хувилбар QEMU 4.1. Эмуляторын хувьд QEMU нь нэг техник хангамжийн платформд зориулж боловсруулсан програмыг огт өөр архитектуртай систем дээр ажиллуулах боломжийг олгодог, жишээлбэл, x86-тэй нийцтэй компьютер дээр ARM програмыг ажиллуулах. QEMU дахь виртуалчлалын горимд тусгаарлагдсан орчинд код гүйцэтгэх гүйцэтгэл нь CPU дээрх зааврыг шууд гүйцэтгэж, Xen hypervisor эсвэл KVM модулийг ашигласнаар эх системтэй ойролцоо байдаг.

Уг төслийг Fabrice Bellard анх x86 платформд зориулан бүтээгдсэн Линукс программуудыг x86 бус архитектур дээр ажиллуулах боломжийг олгох зорилгоор бүтээжээ. Хөгжлийн жилүүдэд 14 техник хангамжийн архитектурт бүрэн эмуляцын дэмжлэг нэмэгдэж, дуурайлган хийсэн техник хангамжийн төхөөрөмжийн тоо 400-аас давсан. 4.1 хувилбарт бэлтгэхийн тулд 2000 хөгжүүлэгчээс 276 гаруй өөрчлөлт хийсэн.

Түлхүүр сайжруулалтQEMU 4.1-д нэмсэн:

  • В эмулятор архитектуры x86 добавлена поддержка моделей CPU Hygon Dhyana и Intel SnowRidge. Добавлена эмуляция расширения RDRAND (аппаратный генератор псевдослучайных чисел). Добавлены флаги
    md-clear и mds-no для управления защитой от атак MDS (Microarchitectural Data Sampling) на процессоры Intel. Добавлена возможность определения топологий интегральных схем при помощи флага «-smp …,dies=». Реализовано версионирование для всех моделей CPU x86;

  • Блочный драйвер SSH переведён с использования libssh2 тухай libsh;
  • В драйвер virtio-gpu (виртуальный GPU, развиваемый в рамках проекта Виргил) добавлена поддержка выноса операций отрисовки 2D/3D во внешний процесс vhost-user (например, vhost-user-gpu);
  • В эмулятор архитектуры ARM добавлена поддержка расширения ARMv8.5-RNG для генерации псевдослучайных чисел. Реализована поддержка эмуляции FPU для чипов семейства Cortex-M и решены проблемы с эмуляцией FPU для Cortex-R5F. Предложена новая система настройки опций сборки, оформленная в стиле Kconfig. Для SoC Exynos4210 добавлена поддержка DMA-контроллеров PL330;
  • В эмуляторе архитектуры MIPS улучшена поддержка инструкций MSA ASE при использовании порядка следования байт big-endian и приведена в соответствие с эталонным оборудованием обработка случаев деления на ноль. Увеличена производительность эмуляции инструкций MSA для целочисленных вычислений и операций перестановки;
  • В эмуляторе архитектуры PowerPC появилась поддержка проброса к GPU NVIDIA V100/NVLink2 при помощи VFIO. Для pseries реализовано ускорение эмуляции контроллера прерываний XIVE и добавлена поддержка горячего подключения PCI мостов. Внесены оптимизации в эмуляцию векторных инструкций (Altivec/VSX);
  • В эмулятор архитектуры RISC-V добавлена новая модель оборудования — «spike». Добавлена поддержка ISA 1.11.0. Улучшен 32-разрядный ABI системных вызовов, расширена обработка недопустимых инструкций и улучшен встроенный отладчик. Добавлена поддержка топологии CPU в device tree;
  • В эмулятор архитектуры s390 добавлена поддержка эмуляции всех векторных инструкций группы «Vector Facility» и добавлены дополнительные элементы для поддержки систем gen15 (в том числе добавлена поддержка AP Queue Interruption Facility для vfio-ap). Реализована поддержка BIOS для загрузки с ECKD DASD, привязанного к гостевой системе через vfio-ccw;
  • В эмуляторе архитектуры SPARC для систем sun4m решены проблемы с использованием флага «-vga none» для OpenBIOS;
  • В эмуляторе процессоров семейства Tensilica Xtensa реализованы опции для MPU (memory protection unit) и эксклюзивного доступа;
  • В команду «qemu-img convert» добавлена опция «—salvage» для отключения аварийного завершения работы процесса преобразования образа в случае возникновения ошибок ввода/вывода (например, можно применять для восстановления частично повреждённых файлов qcow2). В команде
    «qemu-img rebase» обеспечена работа, когда для входного файла пока не создан базовый (backing) файл;

  • Добавлена возможность перенаправления вывода, организованного с использованием технологии «semihosting» (позволяет эмулируемому устройству использовать stdout, stderr и stdin для создания файлов на стороне хоста), в бэкенд chardev («-semihosting-config enable=on,target=native,chardev=[ID]»);
  • В блочном драйвере VMDK добавлена поддержка субформата seSparse в режиме только для чтения;
  • В драйвере эмуляции GPIO добавлена поддержка GPIO-контроллера SiFive.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх