A QEMU 4.2 emulátor kiadása

Által benyújtott projekt kiadás QEMU 4.2. Emulátorként a QEMU lehetővé teszi egy hardverplatformra fordított 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 a kódvégrehajtás teljesítménye egy elszigetelt környezetben közel áll a natív rendszerhez 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 4.2-s verzióra való felkészülés során 2200 fejlesztőtől több mint 198 változtatást hajtottak végre.

Kulcs fejlesztésekhozzáadva a QEMU 4.2-ban:

  • A klasszikus TCG (Tiny Code Generator) kódgenerátor támogatja a processzor utasításainak és memóriacímeinek figyelésére szolgáló bővítményeket;
  • A blokk eszközillesztőben NBD (Network Block Device) a másolási-olvasási kérések hatékonyabb feldolgozását biztosítja. Az NBD szerver kódja ritka (üres) képek másolására van optimalizálva. Általános fejlesztések történtek az NBD kliens és szerver megvalósításában;
  • A LUKS lemeztitkosítás jobb teljesítménye az AES-XTS algoritmus használatával;
  • A vfio-pci hozzáadta a "failover_pair_id" tulajdonság támogatását a VFIO-eszközök áttelepítésének egyszerűsítése érdekében;
  • A virtio-mmio támogatja a virtio-kompatibilis 2 szabványt és a virtio 1.1 specifikációban meghatározott csomagolt virtuális sor mechanizmust (virtuális sor) adatcseréhez egy virtuális I/O eszközzel kötegelt módban;
  • Az x86 emulátorhoz egy új típusú emulált gép, a "microvm" került, amely PCI helyett virtio-mmio-t használ a teljesítmény optimalizálása érdekében. Megvalósította a VMX engedélyezésének és letiltásának lehetőségét a „-cpu” jelzők használatával. Támogatás hozzáadva az AVX512 BFloat16 bővítmények emulálásához. Támogatás biztosított az új Denverton (Atom alapú szerver SoC), Snowridge és Dhyana CPU modellekhez. A macOS Hypervisor Framework ("-accel hvf") stabilizált támogatása;
  • Az ARM architektúra emulátor támogatja az Aspeed AST2600 SoC („ast2600-evb”) emulációját. Hozzáadott támogatás a Semihosting 2.0 technológiához STDOUT_STDERR/EXIT_EXTENDED kiterjesztéssel, amely lehetővé teszi az emulált eszköz számára, hogy stdout, stderr és stdin használatával hozzon létre fájlokat a gazdagép oldalon. A KVM hozzáadta a több mint 256 CPU használatának lehetőségét, és támogatja az SVE SIMD utasításokat. "" típusú virtuális gépekbenerény» a memória üzem közbeni csatlakoztatásának támogatása megvalósult. Továbbfejlesztett emulációs teljesítmény a TCG kódgenerátor segítségével.
  • A PowerPC architektúra emulátor immár képes emulálni az mffsce, mffscrn és mffscrni POWER9 utasításokat. Az emulált "powernv" gépek támogatják a Homer és az OCC SRAM rendszereszközöket;
  • A RISC-V architektúra emulátorban hozzáadásra került az „-initrd” opció, és lehetőség nyílik az architektúra teljes állapotának megtekintésére a hibakeresőben;
  • Az s390 architektúra emulátor támogatja az IEP (Instruction Execution Protection) utasításokat;
  • A 68k architektúra emulátor kezdeti képességekkel bővítette a Macintosh Quadro 800 és a klasszikus NeXTcube rendszereket;
  • Az xtensa architektúra emulátor egy új típusú emulált gépi „virt”-t adott hozzá, és támogatja az ABI call0-t a felhasználói tér emulációhoz.

Forrás: opennet.ru

Hozzászólás