Издаден е емулаторът QEMU 7.2

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

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

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

  • В емулятора на архитектура x86 в класическия кодов генератор TCG е добавена поддръжка за инструкциите AVX, AVX2, F16C, FMA3 и VAES, както и е проведена оптимизация на производителността, свързана с използването на инструкциите SSE. За KVM е добавена поддръжка за механизма за проследяване на изхода от виртуалната машина ("notify vmexit"), позволяващ да се избегнат грешки в CPU, които могат да доведат до зацикляне.
  • В емулятора ARM е реализирана поддръжка за CPU Cortex-A35 и разширения на процесора ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (апаратно управление на флага за достъп и състоянието "dirty") и E0PD (предотвратяване на достъпа на EL0 до разграничени адресни карти).
  • В емулятора LoongArch е добавена поддръжка за fw_cfg DMA, горещо включване на памет и емуляция на устройства TPM (Trusted Platform Module).
  • В емулятора на архитектура OpenRISC е реализирана платформа 'virt' за провеждане на тестове на устройства и използване в системи за непрекъсната интеграция. Реализирана е поддръжка за многопоточно изпълнение на класическия кодов генератор TCG (Tiny Code Generator).
  • В емулятора на архитектура RISC-V в емулираните машини 'virt' е реализирана възможност за зареждане на фърмуер от pflash в S-режим (S-mode). Подобрена е работата с device tree.
  • В емулатора на архитектура 390x е осигурена поддръжка на разширението MSA5 (Message-Security-Assist Extension 5 с инструкция PRNO за генериране на псевдослучайни числа), инструкциите KIMD/KLM (реализация SHA-512) и разширеното интерпретиране на zPCI за гост системи на базата на хипервизор KVM.
  • В бекендовете за работа с паметта е осигурено предварително разпределение на паметта, съобразно архитектурата NUMA.
  • Укрепена е проверката на заглавията на криптирани блокови устройства LUKS, добавена е възможността за създаване на образи LUKS в macOS.
  • В бекенда 9pfs, който позволява използването на мрежовата файлова система Plan 9 за достъп на една виртуална машина до друга, е извършен преход към използването на хеша GHashTable в таблицата с идентификатори, което в някои случаи доведе до повишаване на производителността от 6 до 12 пъти.
  • Добавени са нови netdev-бекендове stream и dgram.
  • В агента за гост системи на базата на архитектура ARM е добавена поддръжка за FreeBSD.
  • В пакетите с графичен интерфейс за macOS е осигурена възможност за включване в един изпълним файл на интерфейси на базата на Cocoa и SDL/GTK.
  • Премахнат е вграденият субмодул «slirp», вместо който се препоръчва да се използва системната библиотека libslirp.
  • Поради липса на възможност за тестване е обявена за остаряла поддръжката на хост системи с 32-битови процесори MIPS, използващи реда на байтовете «Big endian».

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

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