A QEMU 4.0 emulátor kiadása

Alakított projekt kiadás QEMU 4.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 4.0-s verzióra való felkészülés során 3100 fejlesztőtől több mint 220 változtatást hajtottak végre.

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

  • Az ARM architektúra emulátor az ARMv8+ utasításkiterjesztések támogatásával bővült: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT és BTI. Hozzáadott támogatás a Musca és MPS2 kártyák emulálásához. Továbbfejlesztett ARM PMU (Power Management Unit) emuláció. A peronra erény hozzáadta a több mint 255 GB RAM használatának lehetőségét és a „noload” típusú u-boot képek támogatását;

  • Az x86 architektúra emulátorban a virtualizációs gyorsító motorban HAX (Intel Hardware Accelerated Execution) támogatja a POSIX-kompatibilis gépeket, mint például a Linux és a NetBSD (korábban csak a Darwin platform volt támogatott). A Q35 lapkakészlet emulátorban (ICH9) a fő PCIe portokhoz immár opcionálisan deklarálható a PCIe 16 specifikációban meghatározott maximális sebesség (32 GT/s) és a csatlakozási vonalak száma (x4.0) (a kompatibilitás biztosítása érdekében a 2.5 GT alapértelmezés szerint telepítve van a régebbi típusú QEMU gépekhez /s és x1). Lehetőség van Xen PVH képek betöltésére a „-kernel” opcióval;
  • A MIPS architektúra emulátor támogatja a többszálú emulációt a klasszikus TCG (Tiny Code Generator) kódgenerátor használatával. A CPU I7200 (nanoMIPS32 ISA) és I6500 (MIPS64R6 ISA) emulációjának támogatása, a CPU típusú kérések QMP (QEMU Management Protocol) segítségével történő feldolgozásának képessége, valamint a SAARI és SAAR konfigurációs regiszterek támogatása. A virtuális gépek jobb teljesítménye a Fulong 2E típussal. Az Interthread kommunikációs egység frissített megvalósítása;
  • A PowerPC architektúra emulátorban az XIVE megszakításvezérlő emulálásának támogatása, a POWER9 támogatása kibővült, a P sorozatnál pedig a PCI gazdahidak (PHB, PCI host bridge) hot-plug-lehetősége is bekerült. A Spectre és Meltdown támadások elleni védelem alapértelmezés szerint engedélyezve van;
  • A PCI- és USB-emuláció támogatása hozzáadásra került a RISC-V architektúra emulátorhoz. A beépített hibakereső szerver (gdbserver) mostantól támogatja a regiszterlisták megadását XML-fájlokban. TSR, TW és TVM mstatus mezők támogatása;
  • Az s390 architektúra emulátor támogatja a z14 GA 2 CPU modellt, valamint támogatja a lebegőpontos és vektoros műveletek utasításbővítményeinek emulálását. A vfio-ap-hoz hozzáadták az eszközök üzem közbeni csatlakoztatásának lehetőségét;
  • A Tensilica Xtensa család processzoremulátora továbbfejlesztette az SMP-támogatást a Linux számára, és hozzáadta a FLIX-t (Rugalmas hosszúságú utasítások kiterjesztés);
  • A „-display spice-app” opció hozzáadásra került a grafikus felülethez a Spice távoli elérési kliens QEMU GTK felületéhez hasonló kialakítású verziójának konfigurálásához és elindításához;
  • Hozzáadott támogatás a hozzáférés-vezérléshez a tls-authz/sasl-authz opciókkal a VNC-kiszolgáló megvalósításához;
  • A QMP (QEMU Management Protocol) támogatja a központi/külső (sávon kívüli) parancsvégrehajtást, és további parancsokat implementált a blokkeszközökkel végzett munkához;
  • Az EDID interfész megvalósítása a támogatott mdev-ekhez (Intel vGPU-k) készült VFIO-hoz, amely lehetővé teszi a képernyőfelbontás megváltoztatását az xres és yres opciók használatával;
  • Egy új „xen-disk” eszköz került hozzáadásra a Xenhez, amely önállóan képes lemezes háttérrendszert létrehozni a Xen PV számára (a xenstore elérése nélkül). A Xen PV lemezháttér teljesítménye megnőtt, és a lemezméret megváltoztatásának lehetősége is bővült;
  • Bővültek a diagnosztikai és nyomkövetési képességek a hálózati blokkos eszközökben, és javult a kliens kompatibilitása a problémás NBD szerver implementációkkal. „--bitmap”, „--list” és „--tls-authz” opciók hozzáadva a qemu-nbd-hez;
  • A PCI IDE mód támogatása az emulált IDE/via eszközhöz;
  • Támogatás hozzáadva az lzfse algoritmus használatához a dmg képek tömörítéséhez. A qcow2 formátumhoz hozzáadásra került a külső adatfájlok csatlakoztatásának támogatása. A qcow2 kicsomagolási műveletei egy külön szálba kerülnek át. Hozzáadott támogatás a „blockdev-create” művelethez a vmdk képekben;
  • A virtio-blk blokk eszköz kiegészítette a DISCARD (blokkok felszabadításával kapcsolatos tájékoztatás) és a WRITE_ZEROES (logikai blokkok tartományának nullázása) műveletek támogatását;
  • A pvrdma eszköz támogatja az RDMA Management Datagram szolgáltatásokat (MAD);
  • Beküldve változások, sérti a visszamenőleges kompatibilitást. Például az "-fsdev" és a "-virtfs" "handle" opciója helyett a "local" vagy a "proxy" opciókat kell használnia. A „-virtioconsole” (a „-device virtconsole”-ra cserélve), „-no-frame”, „-clock”, „-enable-hax” (a „-accel hax”-ra cserélve) opciókat eltávolítottuk. Az "ivshmem" eszköz eltávolítva (az "ivshmem-doorbell" és az "ivshmem-plain" kifejezéseket kell használni). Az SDL1.2-vel való építés támogatása megszűnt (SDL2-t kell használnia).

Forrás: opennet.ru

Hozzászólás