A QEMU 5.0 emulátor kiadása

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

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

  • A gazdakörnyezet fájlrendszerének egy részének továbbítása a vendégrendszerbe virtiofsd. A vendégrendszer fel tud szerelni egy exportálásra megjelölt könyvtárat a gazdagép oldalára, ami nagymértékben leegyszerűsíti a virtualizációs rendszerek könyvtáraihoz való megosztott hozzáférés megszervezését. A hálózati fájlrendszerek, például az NFS és a virtio-9P használatától eltérően a virtiofs lehetővé teszi a helyi fájlrendszerhez közeli teljesítmény elérését;
  • támogatás adatok élő migrációja külső folyamatokból a QEMU D-Bus segítségével;
  • Használhatóság memória háttérprogramok hogy biztosítsa a vendégrendszer fő RAM-jának működését. A háttérrendszer a „-gép memória-háttér” opcióval van megadva;
  • Új "tömörítés" szűrő, amellyel tömörített képmentéseket lehet készíteni;
  • A "qemu-img intézkedés" parancs most már tud működni a LUKS-képekkel, és a "--target-is-zero" opció hozzáadásra került a "qemu-img convert" parancshoz, hogy kihagyja a célkép nullázását;
  • Kísérleti támogatás hozzáadva a qemu-storage-daemon folyamathoz, hozzáférést biztosítva a QEMU blokk szintjéhez és a QMP parancsokhoz, beleértve a blokkeszközök futtatását és a beépített NBD-kiszolgálót anélkül, hogy teljes virtuális gépet kellene futtatni;
  • Az ARM architektúra emulátor hozzáadta a Cortex-M7 CPU-k emulálásának lehetőségét, és támogatja a tacoma-bmc, Netduino Plus 2 és Orangepi PC-kártyákat. VTPM és virtio-iommu eszközök támogatása hozzáadva a „virt” emulált gépekhez. Az AArch32 gazdagéprendszerek KVM vendégkörnyezetek futtatására való használatának lehetősége elavult. A következő architektúra-szolgáltatások emulációjának támogatása megtörtént:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Grafikus konzol támogatás hozzáadása a HPPA architektúra emulátorhoz a HP Artist grafikus eszköz használatával;
  • A GINVT (Global Invalidation TLB) utasítás támogatása a MIPS architektúra emulátorhoz;
  • A vendégrendszerek futtatásához szükséges KVM hardvergyorsító eszközök emulációja hozzáadásra került a PowerPC architektúra emulátorhoz a „powernv” gépekhez
    KVM klasszikus TCG kódgenerátorral (Tiny Code Generator). Az állandó memória emulálásához hozzáadtuk a fájlban megjelenő NVDIMM-ek támogatását. A „pseries” gépeknél megszűnt az újraindítás szükségessége a XIVE/XICS megszakításvezérlők működésének koordinálásához „ic-mode=dual” módban;

  • A RISC-V architektúra emulátor a „virt” és „sifive_u” kártyákhoz támogatja a szabványos Linux syscon illesztőprogramokat az energiaellátás és az újraindítás kezeléséhez. Goldfish RTC támogatást adtunk a „virt” táblához. Hozzáadott hipervizor-bővítmények kísérleti megvalósítása;
  • AIS (Adapter Interrupt Suppression) támogatással bővült az s390 architektúra emulátor, amikor KVM módban működik.

Forrás: opennet.ru

Hozzászólás