Предоставен релиз на проекта QEMU 6.2. Като емулатор, QEMU позволява да се стартира програма, компилирана за една хардуерна платформа, на система с напълно различна архитектура, например да изпълнява приложение за ARM на x86-съвместим PC. В режим на виртуализация в QEMU производителността на изпълнение на кода в изолирана среда е близка до хардуерната система благодарение на директното изпълнение на инструкции на CPU и използването на хипервизора Xen или модула KVM.
Първоначално проектът е създаден от Фабрис Беллар (Fabrice Bellard) с цел да предостави възможност за стартиране на компилирани за платформата x86 изпълними файлове на Linux на архитектури, различни от x86. През годините на разработка е добавена поддръжка за пълна емулация на 14 хардуерни архитектури, а броят на емулираните хардуерни устройства надхвърли 400. При подготовката на версия 6.2 са направени над 2300 промени от 189 разработчици.
Ключови подобрения, добавени в 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-сокетите.
Източник: opennet.ru
