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 kutoa uwezo wa kuendesha utekelezaji uliokusanywa kwa ajili ya mfumo wa x86. Linux kwenye usanifu majengo mbali na x86. Katika miaka ya uundaji, usaidizi wa uigaji kamili uliongezwa kwa usanifu wa vifaa 14, na idadi ya vifaa vya vifaa vilivyoigwa ilizidi 400. Katika kuandaa toleo la 7.2, zaidi ya mabadiliko 1800 kutoka kwa wasanidi programu 205 yalifanywa.
Maboresho muhimu yameongezwa katika QEMU 7.2:
- Kiigaji usanifu cha x86 katika jenereta ya msimbo ya TCG ya kawaida kimeongeza usaidizi kwa maagizo ya AVX, AVX2, F16C, FMA3, na VAES, pamoja na uboreshaji wa utendaji unaohusiana na matumizi ya maagizo ya SSE. KVM Imeongeza usaidizi kwa utaratibu wa kufuatilia matokeo ya mashine pepe ("arifu vmexit"), ambayo hukuruhusu kukwepa hitilafu za CPU ambazo zinaweza kusababisha kukwama.
- 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.
- Uthibitishaji ulioimarishwa wa vichwa vya habari vya kifaa cha kuzuia kilichosimbwa kwa LUKS, uliongeza uwezo wa kuunda picha za LUKS katika macOS.
- 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.
- Katika mikusanyiko ya GUI kwa macOS Uwezo wa kujumuisha violesura kulingana na Cocoa na SDL/GTK katika faili moja inayoweza kutekelezwa umetolewa.
- 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
