Ukukhutshwa kwe-emulator ye-QEMU 4.0

Yakhiwe ukukhutshwa kweprojekthi QEMU 4.0. 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.0, iinguqu ezingaphezu kwe-3100 zenziwe kubaphuhlisi be-220.

Isitshixo ukuphuculaifakwe kwi-QEMU 4.0:

  • Inkxaso yolwandiso lwemiyalelo ye-ARMv8+ yongezwe kwi-emulator yokwakha ye-ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT kunye ne-BTI. Inkxaso eyongeziweyo yokulinganisa iibhodi zeMusca kunye neMPS2. Uphuculo lwe-ARM PMU (iYunithi yoLawulo lwaMandla). Eqongeni amandla yongeza amandla okusebenzisa ngaphezu kwe-255 GB ye-RAM kunye nenkxaso yemifanekiso ye-u-boot kunye nohlobo lwe "noload";

  • Kwi-emulator ye-x86 ye-architecture kwi-injini yokukhawulezisa i-virtualization I-HAX (I-Intel Hardware Accelerated Execution) yongeze inkxaso yeenginginya ezithobelayo zePOSIX ezifana neLinux kunye neNetBSD (ngaphambili yayiliqonga laseDarwin kuphela elalixhaswa). Kwi-Q35 chipset emulator (ICH9) kwii-ports eziphambili ze-PCIe, isantya esiphezulu (16GT / s) kunye nenani lemigca yoqhagamshelo (x32) echazwe kwinkcazo ye-PCIe 4.0 ngoku ingabhengezwa ngokuzikhethela (ukuqinisekisa ukuhambelana, i-2.5GT i ifakwe ngokungagqibekanga kwiindidi ezindala zoomatshini be-QEMU kunye no-x1). Kuyenzeka ukuba ulayishe imifanekiso ye-Xen ye-PVH ngokhetho "-kernel";
  • I-emulator ye-architecture ye-MIPS yongeze inkxaso yokulinganisa imisonto emininzi usebenzisa i-TCG yakudala (i-Tiny Code Generator) ikhowudi yejenereyitha. Kwakhona ukongeza inkxaso yokulinganisa i-CPU I7200 (nanoMIPS32 ISA) kunye ne-I6500 (MIPS64R6 ISA), ukukwazi ukucubungula izicelo zohlobo lwe-CPU usebenzisa i-QMP (i-QEMU Management Protocol), inkxaso eyongeziweyo ye-SAARI kunye neerejista zokucwangcisa i-SAAR. Ukusebenza okuphuculweyo koomatshini benyani kunye nohlobo lwe-Fulong 2E. Ukuphunyezwa okuhlaziyiweyo kweYunithi yoNxibelelwano lwe-Interthread;
  • Kwi-emulator ye-architecture ye-PowerPC, inkxaso yokulinganisa isilawuli sokuphazamiseka kwe-XIVE yongezwe, inkxaso ye-POWER9 yandisiwe, kunye nochungechunge lwe-P, ukukwazi ukutshisa iplagi ye-PCI iibhulorho ze-host (PHB, i-PCI host bridge) yongezwe. Ukukhuselwa ngokuchasene nokuhlaselwa kweSpecter kunye ne-Meltdown kwenziwe ngokungagqibekanga;
  • Inkxaso ye-PCI kunye ne-USB emulation yongezwe kwi-RISC-V ye-architecture emulator. Iseva eyakhelwe-ngaphakathi yokulungisa iimpazamo (gdbserver) ngoku ixhasa uluhlu lwerejista olukhankanyiweyo kwiifayile zeXML. Inkxaso eyongeziweyo kwiinkalo ze-mstatus TSR, TW kunye ne-TVM;
  • I-emulator ye-architecture ye-s390 yongeze inkxaso yemodeli ye-z14 GA 2 CPU, kunye nenkxaso yokulinganisa izandiso zemiyalelo yeendawo ezidadayo kunye nokusebenza kwevektha. Ikhono lokusebenzisa izixhobo ezitshisayo zongezwa kwi-vfio-ap;
  • I-emulator yeprosesa yentsapho ye-Tensilica Xtensa iye yaphucula inkxaso ye-SMP ye-Linux kunye nenkxaso eyongeziweyo ye-FLIX (i-Flexible ubude bemiyalelo yokwandisa);
  • Ukhetho lwe-'-bonisa i-spice-app' yongezwe kujongano lomzobo ukuqwalasela nokwazisa uguqulelo lofikelelo olukude lweSpice ngoyilo olufana nojongano lweQEMU GTK;
  • Inkxaso eyongeziweyo yolawulo lofikelelo usebenzisa iinketho ze-tls-authz/sasl-authz kuphunyezo lomncedisi weVNC;
  • I-QMP (iProtocol yoLawulo lwe-QEMU) yongeze inkxaso kwi-centralized / yangaphandle (Out-of-band) ukuphunyezwa komyalelo kunye nokuphumeza imiyalelo eyongezelelweyo yokusebenza kunye nezixhobo zebhloko;
  • Ukuphunyezwa kwe-interface ye-EDID yongezwe kwi-VFIO kwi-mdevs exhaswayo (Intel vGPUs), ekuvumela ukuba utshintshe isisombululo sesikrini usebenzisa iinketho ze-xres kunye neeyres;
  • Isixhobo esitsha se-'xen-disk' sifakwe kwi-Xen, esinokwenza ngokuzimeleyo i-backend yediski ye-Xen PV (ngaphandle kokufikelela kwi-xenstore). Ukusebenza kwe-backend yediski ye-Xen PV kuye kwandiswa kwaye amandla okutshintsha ubungakanani bediski yongezwe;
  • Ukuxilongwa kunye nezakhono zokulandelela ziye zandiswa kwizixhobo zebhloko yenethiwekhi, kwaye ukuhambelana nomxhasi kunye nokuphunyezwa kweseva ye-NBD eyingxaki kuye kwaphuculwa. Ezongeziweyo “--bitmap”, “--list” kunye “--tls-authz” iinketho kwiqemu-nbd;
  • Inkxaso eyongeziweyo yemodi ye-PCI ye-IDE kwi-IDE efanisiweyo/ngesixhobo;
  • Inkxaso eyongeziweyo yokusebenzisa i-algorithm ye-lzfse ukucinezela imifanekiso ye-dmg. Kwifomathi ye-qcow2, inkxaso yokudibanisa iifayile zedatha yangaphandle yongeziwe. qcow2 imisebenzi yokukhulula ihanjiswa kumsonto owahlukileyo. Inkxaso eyongeziweyo yokusebenza kwe "blockdev-create" kwimifanekiso ye-vmdk;
  • Isixhobo sebhloko se-virtio-blk songeze inkxaso ye-DISCARD (ukwazisa malunga nokukhutshwa kweebhloko) kunye ne-WRITE_ZEROES (i-zeroing uluhlu lweebhloko ezinengqiqo) imisebenzi;
  • Isixhobo se-pvrdma sixhasa iinkonzo zeDathagram yoLawulo lwe-RDMA (MAD);
  • Ithunyelwe utshintsho, ukwaphula ukuhambelana komva. Umzekelo, endaweni yokhetho luka-"handle" ku-"-fsdev" kunye no-"-virtfs", kufuneka usebenzise u-"local" okanye "proxy" ongakhetha. Okukhethwa kukho "-virtioconsole" (kufakwe endaweni ye-"-device virtconsole"), "-akukho-frame", "-clock", "-enable-hax" (kufakwe endaweni ye-"-accel hax"). Isixhobo esisusiweyo "ivshmem" (kufuneka sisebenzise "ivshmem-doorbell" kunye ne "ivshmem-plain"). Inkxaso yokwakha nge-SDL1.2 iyekisiwe (kufuneka usebenzise iSDL2).

umthombo: opennet.ru

Yongeza izimvo