انتشار شبیه ساز 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 بر لیبش;
  • В драйвер 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

اضافه کردن نظر