Izdavanje QEMU 7.2 emulatora

Predstavljeno je izdanje projekta QEMU 7.2. Kao emulator, QEMU vam omogućava da pokrenete program kompajliran za jednu hardversku platformu na sistemu sa potpuno drugom arhitekturom, na primjer, pokrenete ARM aplikaciju na x86 kompatibilnom PC-u. U režimu virtuelizacije u QEMU, performanse izvršenja koda u izolovanom okruženju su bliske performansama hardverskog sistema zbog direktnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.

Projekat je prvobitno kreirao Fabrice Bellard kako bi se omogućilo izvršavanje Linuxa napravljenih za x86 platformu da rade na arhitekturi koja nije x86. Tokom godina razvoja, dodana je puna podrška za emulaciju za 14 hardverskih arhitektura, broj emuliranih hardverskih uređaja je premašio 400. U pripremi za verziju 7.2, napravljeno je više od 1800 izmjena od 205 programera.

Ključna poboljšanja dodana u 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».

izvor: opennet.ru

Dodajte komentar