Ukukhishwa kwe-emulator ye-QEMU 4.0

Kwakhiwe ukukhululwa kwephrojekthi I-QEMU 4.0. Njenge-emulator, i-QEMU ikuvumela ukuthi uqhube uhlelo oluhlanganiselwe inkundla yehadiwe eyodwa ohlelweni olunezakhiwo ezihluke ngokuphelele, isibonelo, sebenzisa uhlelo lwe-ARM ku-PC ehambisana ne-x86. Kumodi ye-virtualization ku-QEMU, ukusebenza kokwenziwa kwekhodi endaweni engayodwa kuseduze nesistimu yomdabu ngenxa yokusetshenziswa okuqondile kwemiyalo ku-CPU kanye nokusetshenziswa kwe-Xen hypervisor noma imojula ye-KVM.

Iphrojekthi ekuqaleni yadalwa ngu-Fabrice Bellard ukuvumela ukusetshenziswa kwe-Linux eyakhelwe inkundla ye-x86 ukuthi isebenze kuma-architecture angewona ama-x86. Phakathi neminyaka yokuthuthuka, ukwesekwa okugcwele kokulingisa kuye kwanezelwa kuma-architecture we-hardware angu-14, inani lemishini ye-hardware elingisiwe idlule ku-400. Ukulungiselela inguqulo 4.0, izinguquko ezingaphezu kuka-3100 zenziwe kusukela kubathuthukisi abangu-220.

Ukhiye ukuthuthukiswakwengezwe ku-QEMU 4.0:

  • Ukusekelwa kwezandiso zemiyalelo ye-ARMv8+ kungeziwe kusifanisi sezakhiwo ze-ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    I-PAuth, i-JSConv, i-CondM, i-FRINT ne-BTI. Ukwesekwa okwengeziwe kokulingisa amabhodi e-Musca kanye ne-MPS2. Ukulingiswa okuthuthukisiwe kwe-ARM PMU (Iyunithi Yokulawulwa Amandla). Emsamo amandla wanezela ikhono lokusebenzisa ngaphezu kwe-255 GB ye-RAM nokusekelwa kwezithombe ze-u-boot ngohlobo lwe-"noload";

  • Ku-emulator ye-architecture ye-x86 enjini yokusheshisa i-virtualization I-HAX (I-Intel Hardware Accelerated Execution) yengeze usekelo lwabasingathi abathobela i-POSIX njenge-Linux ne-NetBSD (ngaphambilini bekusekelwe inkundla ye-Darwin kuphela). Ku-Q35 chipset emulator (ICH9) yezimbobo ezinkulu ze-PCIe, isivinini esiphezulu (16GT/s) kanye nenani lemigqa yokuxhuma (x32) echazwe ekucacisweni kwe-PCIe 4.0 manje selingamenyezelwa ngokuzikhethela (ukuqinisekisa ukuhambisana, i-2.5GT efakwe ngokuzenzakalelayo ezinhlotsheni ezindala zemishini ye-QEMU /s kanye ne-x1). Kungenzeka ukulayisha izithombe ze-Xen PVH ngenketho ethi "-kernel";
  • Isifanisi se-MIPS sezakhiwo sengeze ukusekelwa kokulingisa okunemicu eminingi kusetshenziswa i-TCG yakudala (i-Tiny Code Generator) ekhiqiza amakhodi. Kungezwe futhi ukusekelwa kokulingisa kwe-CPU I7200 (nanoMIPS32 ISA) kanye ne-I6500 (MIPS64R6 ISA), ikhono lokucubungula izicelo zohlobo lwe-CPU kusetshenziswa i-QMP (QEMU Management Protocol), usekelo olungeziwe lwe-SAARI namarejista okumisa e-SAAR. Ukusebenza okuthuthukisiwe kwemishini ebonakalayo ngohlobo lwe-Fulong 2E. Ukuqaliswa okuthuthukisiwe koPhiko Lwezokuxhumana Lwe-Interthread;
  • Kusilingisi sezakhiwo se-PowerPC, usekelo lokulingisa isilawuli sokuphazamiseka kwe-XIVE sengeziwe, usekelo lwe-POWER9 lunwetshiwe, futhi ochungechungeni lwe-P, ikhono lokuxhuma amabhuloho okusingatha we-PCI (PHB, ibhuloho lokusingatha i-PCI) lengeziwe. Ukuvikelwa ekuhlaselweni kwe-Specter kanye ne-Meltdown kunikwe amandla ngokuzenzakalela;
  • Ukusekela kwe-PCI nokulingisa kwe-USB kungeziwe kusifanisi se-RISC-V sezakhiwo. Iseva yokulungisa iphutha eyakhelwe ngaphakathi (gdbserver) manje isekela ukucacisa izinhlu kumafayela e-XML. Ukwesekwa okwengeziwe kwezinkambu ze-mstatus TSR, TW kanye ne-TVM;
  • Isifanisi se-s390 se-architecture sengeze ukusekelwa kwemodeli ye-z14 GA 2 CPU, kanye nokusekelwa kokulingisa izandiso zemiyalelo yezindawo ezintantayo nokusebenza kwe-vector. Amandla okufaka ama-hot-plug angeziwe ku-vfio-ap;
  • I-emulator yephrosesa yomndeni ye-Tensilica Xtensa ithuthukise ukusekelwa kwe-SMP ye-Linux futhi yengeza ukusekelwa kwe-FLIX (Isandiso semiyalelo yobude obuguquguqukayo);
  • Inketho ye-'-display spice-app' yengezwe kusixhumi esibonakalayo ukuze kumiswe futhi kuqalwe inguqulo yeklayenti lokufinyelela elikude le-Spice elinomklamo ofana nesixhumi esibonakalayo se-QEMU GTK;
  • Ukwesekwa okwengeziwe kokulawula ukufinyelela kusetshenziswa izinketho ze-tls-authz/sasl-authz ekusebenziseni iseva ye-VNC;
  • I-QMP (i-QEMU Management Protocol) yengeze ukusekelwa kokusebenza komyalo okumaphakathi/kwangaphandle (Okungaphandle kwe-band) futhi yasebenzisa imiyalo eyengeziwe yokusebenza ngamadivaysi e-block;
  • Ukuqaliswa kokusetshenziswa kubonwa kwe-EDID kwengezwe ku-VFIO kuma-mdev asekelwayo (Intel vGPUs), okukuvumela ukuthi uguqule ukulungiswa kwesikrini usebenzisa izinketho ze-xres kanye ne-yres;
  • Idivayisi entsha ye-'xen-disk' yengezwe ku-Xen, engadala ngokuzimela i-backend yediski ye-Xen PV (ngaphandle kokufinyelela ku-xenstore). Ukusebenza kwe-backend yediski ye-Xen PV kunyusiwe futhi nekhono lokushintsha usayizi wediski lengeziwe;
  • Amandla okuxilonga nawokulandelela anwetshiwe kumadivayisi wokuvimba inethiwekhi, futhi ukuhambisana kweklayenti nokufakwa kweseva ye-NBD okuyinkinga kuye kwathuthukiswa. Kwengezwe izinketho ze-“--bitmap”, “--list” kanye ne-“--tls-authz” ku-qemu-nbd;
  • Ukwesekwa okwengeziwe kwemodi ye-PCI IDE ku-IDE elingisiwe/ngedivayisi;
  • Kwengezwe usekelo lokusebenzisa i-algorithm ye-lzfse ukucindezela izithombe ze-dmg. Ngefomethi ye-qcow2, ukwesekwa kokuxhuma amafayela edatha yangaphandle kungeziwe. imisebenzi yokukhipha i-qcow2 ihanjiswa emculweni ohlukile. Ukwesekwa okwengeziwe komsebenzi we-"blockdev-create" ezithombeni ze-vmdk;
  • Idivayisi ye-virtio-blk block yengeze usekelo lwe-DISCARD (eyazisa mayelana nokukhishwa kwamabhulokhi) kanye ne-WRITE_ZEROES (evala uhla lwamabhulokhi anengqondo) imisebenzi;
  • Idivayisi ye-pvrdma isekela izinsiza ze-RDMA Management Datagram (MAD);
  • Kuthunyelwe shintsha, ukwephula ukuhambisana emuva. Isibonelo, esikhundleni senketho ethi "isibambo" kokuthi "-fsdev" kanye "-virtfs", kufanele usebenzise izinketho "zasendaweni" noma "ummeleli". Izinketho ezithi “-virtioconsole” (okufakwe esikhundleni sokuthi “-device virtconsole”), “-no-frame”, “-clock”, “-enable-hax” (okufakwe “-accel hax”) zisusiwe. Idivayisi ekhishiwe ethi "ivshmem" (kufanele isebenzise "ivshmem-doorbell" kanye "ivshmem-plain"). Ukusekela ukwakha nge-SDL1.2 kunqanyuliwe (udinga ukusebenzisa i-SDL2).

Source: opennet.ru

Engeza amazwana