A QEMU 4.0 emulátor kiadása

Megformálva a projekt kiadását QEMU 4.0. 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 indította azzal a céllal, hogy lehetőséget biztosítson az x86 platformra készült Linux végrehajtható fájlok futtatására más architektúrákon. A fejlesztés évek során 14 hardver architektúra teljes emulációjának támogatását adta hozzá, az emulált hardver eszközök száma meghaladta a 400-at. A 4.0 verzió előkészítése során több mint 3100 módosítást végeztek el 220 fejlesztőtől.

Kulcsok fejlesztések, amelyeket a QEMU 4.0-hoz adtak hozzá:

  • Az ARM architektúrájú emulátorhoz hozzáadódott az ARMv8+ instrukciós kiterjesztések támogatása: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT és BTI. Hozzáadódott a Musca és az MPS2 platformok emulációjának támogatása. Fejlesztették az ARM PMU (Power Management Unit) emulációját. A platformhoz virt hozzáadódott a több mint 255 GB RAM használatának lehetősége és a 'noload' típusú u-boot képek támogatása;
  • Az x86 architektúrájú emulátorban, a virtualizációs gyorsító motorban HAX (Intel Hardware Accelerated Execution) hozzáadódott a POSIX-kompatibilis gazdagépek támogatása, mint például Linux és NetBSD (előzőleg csak a Darwin platform volt támogatva). A Q35 (ICH9) chipset emulátorban a fő PCIe portok esetében opcionálisan mostantól maximális sebesség (16GT/s) és kapcsolatvonalak száma (x32) deklarálható, ami a PCIe 4.0 specifikációban van meghatározva (a régebbi típusú gépek kompatibilitásának biztosítása érdekében a QEMU alapértelmezett beállítása 2.5GT/s és x1). Lehetővé vált Xen PVH képek betöltése a '-kernel' opcióval;
  • A MIPS architektúrájú emulátorhoz hozzáadódott a klasszikus TCG (Tiny Code Generator) kódgenerátor használatával multithread emulációs támogatás. Továbbá hozzáadódott a CPU I7200 (nanoMIPS32 ISA) és I6500 (MIPS64R6 ISA) emulációjának támogatása, a QMP (QEMU Management Protocol) protokollal történő CPU típusú kérések feldolgozásának lehetősége, valamint a SAARI és SAAR konfigurációs regiszterek támogatása. Fejlesztették a Fulong 2E típusú virtuális gépek működését. Frissítették az Interthread Communication Unit megvalósítását;
  • A PowerPC architektúrájú emulátorhoz hozzáadódott az XIVE megszakításkezelő emulációjának támogatása, kibővítették a POWER9 támogatását, a P sorozathoz pedig hozzáadódott a PCI főhíd (PHB, PCI host bridge) meleg csatlakoztatásának lehetősége. Alapértelmezett védelmet biztosítanak a Spectre és Meltdown támadások ellen;
  • A RISC-V architektúrájú emulátorhoz hozzáadódott a PCI és USB emulációjának támogatása. A beépített hibakereső szerverben (gdbserver) megvalósították a regiszterlisták XML fájlokban való megadásának támogatását. Hozzáadódott a mstatus mezők TSR, TW és TVM támogatása;
  • Az s390 architektúra emulátorába beépítették a z14 GA 2 CPU modell támogatását, valamint a lebegőpontos számításokhoz és vektorműveletekhez szükséges utasítás-kiterjesztések emulációjának támogatását. A vfio-ap-hoz hozzáadták az eszközök hot-plug lehetőségét;
  • A Tensilica Xtensa CPU-k emulátorában javították a SMP támogatását Linuxhoz, és hozzáadták a FLIX (Rugalmas hosszúságú utasítás-kiterjesztés) támogatását;
  • A grafikus felülethez hozzáadták a '-display spice-app' opciót a Spice távoli hozzáférés kliensének GTK interface-re hasonlító variantájának konfigurálásához és indításához;
  • A VNC-szerver megvalósításába beépítették a hozzáférés-irányítást a tls-authz/sasl-authz opciókon keresztül;
  • A QMP (QEMU Management Protocol) támogatást kapott a központosított/külső (Out-of-band) parancsok végrehajtásához, és új parancsokat valósítottak meg a blokk eszközökkel való munkára;
  • A VFIO-ba beépítették az EDID interfész megvalósítását a támogatott mdev (Intel vGPU) eszközökhöz, lehetővé téve a képernyőfelbontás megváltoztatását az xres és yres opciók használatával;
  • A Xenhez új 'xen-disk' eszközt adtak hozzá, amely önállóan képes létrehozni egy Xen PV háttértárat (anélkül, hogy hozzáférne a xenstore-hoz). Növelték a Xen PV háttértár teljesítményét, és lehetővé tették a lemezméret megváltoztatását;
  • A hálózati blokk eszközökben kibővítették a diagnosztikai és nyomozási lehetőségeket, javították a kliens kompatibilitását a problémás NBD szerver megvalósításokkal. A qemu-nbd-hez hozzáadták a '—bitmap', '—list' és '—tls-authz' opciókat;
  • Az IDE/via emulált eszköz támogatást kapott a PCI IDE üzemmódban;
  • Beépítették az lzfse algoritmus használatának támogatását a dmg képek tömörítéséhez. A qcow2 formátumhoz hozzáadták a külső adatfájlok csatlakoztatásának támogatását. A qcow2 kicsomagolási műveletek külön szálon futnak. A vmdk képekben hozzáadták a 'blockdev-create' művelet támogatását;
  • A virtio-blk blokk eszközben támogatták a DISCARD (blokkok felszabadításának jelzése) és WRITE_ZEROES (logikai blokkok törlése) műveleteket;
  • A pvrdma eszközben megvalósították az RDMA Management Datagram services (MAD) támogatását;
  • Jelentős változtatások történtek változások, amelyek megsértik a visszafelé kompatibilitást. Például a «handle» opció helyett a «-fsdev» és «-virtfs» helyett a «local» vagy a «proxy» opciókat kell használni. Az «-virtioconsole» opció eltávolításra került (cserélve «-device virtconsole»-ra), az «-no-frame», az «-clock», az «-enable-hax» (cserélve «-accel hax»-ra) eltávolítva. Az «ivshmem» eszközt eltávolították (a «ivshmem-doorbell» vagy «ivshmem-plain» használata szükséges). A SDL1.2-vel való építési támogatást megszüntették (a SDL2-t kell használni).

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster