Lëshimi i emulatorit QEMU 4.0

Formuar publikimi i projektit QEMU 4.0. Si emulator, QEMU ju lejon të ekzekutoni një program të përpiluar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër sistemit vendas për shkak të ekzekutimit të drejtpërdrejtë të udhëzimeve në CPU dhe përdorimit të hipervizorit Xen ose modulit KVM.

Projekti u krijua fillimisht nga Fabrice Bellard për të lejuar ekzekutuesit Linux të ndërtuar për platformën x86 të ekzekutohen në arkitektura jo-x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë emulimi për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka kaluar 400. Në përgatitje për versionin 4.0, u bënë më shumë se 3100 ndryshime nga 220 zhvillues.

Celës përmirësimeshtuar në QEMU 4.0:

  • Mbështetja për shtesat e udhëzimeve ARMv8+ është shtuar në emulatorin e arkitekturës ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT dhe BTI. Mbështetje e shtuar për imitimin e bordeve Musca dhe MPS2. Emulimi i përmirësuar i ARM PMU (Njësia e Menaxhimit të Energjisë). Tek platforma virtu shtoi aftësinë për të përdorur më shumë se 255 GB RAM dhe mbështetje për imazhet u-boot me llojin "noload";

  • Në emulatorin e arkitekturës x86 në motorin e përshpejtimit të virtualizimit HAX (Intel Hardware Accelerated Execution) shtoi mbështetje për hostet në përputhje me POSIX si Linux dhe NetBSD (më parë mbështetej vetëm platforma Darwin). Në emulatorin e çipave Q35 (ICH9) për portat kryesore PCIe, shpejtësia maksimale (16GT/s) dhe numri i linjave të lidhjes (x32) të përcaktuara në specifikimin PCIe 4.0 tani mund të deklarohen opsionalisht (për të siguruar përputhshmërinë, 2.5GT është instaluar si parazgjedhje për llojet më të vjetra të makinave QEMU /s dhe x1). Është e mundur të ngarkohen imazhet Xen PVH me opsionin "-kernel";
  • Emulatori i arkitekturës MIPS ka shtuar mbështetje për emulimin me shumë fije duke përdorur gjeneratorin klasik të kodit TCG (Tiny Code Generator). U shtua gjithashtu mbështetje për emulimin e CPU I7200 (nanoMIPS32 ISA) dhe I6500 (MIPS64R6 ISA), aftësia për të përpunuar kërkesat e tipit CPU duke përdorur QMP (QEMU Management Protocol), shtoi mbështetje për regjistrat e konfigurimit SAARI dhe SAAR. Performanca e përmirësuar e makinave virtuale me tipin Fulong 2E. Implementimi i përditësuar i Njësisë së Komunikimit Interthread;
  • Në emulatorin e arkitekturës PowerPC, është shtuar mbështetja për emulimin e kontrolluesit të ndërprerjes XIVE, është zgjeruar mbështetja për POWER9 dhe për serinë P, është shtuar aftësia për të ndezur urat pritës PCI (PHB, PCI host bridge). Mbrojtja kundër sulmeve Spectre dhe Meltdown është aktivizuar si parazgjedhje;
  • Mbështetja për emulimin PCI dhe USB është shtuar në emulatorin e arkitekturës RISC-V. Serveri i integruar i korrigjimit (gdbserver) tani mbështet specifikimin e listave të regjistrave në skedarët XML. Mbështetje e shtuar për fushat mstatus TSR, TW dhe TVM;
  • Emulatori i arkitekturës s390 ka shtuar mbështetje për modelin z14 GA 2 CPU, si dhe mbështetje për emulimin e shtesave të udhëzimeve për operacionet me pika lundruese dhe vektoriale. Vfio-ap i është shtuar aftësia për të lidhur pajisjet me prizë;
  • Emulatori i procesorit të familjes Tensilica Xtensa ka përmirësuar mbështetjen e SMP për Linux dhe ka shtuar mbështetjen për FLIX (Zgjatja e udhëzimeve me gjatësi fleksibël);
  • Opsioni '-display spice-app' është shtuar në ndërfaqen grafike për të konfiguruar dhe nisur një version të klientit të aksesit në distancë të Spice me një dizajn të ngjashëm me ndërfaqen QEMU GTK;
  • Mbështetje e shtuar për kontrollin e aksesit duke përdorur opsionet tls-authz/sasl-authz në implementimin e serverit VNC;
  • QMP (QEMU Management Protocol) shtoi mbështetje për ekzekutimin e komandës së centralizuar/të jashtme (jashtë brezit) dhe zbatoi komanda shtesë për të punuar me pajisjet e bllokut;
  • Një implementim i ndërfaqes EDID është shtuar në VFIO për mdev-të e mbështetur (Intel vGPU), duke ju lejuar të ndryshoni rezolucionin e ekranit duke përdorur opsionet xres dhe yres;
  • Një pajisje e re 'xen-disk' është shtuar për Xen, e cila mund të krijojë në mënyrë të pavarur një backend të diskut për Xen PV (pa akses në xenstore). Është rritur performanca e bazës së diskut Xen PV dhe është shtuar aftësia për të ndryshuar madhësinë e diskut;
  • Aftësitë e diagnostikimit dhe gjurmimit janë zgjeruar në pajisjet e bllokut të rrjetit dhe është përmirësuar përputhshmëria e klientit me implementimet problematike të serverit NBD. U shtuan opsionet "--bitmap", "--list" dhe "--tls-authz" në qemu-nbd;
  • Mbështetje e shtuar për modalitetin PCI IDE në pajisjen e emuluar IDE/nëpërmjet;
  • Mbështetje e shtuar për përdorimin e algoritmit lzfse për të kompresuar imazhet dmg. Për formatin qcow2, është shtuar mbështetje për lidhjen e skedarëve të të dhënave të jashtme. Operacionet e shpaketimit qcow2 zhvendosen në një fill të veçantë. Mbështetje e shtuar për operacionin "blockdev-create" në imazhet vmdk;
  • Pajisja e bllokut virtio-blk ka shtuar mbështetje për operacionet DISCARD (duke informuar për lëshimin e blloqeve) dhe WRITE_ZEROES (zero një varg blloqesh logjike);
  • Pajisja pvrdma mbështet shërbimet RDMA Management Datagram (MAD);
  • dorëzuar Ndryshimet, duke shkelur përputhshmërinë e prapambetur. Për shembull, në vend të opsionit "handle" në "-fsdev" dhe "-virtfs", duhet të përdorni opsionet "local" ose "proxy". Opsionet "-virtioconsol" (zëvendësuar me "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (zëvendësuar me "-accel hax") u hoqën. Pajisja "ivshmem" e hequr (duhet të përdorë "ivshmem-doorbell" dhe "ivshmem-plain"). Mbështetja për ndërtimin me SDL1.2 është ndërprerë (duhet të përdorni SDL2).

Burimi: opennet.ru

Shto një koment