Објавување на емулаторот QEMU 7.2

Презентирано е објавувањето на проектот QEMU 7.2. Како емулатор, QEMU ви овозможува да извршите програма составена за една хардверска платформа на систем со сосема поинаква архитектура, на пример, да извршите апликација ARM на компјутер компатибилен со x86. Во режимот на виртуелизација во QEMU, извршувањето на кодот во изолирана средина е блиску до онаа на хардверскиот систем поради директно извршување на инструкциите на процесорот и употребата на хипервизорот Xen или модулот KVM.

Проектот првично беше создаден од Фабрис Белард за да обезбеди можност за извршување на извршни датотеки на Linux компајлирани за платформата x86 на архитектури кои не се x86. Со текот на годините на развој, поддршката за целосна емулација беше додадена за 14 хардверски архитектури, бројот на емулирани хардверски уреди надмина 400. При подготовката на верзијата 7.2, беа направени повеќе од 1800 промени од 205 програмери.

Клучни подобрувања додадени на QEMU 7.2:

  • Емулаторот x86 во класичниот генератор на кодови TCG додаде поддршка за инструкциите AVX, AVX2, F16C, FMA3 и VAES, како и оптимизации за перформанси поврзани со употребата на инструкции за SSE. За KVM, додадена е поддршка за механизам за следење на излезите на виртуелната машина („notify vmexit“), кој ви овозможува да ги заобиколите грешките во процесорот што може да доведат до виси.
  • Емулаторот ARM поддржува Cortex-A35 процесорски и процесорски екстензии ETS (Подобрена синхронизација на преводот), PMUv3p5 (PMU екстензии 3.5), GTG (Гранула за превод за гости 4KB, 16KB, 64KB), HAFDBS (хардверска контрола на пристапот) и E0PD (спречување EL0 пристап до партиционирани адресни мапи).
  • Емулаторот LoongArch додава поддршка за fw_cfg DMA, меморија со топла приклучок и емулација на уред TPM (Модул на доверлива платформа).
  • Емулаторот за архитектура OpenRISC ја имплементира платформата 'virt' за тестирање на уреди и нивна употреба во системи за континуирана интеграција. Имплементирана е поддршка за извршување со повеќе нишки на класичниот генератор на кодови TCG (Tiny Code Generator).
  • Емулаторот на архитектурата RISC-V во емулирани машини 'virt' има можност да вчита фирмвер од pflash во S-режим. Подобрена работа со дрво на уреди.
  • Емулаторот 390x обезбедува поддршка за MSA5 (Порака-безбедност-помош наставка 5 со PRNO инструкција за генерирање псевдо-случајни броеви), KIMD/KLM инструкции (имплементација на SHA-512) и проширена zPCI интерпретација за гостински системи базирани на хипервисот KVM .
  • Заднините за работа со меморија обезбедуваат претходно распределба на меморијата земајќи ја предвид архитектурата NUMA.
  • Проверката на заглавието на шифрирани блок уреди на LUKS е зајакната, а додадена е и можноста за креирање слики LUKS на macOS.
  • Заднината 9pfs, која овозможува користење на мрежниот датотечен систем Plan 9 за пристап до една виртуелна машина до друга, се префрли на користење на хашот GHashTable во табелата со идентификатори, што во некои ситуации доведе до зголемување на перформансите за 6-12 пати.
  • Додадени се нов поток и dgram на задни нетдев.
  • Поддршката за FreeBSD е додадена на агентот за гости базирани на ARM.
  • Изградбите на GUI за macOS обезбедуваат можност да се вклучат интерфејси базирани на какао и SDL/GTK во една извршна датотека.
  • Вградениот подмодул „slirp“ е отстранет, наместо тоа се препорачува да се користи системската библиотека на libslirp.
  • Поради недостаток на способност за тестирање, поддршката за домаќински системи со 32-битни MIPS процесори кои користат голем редослед на бајти на Ендиан е застарена.

Извор: opennet.ru

Додадете коментар