Lansarea emulatorului QEMU 7.2

A fost prezentată lansarea proiectului QEMU 7.2. Ca emulator, QEMU vă permite să rulați un program compilat pentru o platformă hardware pe un sistem cu o arhitectură complet diferită, de exemplu, să rulați o aplicație ARM pe un PC compatibil x86. În modul de virtualizare în QEMU, performanța execuției codului într-un mediu izolat este apropiată de cea a unui sistem hardware datorită execuției directe a instrucțiunilor pe CPU și utilizării hypervisorului Xen sau a modulului KVM.

Proiectul a fost creat inițial de Fabrice Bellard pentru a oferi capacitatea de a rula executabile Linux compilate pentru platforma x86 pe arhitecturi non-x86. De-a lungul anilor de dezvoltare, a fost adăugat suport pentru emulare completă pentru 14 arhitecturi hardware, numărul de dispozitive hardware emulate a depășit 400. În pregătirea versiunii 7.2, au fost făcute peste 1800 de modificări de la 205 de dezvoltatori.

Îmbunătățiri cheie adăugate la 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».

Sursa: opennet.ru

Adauga un comentariu