Vydanie emulátora QEMU 7.2

Predstavuje sa vydanie projektu QEMU 7.2. Ako emulátor vám QEMU umožňuje spustiť program vytvorený pre jednu hardvérovú platformu na systéme s úplne odlišnou architektúrou, napríklad spustiť aplikáciu ARM na počítači kompatibilnom s x86. V režime virtualizácie v QEMU je výkon vykonávania kódu v izolovanom prostredí blízky hardvérovému systému vďaka priamemu vykonávaniu inštrukcií na CPU a použitiu Xen hypervízora alebo KVM modulu.

Projekt pôvodne vytvoril Fabrice Bellard, aby umožnil spustiteľným súborom Linuxu vytvoreným pre platformu x86 bežať na architektúrach iných ako x86. V priebehu rokov vývoja pribudla plná podpora emulácie pre 14 hardvérových architektúr, počet emulovaných hardvérových zariadení prekročil 400. V rámci príprav na verziu 7.2 bolo vykonaných viac ako 1800 zmien od 205 vývojárov.

Kľúčové vylepšenia pridané v QEMU 7.2:

  • Emulátor x86 v klasickom generátore kódu TCG pridal podporu pre inštrukcie AVX, AVX2, F16C, FMA3 a VAES, ako aj optimalizácie výkonu súvisiace s používaním pokynov SSE. Pre KVM bola pridaná podpora pre mechanizmus sledovania ukončenia virtuálneho počítača („notify vmexit“), ktorý vám umožňuje obísť chyby v CPU, ktoré môžu viesť k zamrznutiu.
  • Emulátor ARM podporuje Cortex-A35 CPU a procesorové rozšírenia ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardvérové ​​ovládanie príznaku prístupu a „špinavého“ stavu) a E0PD (zabránenie prístupu EL0 k rozdeleným adresovým mapám).
  • Emulátor LoongArch pridáva podporu pre fw_cfg DMA, hot-plug pamäť a emuláciu zariadenia TPM (Trusted Platform Module).
  • Emulátor architektúry OpenRISC implementuje platformu „virt“ na testovanie zariadení a ich použitie v systémoch kontinuálnej integrácie. Bola implementovaná podpora pre viacvláknové vykonávanie klasického generátora kódu TCG (Tiny Code Generator).
  • Emulátor architektúry RISC-V v emulovaných strojoch „virt“ má schopnosť načítať firmvér z pflash v režime S. Vylepšená práca so stromom zariadení.
  • Emulátor 390x poskytuje podporu pre MSA5 (Message-Security-Assist Extension 5 s inštrukciou PRNO na generovanie pseudonáhodných čísel), inštrukcie KIMD/KLM (implementácia SHA-512) a rozšírenú interpretáciu zPCI pre hosťovské systémy založené na hypervízore KVM. .
  • Backendy pre prácu s pamäťou poskytujú predbežnú alokáciu pamäte s prihliadnutím na architektúru NUMA.
  • Bola posilnená kontrola hlavičiek zariadení so šifrovaným blokom LUKS a bola pridaná možnosť vytvárať obrázky LUKS na macOS.
  • Backend 9pfs, ktorý umožňuje použitie sieťového súborového systému Plan 9 na prístup k jednému virtuálnemu stroju k druhému, prešiel na používanie hashu GHashTable v tabuľke identifikátorov, čo v niektorých situáciách viedlo k 6-12-násobnému zvýšeniu výkonu.
  • Pridaný nový stream backendov netdev a dgram.
  • Do agenta bola pridaná podpora FreeBSD pre hostí na báze ARM.
  • Zostavy GUI pre macOS poskytujú možnosť zahrnúť rozhrania založené na Cocoa a SDL/GTK do jedného spustiteľného súboru.
  • Vstavaný submodul „slirp“ bol odstránený, namiesto neho sa odporúča použiť systémovú knižnicu libslirp.
  • Z dôvodu nedostatku testovacích schopností bola podpora pre hostiteľské systémy s 32-bitovými procesormi MIPS využívajúcimi poradie bajtov Big Endian zastaraná.

Zdroj: opennet.ru

Pridať komentár