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

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

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

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

  • Поддршката за екстензии на инструкции ARMv8+ е додадена во емулаторот за архитектура ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT и BTI. Додадена е поддршка за емулирање на табли Musca и MPS2. Подобрена емулација на ARM PMU (Power Management Unit). До платформата доблест додаде можност за користење повеќе од 255 GB RAM и поддршка за u-boot слики со тип „noload“;

  • Во емулаторот за архитектура x86 во моторот за забрзување на виртуелизација ХАКС (Intel Hardware Accelerated Execution) додаде поддршка за POSIX-компатибилни хостови како што се Linux и NetBSD (претходно беше поддржана само платформата Дарвин). Во емулаторот за чипсет Q35 (ICH9) за главните PCIe порти, максималната брзина (16GT/s) и бројот на линии за поврзување (x32) дефинирани во спецификацијата PCIe 4.0 сега може опционално да се декларираат (за да се обезбеди компатибилност, 2.5GT е стандардно инсталиран за постари типови QEMU машини /s и x1). Можно е да се вчитаат Xen PVH слики со опцијата „-kernel“;
  • Емулаторот за архитектура MIPS додаде поддршка за емулација со повеќе нишки користејќи го класичниот генератор на кодови TCG (Tiny Code Generator). Додадена е и поддршка за емулација на CPU I7200 (nanoMIPS32 ISA) и I6500 (MIPS64R6 ISA), можност за обработка на барања за тип на процесор со користење на QMP (QEMU Management Protocol), додадена поддршка за SAARI и SAAR конфигурациските регистри. Подобрени перформанси на виртуелни машини со тип Fulong 2E. Ажурирана имплементација на Interthread Communication Unit;
  • Во емулаторот на архитектурата PowerPC, додадена е поддршка за емулирање на XIVE контролер за прекини, поддршката за POWER9 е проширена, а за серијата P е додадена можноста за загревање на PCI-домаќински мостови (PHB, PCI host bridge). Заштитата од напади на Spectre и Meltdown е стандардно овозможена;
  • Поддршката за PCI и USB емулација е додадена во емулаторот за архитектура RISC-V. Вградениот сервер за дебагирање (gdbserver) сега поддржува одредување списоци со регистри во XML-датотеките. Додадена е поддршка за mstatus полињата TSR, TW и TVM;
  • Емулаторот за архитектура s390 додаде поддршка за моделот на процесорот z14 GA 2, како и поддршка за емулирање на екстензии на инструкции за операции со подвижна запирка и вектор. На vfio-ap е додадена можноста за топла приклучок на уреди;
  • Емулаторот за процесори од семејството Tensilica Xtensa ја подобри поддршката за SMP за Linux и додаде поддршка за FLIX (продолжение за инструкции за флексибилна должина);
  • Опцијата „-display spice-app“ е додадена на графичкиот интерфејс за да се конфигурира и стартува верзија на клиентот за далечински пристап Spice со дизајн сличен на интерфејсот QEMU GTK;
  • Додадена е поддршка за контрола на пристап со користење на опциите tls-authz/sasl-authz на имплементацијата на серверот VNC;
  • QMP (QEMU Management Protocol) додаде поддршка за централизирано/надворешно (Out-of-band) извршување команди и имплементирани дополнителни команди за работа со блок уреди;
  • Во VFIO е додадена имплементација на интерфејсот EDID за поддржани mdevs (Intel vGPU), што ви овозможува да ја промените резолуцијата на екранот користејќи ги опциите xres и yres;
  • Додаден е нов уред „xen-disk“ за Xen, кој може самостојно да креира заднина на дискот за Xen PV (без пристап до xenstore). Зголемени се перформансите на Xen PV-диск заднината и додадена е можноста за промена на големината на дискот;
  • Способностите за дијагностика и следење се проширени во мрежните блок уреди, а компатибилноста на клиентот со проблематичните имплементации на серверот NBD е подобрена. Додадени се опциите „--bitmap“, „--list“ и „--tls-authz“ на qemu-nbd;
  • Додадена е поддршка за PCI IDE режим на емулираниот IDE/преку уред;
  • Додадена е поддршка за користење на алгоритмот lzfse за компресија на dmg слики. За форматот qcow2, додадена е поддршка за поврзување на надворешни датотеки со податоци. Операциите за распакување qcow2 се преместуваат во посебна нишка. Додадена е поддршка за операцијата „blockdev-create“ во сликите на vmdk;
  • Уредот за блокови virtio-blk додаде поддршка за операциите DISCARD (информирање за ослободување на блокови) и WRITE_ZEROES (нула опсег на логички блокови);
  • Уредот pvrdma поддржува услуги за RDMA Management Datagram (MAD);
  • Поднесени промени, што ја нарушува компатибилноста наназад. На пример, наместо опцијата „handle“ во „-fsdev“ и „-virtfs“, треба да ги користите опциите „local“ или „proxy“. Опциите „-virtioconsole“ (заменета со „-device virtconsole“), „-no-frame“, „-clock“, „-enable-hax“ (заменето со „-accel hax“) беа отстранети. Отстранет уред „ivshmem“ (треба да користи „ivshmem-doorbell“ и „ivshmem-plain“). Поддршката за градење со SDL1.2 е прекината (треба да користите SDL2).

Извор: opennet.ru

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