A QEMU 4.1 emulátor kiadása

Által benyújtott projekt kiadás QEMU 4.1. 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.1-s verzióra való felkészülés során 2000 fejlesztőtől több mint 276 változtatást hajtottak végre.

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

  • A Hygon Dhyana és az Intel SnowRidge CPU modellek támogatása hozzáadásra került az x86 architektúra emulátorhoz. Hozzáadott az RDRAND kiterjesztés emulációja (hardveres pszeudo-véletlenszám-generátor). Hozzáadott zászlók
    md-clear és mds-no a támadás elleni védelem szabályozására MDS (Microarchitectural Data Sampling) az Intel processzorokon. Hozzáadtuk az integrált áramkörök topológiáinak meghatározását a „-smp ...,dies=” jelzővel. Az összes x86-os CPU-modellhez verziószámítást hajtottak végre;

  • Az SSH-blokk-illesztőprogramot áthelyezték a használatból libssh2 on libsh;
  • A virtio-gpu illesztőprogram (a projekt részeként kifejlesztett virtuális GPU Virgil) hozzáadott támogatás a 2D/3D renderelési műveletek külső vhost-user folyamatba való áthelyezéséhez (például vhost-user-gpu);
  • Az ARM architektúra emulátor támogatja az ARMv8.5-RNG bővítményt pszeudo-véletlen számok generálásához. Az FPU-emuláció támogatása a Cortex-M család chipjeihez került, és a Cortex-R5F FPU-emulációjával kapcsolatos problémák megoldódtak. Javasoltak egy új rendszert az összeépítési opciók beállítására, amelyet Kconfig stílusban terveztek. A SoC Exynos4210 esetében a PL330 DMA vezérlők támogatása hozzáadásra került;
  • A MIPS architektúra emulátor javította az MSA ASE utasítások támogatását a nagy bájtsorrend használatakor, és összehangolta a nulla esetekkel való osztás kezelését a referencia hardverrel. Növelték az MSA utasítások emulációjának teljesítményét egész számok számításokhoz és permutációs műveletekhez;
  • A PowerPC architektúra emulátor mostantól támogatja az NVIDIA V100/NVLink2 GPU-kra való továbbítást VFIO használatával. A pseries esetében a XIVE megszakításvezérlő emuláció felgyorsítása megtörtént, és hozzáadásra került a PCI hidak működés közbeni csatlakoztatásának támogatása. A vektoros utasítások emulációját optimalizálták (Altivec/VSX);
  • Új hardvermodell került a RISC-V architektúra emulátorhoz - „spike”. Támogatás hozzáadva az ISA 1.11.0-hoz. Továbbfejlesztették a 32 bites rendszerhívás ABI-t, továbbfejlesztették az érvénytelen utasítások kezelését, és továbbfejlesztették a beépített hibakeresőt. Hozzáadott támogatás a CPU topológiához az eszközfában;
  • Az s390 architektúra emulátor támogatja a „Vector Facility” csoport összes vektorutasításának emulálását, és további elemeket adott hozzá a gen15 rendszerek támogatásához (beleértve a vfio-ap AP Queue Interruption Facility támogatását is). Megvalósított BIOS-támogatás az ECKD DASD-ről való indításhoz, amely a vendég rendszerhez van kötve vfio-ccw-n keresztül;
  • A sun4m rendszerek SPARC architektúrájú emulátorában az OpenBIOS „-vga none” jelzőjének használatával kapcsolatos problémák megoldódtak;
  • A Tensilica Xtensa család processzoremulátora MPU-t (memóriavédelmi egység) és exkluzív hozzáférést tartalmaz;
  • A „-salvage” opció hozzáadásra került a „qemu-img convert” parancshoz, amellyel letiltható a képátalakítási folyamat összeomlása I/O hibák esetén (például a részben sérült qcow2 fájlok visszaállítására használható). Csapatban
    A „qemu-img rebase” akkor működik, ha a bemeneti fájlhoz még nem jött létre háttérfájl;

  • A "semihosting" technológiával szervezett kimenet átirányításának lehetősége (lehetővé teszi az emulált eszköz számára, hogy stdout, stderr és stdin segítségével hozza létre a fájlokat a gazdagép oldalon) a chardev háttérrendszeréhez ("-semihosting-config enable=on,target=native" ,chardev=[ ID]");
  • A seSparse alformátum támogatása csak olvasható módban a VMDK blokk-illesztőprogramban;
  • Hozzáadott támogatás a SiFive GPIO vezérlőhöz a GPIO emulációs illesztőprogramban.

Forrás: opennet.ru

Hozzászólás