Kutolewa kwa emulator ya QEMU 4.1

Iliyowasilishwa na kutolewa kwa mradi QEMU 4.1. Kama emulator, QEMU hukuruhusu kuendesha programu iliyokusanywa kwa jukwaa moja la vifaa kwenye mfumo ulio na usanifu tofauti kabisa, kwa mfano, endesha programu ya ARM kwenye PC inayolingana na x86. Katika hali ya uboreshaji katika QEMU, utendakazi wa utekelezaji wa msimbo katika mazingira ya pekee uko karibu na mfumo asilia kutokana na utekelezaji wa moja kwa moja wa maagizo kwenye CPU na matumizi ya moduli ya Xen hypervisor au KVM.

Mradi huo uliundwa awali na Fabrice Bellard ili kuruhusu utekelezaji wa Linux uliojengwa kwa jukwaa la x86 kuendeshwa kwa usanifu usio wa x86. Kwa miaka mingi ya maendeleo, usaidizi kamili wa kuiga umeongezwa kwa usanifu wa vifaa 14, idadi ya vifaa vya kuigwa imezidi 400. Katika maandalizi ya toleo la 4.1, zaidi ya mabadiliko 2000 yamefanywa kutoka kwa watengenezaji 276.

Ufunguo maboreshoimeongezwa katika QEMU 4.1:

  • Usaidizi wa miundo ya CPU ya Hygon Dhyana na Intel SnowRidge umeongezwa kwenye kiigaji cha usanifu cha x86. Uigaji ulioongezwa wa kiendelezi cha RDRAND (jenereta ya nambari isiyo ya kawaida ya maunzi). Bendera zilizoongezwa
    md-clear na mds-no ili kudhibiti ulinzi wa mashambulizi MDS (Sampuli ya Data ya Usanifu Midogo) kwenye vichakataji vya Intel. Imeongeza uwezo wa kubainisha topolojia za mzunguko jumuishi kwa kutumia bendera ya β€œ-smp ...,dies=”. Uchapishaji umetekelezwa kwa mifano yote ya x86 CPU;

  • Kiendesha block cha SSH kimehamishwa kutoka kwa kutumia libsh2 juu ya libsh;
  • Kiendeshaji cha virtio-gpu (GPU halisi ilitengenezwa kama sehemu ya mradi Virgil) aliongeza usaidizi wa kuhamisha shughuli za utoaji wa 2D/3D kwa mchakato wa nje wa mtumiaji wa vhost (kwa mfano, vhost-user-gpu);
  • Kiigaji cha usanifu cha ARM kimeongeza usaidizi kwa kiendelezi cha ARMv8.5-RNG kwa ajili ya kutoa nambari bandia za nasibu. Usaidizi wa uigaji wa FPU umetekelezwa kwa chipsi za familia za Cortex-M na matatizo ya uigaji wa FPU kwa Cortex-R5F yametatuliwa. Mfumo mpya wa kuweka chaguzi za ujenzi, iliyoundwa kwa mtindo wa Kconfig, umependekezwa. Kwa SoC Exynos4210, usaidizi wa vidhibiti vya PL330 DMA umeongezwa;
  • Kiigaji cha usanifu cha MIPS kimeboresha utumiaji wa maagizo ya MSA ASE wakati wa kutumia mpangilio wa baiti kubwa na kuoanisha utunzaji wa mgawanyiko kwa kesi sifuri kwa maunzi ya marejeleo. Utendaji wa uigaji wa maagizo ya MSA kwa hesabu kamili na uendeshaji wa vibali umeongezwa;
  • Kiigaji cha usanifu cha PowerPC sasa kinaauni usambazaji kwa NVIDIA V100/NVLink2 GPU kwa kutumia VFIO. Kwa pseries, uharakishaji wa uigaji wa kidhibiti cha kukatiza cha XIVE umetekelezwa na usaidizi wa uchomaji moto wa madaraja ya PCI umeongezwa. Uboreshaji umefanywa kwa uigaji wa maagizo ya vekta (Altivec/VSX);
  • Mfano mpya wa vifaa umeongezwa kwa emulator ya usanifu ya RISC-V - "spike". Usaidizi ulioongezwa kwa ISA 1.11.0. Simu ya mfumo wa 32-bit ABI imeboreshwa, utunzaji wa maagizo usio sahihi umeimarishwa, na kitatuzi kilichojengewa ndani kimeboreshwa. Msaada ulioongezwa kwa topolojia ya CPU kwenye mti wa kifaa;
  • Kiigaji cha usanifu cha s390 kimeongeza usaidizi wa kuiga maagizo yote ya vekta ya kikundi cha "Vector Facility" na kuongeza vipengele vya ziada ili kusaidia mifumo ya gen15 (ikiwa ni pamoja na usaidizi ulioongezwa wa Kituo cha Kukatiza Foleni ya AP kwa vfio-ap). Usaidizi wa BIOS uliotekelezwa kwa uanzishaji kutoka kwa ECKD DASD inayofungamana na mfumo wa wageni kupitia vfio-ccw;
  • Katika emulator ya usanifu ya SPARC ya mifumo ya sun4m, matatizo ya kutumia bendera ya "-vga none" ya OpenBIOS yametatuliwa;
  • Kiigaji cha kichakataji cha familia cha Tensilica Xtensa kinajumuisha chaguo za MPU (kitengo cha ulinzi wa kumbukumbu) na ufikiaji wa kipekee;
  • Chaguo la "-salvage" limeongezwa kwa amri ya "qemu-img convert" ili kuzima kuacha mchakato wa ubadilishaji wa picha ikiwa kuna hitilafu za I/O (kwa mfano, inaweza kutumika kurejesha faili za qcow2 zilizoharibika kiasi). Katika timu
    "qemu-img rebase" hufanya kazi wakati faili inayounga mkono bado haijaundwa kwa faili ya ingizo;

  • Imeongeza uwezo wa kuelekeza upya matokeo yaliyopangwa kwa kutumia teknolojia ya "semihosting" (huruhusu kifaa kilichoigwa kutumia stdout, stderr na stdin kuunda faili kwenye upande wa seva pangishi) kwenye mazingira ya nyuma ya chardev ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • Usaidizi ulioongezwa kwa muundo mdogo wa seSparse katika hali ya kusoma tu katika kiendeshi cha kuzuia VMDK;
  • Usaidizi ulioongezwa kwa kidhibiti cha SiFive GPIO katika kiendeshi cha kuiga cha GPIO.

Chanzo: opennet.ru

Kuongeza maoni