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

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

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

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

  • В класическия генератор на код TCG (Tiny Code Generator) е реализирана поддръжка на плъгини за мониторинг на инструкции на процесора и адреси в паметта;
  • В драйвера за блокови устройства NBD (Network Block Device) е осигурена по-ефективна обработка на заявки за копиране при четене (copy-on-read). Кодът на NBD-сървъра е оптимизиран за копиране на разредени образи (с празни пространства). Направени са общи подобрения в реализирането на клиента и сървъра NBD;
  • Повишена е производителността на криптиране на LUKS-дискове с използване на алгоритъма AES-XTS;
  • В vfio-pci е добавена поддръжка на свойството „failover_pair_id“, за да се улесни миграцията на VFIO устройства;
  • В virtio-mmio е добавена поддръжка на стандарт 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