Издание на QEMU 4.2

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

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

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

  • В класическия генератор на код TCG (Tiny Code Generator) е реализирана поддръжка на плъгини за наблюдение на CPU инструкции и адреси в паметта;
  • В драйвера на блокови устройства NBD (Network Block Device) е осигурена по-ефективна обработка на искания за копиране при четене (copy-on-read). Кодът на NBD сървъра е оптимизиран за копиране на разредени образи (с празни места). Направени са общи подобрения в реализацията на клиента и сървъра на NBD;
  • Повишена е производителността на криптиране на LUKS дискове, използващи алгоритъма AES-XTS;
  • В vfio-pci е добавена поддръжка на свойството «failover_pair_id» за опростяване на миграцията на устройства VFIO;
  • В virtio-mmio е добавена поддръжка на стандартa virtio-compatible 2 и определен в спецификацията virtio 1.1 механизъм за опаковани виртуални опашки (virtqueue) за обмен на данни с виртуално устройство за вход/изход в пакетен режим;
  • В емулатора на архитектурата x86 е добавен нов тип емулирани машини «microvm», използващи virtio-mmio вместо PCI за оптимизация на производителността. Реализирана е възможност за включване и изключване на VMX чрез флаговете «-cpu». Добавена е поддръжка на емулция на разширения AVX512 BFloat16. Осигурена е поддръжка на нови модели CPU Denverton (сървърен SoC на базата на Atom), Snowridge и Dhyana. Стабилизирана е поддръжката на macOS Hypervisor Framework («-accel hvf»);
  • В емулатора на архитектурата ARM е добавена поддръжка на емулиране на SoC Aspeed AST2600 («ast2600-evb»). Добавена е поддръжка на технологията Semihosting 2.0 с разширения STDOUT_STDERR/EXIT_EXTENDED, която позволява на емулираното устройство да използва stdout, stderr и stdin за създаване на файлове на хоста. В KVM е добавена възможност за използване на повече от 256 CPU и е осигурена поддръжка на SIMD инструкции SVE. В виртуалните машини с тип «virt» е реализирана поддръжка на горещо свързване на памет. Увеличена е производителността на емулация с използване на генератора на код TCG.
  • В емулатора на архитектурата PowerPC се появи възможност за емулиране на инструкции POWER9: mffsce, mffscrn и mffscrni. В емулираните машини "powernv" е добавена поддръжка на системните устройства Homer и OCC SRAM;
  • В емулатора на архитектурата RISC-V е добавена опция "-initrd" и възможност за преглед на целия статус на архитектурата в отладчика;
  • В емулатора на архитектурата s390 е реализирана поддръжка на инструкции IEP (Instruction Execution Protection);
  • В емулатора на архитектурата 68k е добавена първоначална възможност за емулиране на Macintosh Quadro 800 и класическите системи NeXTcube;
  • В емулатора на архитектурата xtensa е добавен нов тип емулативни машини "virt" и е реализирана поддръжка на ABI call0 за емулиране в потребителското пространство.

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

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