QEMU 7.2 эмуляторының шығарылымы

QEMU 7.2 жобасының шығарылымы ұсынылды. Эмулятор ретінде QEMU бір аппараттық платформа үшін құрастырылған бағдарламаны мүлде басқа архитектурасы бар жүйеде іске қосуға мүмкіндік береді, мысалы, x86 үйлесімді компьютерде ARM қолданбасын іске қосыңыз. QEMU-де виртуализация режимінде оқшауланған ортада кодты орындау өнімділігі орталық процессордағы нұсқауларды тікелей орындау және Xen гипервизорын немесе KVM модулін пайдалану есебінен аппараттық жүйенің өнімділігіне жақын.

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

Ақпарат көзі: opennet.ru

пікір қалдыру