Ukukhutshwa kwe-emulator ye-QEMU 4.1

Yaziswa ukukhutshwa kweprojekthi QEMU 4.1. Njengomlinganiso, i-QEMU ikuvumela ukuba uqhube inkqubo ehlanganiswe kwiqonga le-hardware enye kwinkqubo enolwakhiwo olwahluke ngokupheleleyo, umzekelo, sebenzisa isicelo se-ARM kwi-PC ehambelana ne-x86. Kwimowudi ye-virtualization kwi-QEMU, ukusebenza kokusetyenziswa kwekhowudi kwindawo engayodwa kusondele kwinkqubo yendalo ngenxa yokwenziwa ngokuthe ngqo kwemiyalelo kwi-CPU kunye nokusetyenziswa kwe-Xen hypervisor okanye imodyuli ye-KVM.

Iprojekthi yaqala yadalwa nguFabrice Bellard ukunika amandla okuqhuba ukuphunyezwa kweLinux edityaniselwe iqonga le-x86 kuyilo lwe-non-x86. Kwiminyaka yophuhliso, inkxaso yokulinganisa ngokupheleleyo yongezwa kwi-architectures ye-hardware ye-14, inani lezixhobo ze-hardware ezifanisiweyo zadlula i-400. Ekulungiseleleni inguqulo ye-4.1, iinguqu ezingaphezu kwe-2000 zenziwe kubaphuhlisi be-276.

Isitshixo ukuphuculaifakwe kwi-QEMU 4.1:

  • Inkxaso yeemodeli ze-Hygon Dhyana kunye ne-Intel SnowRidge CPU yongezwe kwi-emulator yoyilo lwe-x86. Ukulinganisa okongeziweyo kolwandiso lwe-RDRAND (i-hardware pseudo-random number generator). Iiflegi zongeziwe
    md-clear kunye ne-mds-hayi ukulawula ukhuseleko lokuhlasela MDS (ISampulu yeDatha yeMicroarchitectural) kwiiprosesa ze-Intel. Kongezwe ukukwazi ukumisela ii-topology zesekethe ezidityanisiweyo kusetyenziswa i-“-smp ...,dies=” iflegi. Uguqulelo luphunyeziwe kuzo zonke iimodeli ze-x86 CPU;

  • Umqhubi webhloko we-SSH ususiwe ekusebenziseni libssh2 phezu libsh;
  • Umqhubi we-virtio-gpu (i-GPU ebonakalayo iphuhliswe njengenxalenye yeprojekthi Virgil) inkxaso eyongeziweyo yokuhambisa i-2D/3D yokunikezelwa kwemisebenzi kwinkqubo yangaphandle ye-vhost-umsebenzisi (umzekelo, i-vhost-user-gpu);
  • I-emulator yoyilo lwe-ARM yongeze inkxaso yolwandiso lwe-ARMv8.5-RNG lokuvelisa amanani angama-pseudo-random. Inkxaso yokulinganisa iFPU iye yaphunyezwa kwiitshiphusi zosapho zeCortex-M kwaye iingxaki ngokulinganisa iFPU yeCortex-R5F ziye zasonjululwa. Indlela entsha yokucwangcisa iinketho zokwakha, eyilwe kwisimbo se Kconfig, sele icetyisiwe. Kwi-SoC Exynos4210, inkxaso ye-PL330 abalawuli be-DMA yongezwe;
  • I-emulator ye-architecture ye-MIPS iye yaphucula inkxaso ye-MSA ASE imiyalelo xa usebenzisa i-big-endian byte oda kwaye ilungelelanise ukuphathwa kolwahlulo ngamatyala angama-zero kunye ne-hardware yereferensi. Ukwenziwa kokulinganisa kwemiyalelo ye-MSA yokubala okupheleleyo kunye nokusebenza kwe-permutation kwandisiwe;
  • I-emulator ye-architecture ye-PowerPC ngoku ixhasa ukuthunyelwa kwi-NVIDIA V100/NVLink2 GPUs isebenzisa i-VFIO. Kwi-pseries, ukukhawuleziswa kwe-XIVE yokuphazamisa ukulinganisa isilawuli kuye kwaphunyezwa kunye nenkxaso yokufakwa okushushu kweebhulorho ze-PCI yongeziwe. Uphuculo lwenziwe ekwenziweni kwemiyalelo ye-vector (Altivec/VSX);
  • Imodeli entsha ye-hardware yongezwe kwi-emulator ye-architecture ye-RISC-V - "spike". Inkxaso eyongeziweyo ye-ISA 1.11.0. Inkqubo ye-32-bit yefowuni ye-ABI iphuculwe, ukuphathwa kwemiyalelo engasebenziyo kuye kwaphuculwa, kwaye i-debugger eyakhelwe-ngaphakathi iphuculwe. Inkxaso eyongeziweyo ye-CPU topology kumthi wesixhobo;
  • I-emulator ye-architecture ye-s390 yongeze inkxaso yokulinganisa yonke imiyalelo ye-vector yeqela le-"Vector Facility" kwaye yongeza izinto ezongezelelweyo zokuxhasa iinkqubo ze-gen15 (kubandakanywa nenkxaso eyongezelelweyo ye-AP Queue Interruption Facility ye-vfio-ap). Iphunyeziwe inkxaso ye-BIOS yokuqalisa ukusuka kwi-ECKD DASD ebotshelelwe kwinkqubo yeendwendwe nge-vfio-ccw;
  • Kwi-emulator ye-architecture ye-SPRC yeenkqubo ze-sun4m, iingxaki ngokusebenzisa i-"-vga none" iflegi ye-OpenBIOS zisonjululwe;
  • I-emulator yeprosesa yentsapho ye-Tensilica Xtensa iquka iinketho zeMPU (iyunithi yokukhusela imemori) kunye nokufikelela okukodwa;
  • Inketho ethi "-salvage" yongezwe kumyalelo othi "qemu-img convert" ukukhubaza ukuphazamiseka kwenkqubo yokuguqulwa komfanekiso kwimeko yeempazamo ze-I / O (umzekelo, ingasetyenziselwa ukubuyisela iifayile ze-qcow2 ezonakalisiweyo). Kwiqela
    I-“qemu-img rebase” isebenza xa ifayile exhasayo ingekadalelwa ifayile yegalelo;

  • Ukongezwa amandla okuhambisa imveliso elungelelanisiweyo kusetyenziswa itekhnoloji ye "semihosting" (ivumela isixhobo esilinganisiweyo ukuba sisebenzise istdout, stderr kunye nestdin ukwenza iifayile kwicala lenginginya) kwi-chardev backend ("-semihosting-config enable=on,target=native). ,chardev=[ ID]");
  • Inkxaso eyongeziweyo ye-subformat ye-seSparse kwimodi yokufunda kuphela kwi-VMDK umqhubi webhloko;
  • Inkxaso eyongeziweyo yesilawuli se-SiFive GPIO kumqhubi wokulinganisa we-GPIO.

umthombo: opennet.ru

Yongeza izimvo