Je představeno vydání projektu QEMU 6.2. Jako emulátor vám QEMU umožňuje spouštět program vytvořený pro jednu hardwarovou platformu na systému se zcela odlišnou architekturou, například spouštět aplikaci ARM na počítači kompatibilním s x86. V režimu virtualizace v QEMU se výkon provádění kódu v izolovaném prostředí blíží hardwarovému systému díky přímému provádění instrukcí na CPU a použití hypervizoru Xen nebo KVM modulu.
Projekt původně vytvořil Fabrice Bellard, aby umožnil spustitelné soubory Linuxu vytvořené pro platformu x86 na architekturách jiných než x86. V průběhu let vývoje byla přidána plná podpora emulace pro 14 hardwarových architektur, počet emulovaných hardwarových zařízení přesáhl 400. V rámci přípravy na verzi 6.2 bylo provedeno více než 2300 změn od 189 vývojářů.
Klíčová vylepšení přidaná v 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-сокетам.
Zdroj: opennet.ru