Itusilẹ ti QEMU 7.2 emulator

Itusilẹ ti iṣẹ akanṣe QEMU 7.2 ti gbekalẹ. Gẹgẹbi emulator, QEMU ngbanilaaye lati ṣiṣe eto ti a ṣe fun iru ẹrọ ohun elo kan lori eto pẹlu faaji ti o yatọ patapata, fun apẹẹrẹ, ṣiṣe ohun elo ARM kan lori PC ibaramu x86 kan. Ni ipo agbara agbara ni QEMU, iṣẹ ṣiṣe ti koodu ipaniyan ni agbegbe ti o ya sọtọ jẹ isunmọ si eto ohun elo kan nitori ipaniyan taara ti awọn ilana lori Sipiyu ati lilo Xen hypervisor tabi module KVM.

Ise agbese na ni akọkọ ṣẹda nipasẹ Fabrice Bellard lati gba awọn iṣẹ ṣiṣe Linux ti a ṣe fun pẹpẹ x86 lati ṣiṣẹ lori awọn faaji ti kii ṣe x86. Ni awọn ọdun ti idagbasoke, atilẹyin imulation ni kikun ti ni afikun fun awọn ile-iṣẹ ohun elo 14, nọmba awọn ohun elo ohun elo ti o ti kọja 400. Ni igbaradi fun ẹya 7.2, diẹ sii ju awọn ayipada 1800 ti ṣe lati awọn olupilẹṣẹ 205.

Awọn ilọsiwaju bọtini ti a ṣafikun ni 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».

orisun: opennet.ru

Fi ọrọìwòye kun