Издаване на емулатора QEMU 4.1

Изпратено от издание на проекта QEMU 4.1. Като емулатор QEMU ви позволява да стартирате програма, компилирана за една хардуерна платформа на система с напълно различна архитектура, например да стартирате ARM приложение на x86-съвместим компютър. В режим на виртуализация в QEMU производителността на изпълнение на код в изолирана среда е близка до естествената система поради директното изпълнение на инструкции на процесора и използването на Xen хипервайзор или KVM модул.

Проектът първоначално е създаден от Fabrice Bellard, за да позволи изпълнимите файлове на Linux, създадени за платформата x86, да работят на различни от x86 архитектури. През годините на разработка е добавена пълна поддръжка за емулация за 14 хардуерни архитектури, броят на емулираните хардуерни устройства е надхвърлил 400. В подготовката за версия 4.1 са направени повече от 2000 промени от 276 разработчици.

Ключ подобрениядобавено в QEMU 4.1:

  • Поддръжката на Hygon Dhyana и Intel SnowRidge CPU модели е добавена към емулатора на x86 архитектура. Добавена е емулация на разширението RDRAND (хардуерен генератор на псевдослучайни числа). Добавени знамена
    md-clear и mds-no за контрол на защитата от атаки MDS (Микроархитектурно вземане на проби от данни) на процесори на Intel. Добавена е възможност за определяне на топологии на интегрални схеми с помощта на флага „-smp ...,dies=“. Версионирането е внедрено за всички x86 CPU модели;

  • Блоковият 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 е добавена поддръжка за PL330 DMA контролери;
  • Емулаторът на архитектурата на MIPS е подобрил поддръжката на инструкциите на MSA ASE при използване на реда на байтовете с голям край и е съгласувал обработката на случаите на деление на нула с референтния хардуер. Повишена е производителността на емулация на инструкции на MSA за целочислени изчисления и операции за пермутация;
  • Емулаторът на PowerPC архитектурата вече поддържа пренасочване към графични процесори NVIDIA V100/NVLink2 с помощта на VFIO. За сериите е внедрено ускоряване на емулацията на контролера за прекъсване на XIVE и е добавена поддръжка за горещо включване на PCI мостове. Направени са оптимизации за емулация на векторни инструкции (Altivec/VSX);
  • Нов хардуерен модел е добавен към емулатора на архитектурата RISC-V - “spike”. Добавена е поддръжка за ISA 1.11.0. 32-битовият ABI за системно повикване е подобрен, обработката на невалидни инструкции е подобрена и вграденият дебъгер е подобрен. Добавена е поддръжка за CPU топология в дървото на устройствата;
  • Емулаторът на архитектурата s390 добави поддръжка за емулиране на всички векторни инструкции от групата „Vector Facility“ и добави допълнителни елементи за поддръжка на системи gen15 (включително добавена поддръжка за AP Queue Interruption Facility за vfio-ap). Реализирана поддръжка на BIOS за зареждане от ECKD DASD, свързан към системата за гости чрез vfio-ccw;
  • В емулатора на архитектурата SPARC за системи sun4m проблемите с използването на флага „-vga none“ за OpenBIOS са разрешени;
  • Семейният процесорен емулатор Tensilica Xtensa включва опции за MPU (блок за защита на паметта) и изключителен достъп;
  • Опцията „-salvage“ е добавена към командата „qemu-img convert“ за деактивиране на срива на процеса на преобразуване на изображения в случай на I/O грешки (например може да се използва за възстановяване на частично повредени qcow2 файлове). В отбор
    „qemu-img rebase“ работи, когато все още не е създаден архивен файл за входния файл;

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

Източник: opennet.ru

Добавяне на нов коментар