QEMU 6.2 emulatora izlaišana

Tiek prezentēts QEMU 6.2 projekta izlaidums. Kā emulators QEMU ļauj palaist programmu, kas paredzēta vienai aparatūras platformai, sistēmā ar pilnīgi citu arhitektūru, piemēram, palaist ARM lietojumprogrammu ar x86 saderīgā datorā. Virtualizācijas režīmā QEMU koda izpildes veiktspēja izolētā vidē ir tuvu aparatūras sistēmai, jo tiek veiktas tiešas instrukcijas CPU un tiek izmantots Xen hipervizors vai KVM modulis.

Projektu sākotnēji izveidoja Fabriss Belards, lai ļautu Linux izpildāmajiem failiem, kas izveidoti x86 platformai, darboties citās arhitektūrās, kas nav x86. Izstrādes gadu laikā pilns emulācijas atbalsts ir pievienots 14 aparatūras arhitektūrām, emulēto aparatūras ierīču skaits pārsniedzis 400. Gatavojoties versijai 6.2, no 2300 izstrādātājiem veiktas vairāk nekā 189 izmaiņas.

Galvenie uzlabojumi, kas pievienoti QEMU 6.2:

  • В механизм virtio-mem, позволяющий выполнять горячее подключение и отключение памяти к виртуальным машинам, добавлена полная поддержка дампов памяти гостевых систем, операций копирования перед и после миграции окружения (pre-copy/post-copy) и создания снапшотов гостевой системы в фоновом режиме.
  • В QMP (QEMU Machine Protocol) реализована обработка ошибок DEVICE_UNPLUG_GUEST_ERROR, возникающих на стороне гостевой системы в случае сбоев при выполнении операций горячего подключения оборудования.
  • Расширен синтаксис загрузочных аргументов, обрабатываемых в плагинах к классическому генератору кода TCG (Tiny Code Generator). В плагин «cache» добавлена поддержка многоядерных систем.
  • В эмуляторе архитектуры x86 реализована поддержка модели CPU Intel Snowridge-v4. Добавлена поддержка доступа к анклавам Intel SGX (Software Guard eXtensions) из гостевых систем, используя устройство /dev/sgx_vepc на стороне хост-системы и бэкенд «memory-backend-epc» в QEMU. Для гостевых систем, защищаемых при помощи технологии AMD SEV (Secure Encrypted Virtualization), добавлена возможность верифицируемого прямого (без использования загрузчика) запуска ядра (включается выставлением параметра ‘kernel-hashes=on’ в ‘sev-guest’).
  • В эмуляторе ARM на хост-системах с чипом Apple Silicon реализована поддержка механизма аппаратного ускорения «hvf» при запуске гостевых систем на базе архитектуры AArch64. Добавлена поддержка эмуляции модели процессоров Fujitsu A64FX. Реализован новый тип эмулируемых машин «kudo-mbc». Для машин ‘virt’ добавлена поддержка эмуляции ITS (Interrupt Translation Service) и возможность использования более 123 CPU в режиме эмуляции. Для эмулируемых машин «xlnx-zcu102» и «xlnx-versal-virt» добавлена поддержка устройств BBRAM и eFUSE. Для систем на базе чипа Cortex-M55 предоставлена поддержка мобильного профиля процессорных расширений MVE.
  • В эмулятор архитектуры PowerPC добавлена начальная поддержка модели CPU POWER10 DD2.0. Для эмулируемых машин «powernv» улучшена поддержка архитектуры POWER10, а для машин ‘pseries’ добавлены описания FORM2 PAPR NUMA.
  • В эмулятор архитектуры RISC-V добавлена поддержка расширений набора инструкций Zb[abcs]. Для всех эмулируемых машин разрешено применение опций «host-user» и «numa mem». Добавлена поддержка SiFive PWM (Pulse-width modulator).
  • В эмуляторе архитектуры 68k улучшена поддержка предложенной компанией Apple шины NuBus, включая возможность загрузки образов ПЗУ и поддержку слотов прерываний.
  • В блочном устройстве qemu-nbd по умолчанию включён режим кэширования операций записи («writeback» вместо «writethrough») для соответствия поведению qemu-img. Добавлена опция «—selinux-label» для выставления меток SELinux Unix-сокетам.

Avots: opennet.ru

Pievieno komentāru