Liberigo de la emulilo QEMU 7.2

La liberigo de la projekto QEMU 7.2 estis prezentita. Kiel emulilo, QEMU permesas ruli programon konstruitan por unu aparataro platformo sur sistemo kun tute malsama arkitekturo, ekzemple, ruli ARM-aplikaĵon sur x86-kongrua komputilo. En la virtualiga reĝimo en QEMU, la agado de koda ekzekuto en izolita medio estas proksima al aparatara sistemo pro la rekta plenumo de instrukcioj pri la CPU kaj la uzo de la Xen-hiperviziero aŭ KVM-modulo.

La projekto estis origine kreita fare de Fabrice Bellard por disponigi la kapablon prizorgi Linuksajn ruleblajn kompilojn por la platformo x86 sur ne-x86 arkitekturoj. Tra la jaroj de evoluo, subteno por plena emulado estis aldonita por 14 aparataro-arkitekturoj, la nombro da kopiitaj aparataro superis 400. En la preparado de versio 7.2, pli ol 1800 ŝanĝoj estis faritaj de 205 programistoj.

Ŝlosilaj plibonigoj aldonitaj en QEMU 7.2:

  • La emulilo x86 en la klasika TCG-kodgeneratoro aldonis subtenon por instrukcioj AVX, AVX2, F16C, FMA3 kaj VAES, kaj ankaŭ rendimentooptimumigojn rilate al la uzo de SSE-instrukcioj. Por KVM, subteno estis aldonita por mekanismo por spuri virtualajn maŝinajn elirojn ("informu vmexit"), kiu ebligas al vi preteriri erarojn en la CPU, kiuj povas konduki al blokado.
  • La ARM-emulilo subtenas Cortex-A35 CPU- kaj procesorajn etendaĵojn ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardvara kontrolo de alirflago kaj "malpura" ŝtato) kaj E0PD (malhelpante EL0-aliron al dividitaj adresmapoj).
  • La emulilo de LoongArch aldonas subtenon por fw_cfg DMA, varm-koneksan memoron kaj TPM (Trusted Platform Module) aparato-emulado.
  • La OpenRISC-arkitektura emulilo efektivigas la "virtan" platformon por testado de aparatoj kaj uzi ilin en kontinuaj integrigaj sistemoj. Subteno por multfadena ekzekuto de la klasika kodgeneratoro TCG (Tiny Code Generator) estis efektivigita.
  • La emulilo de la arkitekturo RISC-V en kopiitaj maŝinoj "virt" havas la kapablon ŝargi firmvaron de pflash en S-reĝimo. Plibonigita laboro kun aparatarbo.
  • La 390x emulilo provizas subtenon por MSA5 (Message-Security-Assist Extension 5 kun la PRNO-instrukcio por generi pseŭdo-hazardajn nombrojn), KIMD/KLM-instrukciojn (efektivigo de SHA-512) kaj plilongigitan zPCI-interpreton por gastsistemoj bazitaj sur la KVM-hiperviziero. .
  • Backends por labori kun memoro disponigas antaŭ-asignadon de memoro konsiderante la NUMA-arkitekturon.
  • La kapkontrolo de ĉifritaj blokaj aparatoj de LUKS estis plifortigita, kaj la kapablo krei LUKS-bildojn ĉe macOS estis aldonita.
  • La dorso 9pfs, kiu permesas la uzon de la reto-dosiersistemo Plan 9 por aliri unu virtualan maŝinon al alia, ŝanĝis al uzado de la haŝiŝo GHashTable en la identigilo-tabelo, kiu en iuj situacioj kaŭzis 6-12 fojojn pliiĝon en rendimento.
  • Aldonitaj novaj netdev backends stream kaj dgram.
  • FreeBSD-subteno estis aldonita al la agento por ARM-bazitaj gastoj.
  • GUI-konstruaĵoj por macOS disponigas la kapablon inkludi interfacojn bazitajn sur Kakao kaj SDL/GTK en unu rulebla dosiero.
  • La enkonstruita submodulo "slirp" estis forigita, anstataŭe oni rekomendas uzi la libslirp sistembibliotekon.
  • Pro manko de testadkapablo, subteno por gastigaj sistemoj kun 32-bitaj MIPS-procesoroj uzantaj Big Endian-bajtan ordon estis malrekomendita.

fonto: opennet.ru

Aldoni komenton