Kutolewa kwa emulator ya QEMU 7.2

Kutolewa kwa mradi wa QEMU 7.2 kunawasilishwa. Kama emulator, QEMU hukuruhusu kuendesha programu iliyojengwa 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 virtualization katika QEMU, utendaji wa utekelezaji wa kanuni katika mazingira ya pekee ni karibu na mfumo wa vifaa kutokana na utekelezaji wa moja kwa moja wa maagizo kwenye CPU na matumizi ya hypervisor ya Xen au moduli ya 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 7.2, zaidi ya mabadiliko 1800 yamefanywa kutoka kwa watengenezaji 205.

Maboresho muhimu yameongezwa katika QEMU 7.2:

  • Kiigaji cha x86 katika jenereta ya msimbo ya kawaida ya TCG imeongeza usaidizi kwa maagizo ya AVX, AVX2, F16C, FMA3 na VAES, pamoja na uboreshaji wa utendaji unaohusiana na matumizi ya maagizo ya SSE. Kwa KVM, usaidizi umeongezwa kwa utaratibu wa kufuatilia njia za kutoka kwa mashine pepe ("arifu vmexit"), ambayo hukuruhusu kukwepa makosa katika CPU ambayo yanaweza kusababisha hangs.
  • Kiigaji cha ARM kinaweza kutumia Cortex-A35 CPU na viendelezi vya kichakataji ETS (Ulandanishi Ulioboreshwa wa Tafsiri), PMUv3p5 (Viendelezi vya PMU 3.5), GTG (Tafsiri ya Mgeni Granule 4KB, 16KB, 64KB), HAFDBS (udhibiti wa maunzi ya bendera ya ufikiaji na hali "chafu") na E0PD (inazuia ufikiaji wa EL0 kwa ramani za anwani zilizogawanywa).
  • Kiigaji cha LoongArch huongeza usaidizi kwa fw_cfg DMA, kumbukumbu ya hot-plug, na uigaji wa kifaa cha TPM (Moduli ya Mfumo Unaoaminika).
  • Kiigaji cha usanifu cha OpenRISC hutekelezea jukwaa la 'virt' la majaribio ya vifaa na kuvitumia katika mifumo endelevu ya ujumuishaji. Usaidizi wa utekelezaji wa nyuzi nyingi wa jenereta ya msimbo ya TCG (Tiny Code Generator) umetekelezwa.
  • Kiigaji cha usanifu wa RISC-V katika mashine zilizoigwa za 'virt' kina uwezo wa kupakia programu dhibiti kutoka kwa pflash katika modi ya S. Kazi iliyoboreshwa na mti wa kifaa.
  • Kiigaji cha 390x hutoa usaidizi kwa MSA5 (Kiendelezi cha 5 cha Msaada wa Usalama-Usalama na maagizo ya PRNO ya kutengeneza nambari bandia), maagizo ya KIMD/KLM (utekelezaji wa SHA-512) na tafsiri iliyopanuliwa ya zPCI kwa mifumo ya wageni kulingana na hypervisor ya KVM. .
  • Nyuma kwa kufanya kazi na kumbukumbu hutoa ugawaji wa awali wa kumbukumbu kwa kuzingatia usanifu wa NUMA.
  • Ukaguzi wa kichwa wa vifaa vya kuzuia LUKS vilivyosimbwa umeimarishwa, na uwezo wa kuunda picha za LUKS kwenye macOS umeongezwa.
  • Mazingira ya nyuma ya 9pfs, ambayo huruhusu matumizi ya mfumo wa faili wa mtandao wa Plan 9 kufikia mashine moja pepe hadi nyingine, ilibadilishwa hadi kutumia heshi ya GHashTable katika jedwali la vitambulishi, ambayo katika hali fulani ilisababisha ongezeko la mara 6-12 la utendakazi.
  • Imeongeza mtiririko mpya wa netdev backends na dgram.
  • Usaidizi wa FreeBSD umeongezwa kwa wakala kwa wageni wanaotegemea ARM.
  • GUI huunda kwa macOS hutoa uwezo wa kujumuisha miingiliano kulingana na Cocoa na SDL/GTK katika faili moja inayoweza kutekelezwa.
  • Submodule iliyojengwa ndani "slirp" imeondolewa, badala yake inashauriwa kutumia maktaba ya mfumo wa libslirp.
  • Kwa sababu ya ukosefu wa uwezo wa kujaribu, uwezo wa kutumia mifumo ya seva pangishi iliyo na vichakataji vya 32-bit MIPS kwa kutumia mpangilio wa Big Endian byte umeacha kutumika.

Chanzo: opennet.ru

Kuongeza maoni