a projekt kiadását . A QEMU emulátorként lehetővé teszi, hogy az egy adott hardverplatformra készült programokat teljesen eltérő architektúrájú rendszeren futtassuk, például ARM alkalmazásokat x86 kompatibilis PC-n. A QEMU virtualizációs módjában a kód végrehajtásának teljesítménye az elszigetelt környezetben közel áll a natív rendszerhez, mivel közvetlenül a CPU utasításait hajtja végre, és a Xen hypervisort vagy a KVM modult használja.
Eredetileg a projektet Fabrice Bellard indította azzal a céllal, hogy lehetővé tegye az x86 platformra készült Linux végrehajtható fájlok futtatását más architektúrákon. A fejlesztés során az elmúlt években 14 hardver architektúra teljes emulációjának támogatása került hozzáadásra, és az emulált hardver eszközök száma meghaladta a 400-at. A 4.1-es verzió előkészítésekor több mint 2000 módosítást végeztek el 276 fejlesztő.
Kulcsok , amelyek hozzá lettek adva a QEMU 4.1-hez:
- Az x86 architektúrájú emulátorhoz hozzáadták a Hygon Dhyana és az Intel SnowRidge CPU modellek támogatását. Hozzáadták az RDRAND kiterjesztés emulációját (hardveres véletlenszám-generátor). Hozzáadták a
md-clear és mds-no zászlókat az Intel processzorok támadásokkal szembeni védelmének kezeléséhez (Microarchitectural Data Sampling). Lehetővé vált az integrált áramkörök topológiáinak meghatározása az "-smp …,dies=" zászlóval. Verziókezelés került bevezetésre minden x86 CPU modellhez; Az SSH blokkdriver átváltott a - libssh használatára. Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata ;
- Virgil projekt keretein belül fejlődik) támogatást kapott a 2D/3D rajzolási műveletek kimeneti folyamatba történő átvitelére vhost-user (például vhost-user-gpu) segítségével; A MIPS architektúrájú emulátorban javították a MSA ASE utasítások támogatását a big-endian byte sorrend használatával, és az osztás nullával eseteit az etalon hardverhez igazították. Növelték az MSA utasítások emulációs teljesítményét az egész számú számítások és helyettesítő műveletek esetén;
- A PowerPC architektúrájú emulátorban megjelent a NVIDIA V100/NVLink2 GPU-ra való közvetítés támogatása VFIO segítségével. A pseries számára megvalósították az XIVE megszakításvezérlő emulációjának gyorsítását, és hozzáadták a PCI hidak forró csatlakoztatásának támogatását. Optimalizálásokat hajtottak végre a vektorizált utasítások (Altivec/VSX) emulációjában.
- A MIPS architektúrájú emulátorban javították a MSA ASE utasítások támogatását a big-endian byte sorrend használatával, és az osztás nullával eseteit az etalon hardverhez igazították. Növelték az MSA utasítások emulációs teljesítményét a számításműveletek és helyettesítő műveletek során;
- A PowerPC architektúrájú emulátorban megjelent a NVIDIA V100/NVLink2 GPU-ra való közvetítés támogatása VFIO segítségével. A pseries számára megvalósították az XIVE megszakításvezérlő emulációjának gyorsítását, és hozzáadták a PCI hidak forró csatlakoztatásának támogatását. Optimalizálásokat hajtottak végre a vektorizált utasítások (Altivec/VSX) emulációjában.
- A RISC-V architecture emulator has added a new hardware model - 'spike'. Support for ISA 1.11.0 has been added. The 32-bit ABI for system calls has been improved, invalid instruction handling has been extended, and the built-in debugger has been enhanced. The support for CPU topology in the device tree has been added;
- The s390 architecture emulator now supports emulation of all vector instructions of the 'Vector Facility' group and additional elements for supporting gen15 systems (including support for AP Queue Interruption Facility for vfio-ap). BIOS support has been implemented for booting from ECKD DASD attached to the guest system via vfio-ccw;
- In the SPARC architecture emulator for sun4m systems, issues with using the '-vga none' flag for OpenBIOS have been resolved;
- Options for MPU (memory protection unit) and exclusive access have been implemented in the Tensilica Xtensa family processor emulator;
- A ‘–salvage’ option for the ‘qemu-img convert’ command has been added to disable emergency termination of the image conversion process in case of I/O errors (for example, it can be used to recover partially corrupted qcow2 files). In the command;
‘qemu-img rebase’ now works when no backing file has been created yet for the input file; - The ability to redirect output organized using ‘semihosting’ technology (allowing the emulated device to use stdout, stderr, and stdin to create files on the host side) to the chardev backend (‘-semihosting-config enable=on,target=native,chardev=[ID]’) has been added;
- The VMDK block driver has added support for the seSparse subformat in read-only mode;
- The GPIO emulation driver has added support for the SiFive GPIO controller.
Forrás: opennet.ru
