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.
A projektet eredetileg Fabrice Bellard hozta létre azzal a céllal, hogy lehetővé tegye az x86 platformra összegyűjtött Linux végrehajtható fájlok futtatását más architektúrákon. A fejlesztés évek alatt a teljes emuláció támogatása 14 hardverarchitektúra számára és több mint 400 emulált hardvereszköz támogatása került hozzáadásra. Az 5.1-es verzió előkészítése során több mint 2500 változtatás történt 235 fejlesztőtől.
Kulcsok , a QEMU 5.1-hez hozzáadva:
- Hozzáadva az architektúrára épülő CPU emuláció támogatása, . Implementálva lett az Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
Arduino Mega (ATmega1280) és Arduino UNO (ATmega328P) támogatása. - Az ARM architektúrájú emulátorhoz hozzáadva a memória forró különválasztásának (hot-unplug) lehetősége, valamint az nvdimm memória forró csatlakoztatása az ACPI-vel rendelkező vendég rendszerekhez. Támogatva lett az ARMv8.2 és . Támogatva lett a sonorapass-bmc lap.
- A MIPS architektúrájú emulátorhoz hozzáadva a Loongson 3A CPU-k (R1 és R4) támogatása. Növelve lett az FPU és MSA utasítások emulációs teljesítménye.
- A RISC-V architektúrájú emulátorhoz hozzáadva a SiFive E34 és Ibex CPU támogatása. Támogatva lett a HiFive1 revB és OpenTitan lapok támogatása. A Spike gépek számára támogatva lett a több CPU.
- A PowerPC architektúrájú emulátorban megjelent a hibahelyreállítás támogatása vendég rendszerekben FWNMI segítségével.
- Az s390 architektúrához hozzáadva a KVM támogatás a védett virtualizációhoz (biztonsági végrehajtási mód).
- A x86 architektúrájú emulátorban csökkentették a költségeket nem adaptált Windows vendég rendszerek virtualizálásához az ACPI WAET (Windows ACPI Emulated Device Table) emulált eszközök táblázatának biztosításával. Fejlesztették a gyorsítás támogatását a macOS-hoz.
- A blokk eszközmeghajtóban hozzáadva a virtuális tárolóeszközök támogatása 2MB méretű logikai és fizikai blokkokkal.
- Hozzáadva a jelszavak és titkosításhoz szükséges kulcsok QEMU-n keresztüli továbbításának lehetősége a Linux kernel keyring-jén keresztül az új típusú "secret-keyring" objektumok segítségével.
- A qcow2 formátumhoz hozzáadva a zstd tömörítési algoritmus támogatása.
- A qemu-img segédprogramhoz új ‘bitmap’ parancs került hozzáadásra a qcow2 fájlokban található állandó bitmapok manipulálására. A qemu-img-ben megvalósították a LUKS kulcsok (keyslot) kezelését, és további funkciók állnak rendelkezésre a „map” (—start-offset, —max-length) és „convert” (—bitmaps) parancsokhoz, a „measure” parancsban pedig hozzáadták a qcow2 fájlokban található állandó bitmapok méretére vonatkozó információk megjelenítését.
- Az NVMe meghajtóban megjelent a tartós memória (Persistent Memory Region) támogatása, amely az NVMe 1.4 specifikációban található.
- A virtio a klasszikus kódgenerátorral rendelkező vendégrendszerek esetén, a TCG (Tiny Code Generator) lehetőséget biztosít a folyamatok használatára. , beleértve a virtiofsd-t is. A vhost-user-hez hozzáadták a VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS kiterjesztést, amely lehetővé teszi több mint 8 memóriahely regisztrálását.
Forrás: opennet.ru
