Vrystelling van die QEMU 7.2-emulator

Die vrystelling van die QEMU 7.2-projek is aangebied. As 'n emulator laat QEMU jou toe om 'n program wat saamgestel is vir een hardewareplatform op 'n stelsel met 'n heeltemal ander argitektuur te laat loop, byvoorbeeld om 'n ARM-toepassing op 'n x86-versoenbare rekenaar uit te voer. In virtualisasiemodus in QEMU is die prestasie van kode-uitvoering in 'n geïsoleerde omgewing naby aan dié van 'n hardewarestelsel as gevolg van direkte uitvoering van instruksies op die SVE en die gebruik van die Xen-hypervisor of KVM-module.

Die projek is oorspronklik deur Fabrice Bellard geskep om Linux-uitvoerbare programme wat vir die x86-platform gebou is, op nie-x86-argitekture te laat loop. Oor die jare van ontwikkeling is volledige emulasie-ondersteuning bygevoeg vir 14 hardeware-argitekture, die aantal nagebootste hardeware-toestelle het 400 oorskry. Ter voorbereiding vir weergawe 7.2 is meer as 1800 veranderinge van 205 ontwikkelaars aangebring.

Sleutelverbeterings bygevoeg in 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.
  • В сборках GUI для macOS обеспечена возможность включения в один исполняемый файл интерфейсов на базе Cocoa и SDL/GTK.
  • Удалён встроенный субмодуль «slirp», вместо которого рекомендуется использовать системную библиотеку libslirp.
  • Из-за отсутствия возможности тестирования объявлена устаревшей поддержка хост-систем с 32-разрядными процессорами MIPS, использующих порядком следования байт «Big endian».

Bron: opennet.ru

Voeg 'n opmerking