QEMU 4.1 ემულატორის გამოშვება

Გააცნო პროექტის გამოშვება QEMU 4.1. როგორც ემულატორი, QEMU საშუალებას გაძლევთ გაუშვათ პროგრამა, რომელიც შედგენილია ერთი აპარატურის პლატფორმისთვის სრულიად განსხვავებული არქიტექტურის სისტემაზე, მაგალითად, გაუშვათ ARM აპლიკაცია x86-თან თავსებად კომპიუტერზე. QEMU-ში ვირტუალიზაციის რეჟიმში, კოდის შესრულების შესრულება იზოლირებულ გარემოში ახლოსაა მშობლიურ სისტემასთან, CPU-ზე ინსტრუქციების პირდაპირი შესრულებისა და Xen ჰიპერვიზორის ან KVM მოდულის გამოყენების გამო.

პროექტი თავდაპირველად შეიქმნა Fabrice Bellard-ის მიერ, რათა დაუშვას x86 პლატფორმისთვის აშენებული Linux შესრულებადი, რომ იმუშაოს არა 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 on ლიბშ;
  • В драйвер 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

ახალი კომენტარის დამატება