ការចេញផ្សាយកម្មវិធីត្រាប់តាម QEMU 4.1

ណែនាំ ការចេញផ្សាយគម្រោង QEMU 4.1. ក្នុងនាមជាកម្មវិធីត្រាប់តាម QEMU អនុញ្ញាតឱ្យអ្នកដំណើរការកម្មវិធីដែលបានចងក្រងសម្រាប់វេទិកាផ្នែករឹងមួយនៅលើប្រព័ន្ធដែលមានស្ថាបត្យកម្មខុសគ្នាទាំងស្រុង ឧទាហរណ៍ ដំណើរការកម្មវិធី ARM នៅលើកុំព្យូទ័រដែលឆបគ្នា x86 ។ នៅក្នុងរបៀបនិម្មិតនៅក្នុង 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, развиваемый в рамках проекта Virgil) добавлена поддержка выноса операций отрисовки 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

បន្ថែមមតិយោបល់