የQEMU 4.1 emulator መልቀቅ

የቀረበው በ የፕሮጀክት መለቀቅ QEMU 4.1. እንደ ኢሙሌተር፣ QEMU ለአንድ ሃርድዌር ፕላትፎርም የተጠናቀረ ፕሮግራምን ሙሉ ለሙሉ የተለየ አርክቴክቸር ባለው ሲስተም እንዲያካሂዱ ይፈቅድልሃል፣ ለምሳሌ የ ARM መተግበሪያን በ x86-ተኳሃኝ ፒሲ ላይ ያሂዱ። በ QEMU ውስጥ በምናባዊ ሁነታ በገለልተኛ አካባቢ ውስጥ የኮድ አፈፃፀም አፈፃፀም በሲፒዩ ላይ መመሪያዎችን በቀጥታ በመተግበር እና በ Xen hypervisor ወይም KVM ሞጁል አጠቃቀም ምክንያት ከአገሬው ስርዓት ጋር ቅርብ ነው።

ፕሮጀክቱ በመጀመሪያ የተፈጠረው ለ 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

አስተያየት ያክሉ