A QEMU 7.2 emulátor kiadása

Bemutatják a QEMU 7.2 projekt kiadását. Emulátorként a QEMU lehetővé teszi egy hardverplatformra épített program futtatását egy teljesen más architektúrájú rendszeren, például egy ARM alkalmazás futtatását x86-kompatibilis PC-n. A QEMU virtualizációs módjában az izolált környezetben a kódvégrehajtás teljesítménye közel áll a hardverrendszerhez az utasítások CPU-n történő közvetlen végrehajtása és a Xen hypervisor vagy KVM modul használata miatt.

A projektet eredetileg Fabrice Bellard hozta létre, hogy lehetővé tegye az x86 platformra készült Linux futtatható fájlok futtatását nem x86 architektúrákon. A fejlesztési évek során 14 hardverarchitektúra teljes emulációtámogatásával egészült ki, az emulált hardvereszközök száma meghaladta a 400-at. A 7.2-s verzióra való felkészülés során 1800 fejlesztőtől több mint 205 változtatást hajtottak végre.

A QEMU 7.2 főbb fejlesztései:

  • A klasszikus TCG kódgenerátor x86 emulátora kiegészítette az AVX, AVX2, F16C, FMA3 és VAES utasítások támogatását, valamint az SSE utasítások használatával kapcsolatos teljesítményoptimalizálást. A KVM esetében a virtuális gépek kilépéseinek nyomon követésére szolgáló mechanizmus támogatása („notify vmexit”), amely lehetővé teszi a CPU olyan hibáinak megkerülését, amelyek leálláshoz vezethetnek.
  • Az ARM emulátor támogatja a Cortex-A35 CPU- és processzorbővítményeket: ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (a hozzáférési jelző hardveres vezérlése és a „piszkos” állapot). és E0PD (megakadályozza az EL0 hozzáférést a particionált címtérképekhez).
  • A LoongArch emulátor támogatja az fw_cfg DMA, a hot-plug memória és a TPM (Trusted Platform Module) eszközemulációt.
  • Az OpenRISC architektúra emulátor a „virt” platformot valósítja meg az eszközök tesztelésére és folyamatos integrációs rendszerekben való felhasználására. A klasszikus TCG (Tiny Code Generator) kódgenerátor többszálas végrehajtásának támogatása megtörtént.
  • A „virt” emulált gépekben a RISC-V architektúra emulátora képes a firmware-t betölteni a pflash-ről S-módban. Továbbfejlesztett munka az eszközfával.
  • A 390x emulátor támogatja az MSA5-öt (Message-Security-Assist Extension 5 PRNO utasítással pszeudo-véletlen számok generálásához), KIMD/KLM utasításokat (SHA-512 implementációja) és kiterjesztett zPCI értelmezést a KVM hipervizoron alapuló vendégrendszerekhez. .
  • A memóriával való munkavégzéshez szükséges háttérprogramok a NUMA architektúrát figyelembe véve biztosítják a memória előzetes lefoglalását.
  • A LUKS-titkosított blokkeszközök fejléc-ellenőrzését megerősítették, és hozzáadták a LUKS-képek macOS-en történő létrehozásának lehetőségét.
  • A 9pfs háttérrendszer, amely lehetővé teszi a Plan 9 hálózati fájlrendszerrel az egyik virtuális gép elérését, átváltott a GHashTable hash használatára az azonosító táblában, ami bizonyos helyzetekben 6-12-szeres teljesítménynövekedéshez vezetett.
  • Új netdev háttérfolyam és dgram hozzáadva.
  • A FreeBSD támogatása hozzáadásra került az ARM-alapú vendégek ügynökéhez.
  • A macOS-hez készült grafikus felhasználói felület lehetővé teszi a Cocoa és SDL/GTK alapú interfészek egyetlen végrehajtható fájlba foglalását.
  • A beépített „slirp” almodult eltávolítottuk, helyette javasolt a libslirp rendszerkönyvtár használata.
  • A tesztelési képesség hiánya miatt a Big Endian bájtsorrendet használó 32 bites MIPS processzorokkal rendelkező gazdagépek támogatása megszűnt.

Forrás: opennet.ru

Hozzászólás