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

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

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

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

  • В емулятора на архитектурата x86 е добавена поддръжка на модели на CPU Hygon Dhyana и Intel SnowRidge. Добавена е емуляция на разширението RDRAND (апаратен генератор на псевдослучайни числа). Добавени са фlagове
    md-clear и mds-no за управление на защитата срещу атаки MDS (Microarchitectural Data Sampling) върху процесори Intel. Добавена е възможност за определяне на топологиите на интегралните схеми с флаг „-smp …,dies=“. Реализирано е версиониране за всички модели CPU x86;
  • Блочният драйвер SSH е прехвърлен от използването на libssh2 на libssh;
  • В драйвера 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster