Die Veröffentlichung des Emulators QEMU 4.0

Erstellt Projekt-Releases QEMU 4.0. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine bestimmte Hardwareplattform erstellt wurden, auf einem System mit völlig anderer Architektur, zum Beispiel die Ausführung einer Anwendung für ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht die Codeausführung in einer isolierten Umgebung eine nahezu native Systemleistung durch die direkte Ausführung von Instruktionen auf der CPU und die Nutzung des Hypervisors Xen oder des KVM-Moduls.

Das Projekt wurde ursprünglich von Fabrice Bellard ins Leben gerufen, um die Ausführung von für die x86-Plattform kompilierten Linux-Binärdateien auf Architekturen außerhalb der x86 zu ermöglichen. Im Laufe der Jahre wurde die Unterstützung für die vollständige Emulation von 14 Hardwarearchitekturen hinzugefügt, und die Anzahl der emulierten Hardwaregeräte überstieg 400. Bei der Vorbereitung von Version 4.0 wurden über 3100 Änderungen von 220 Entwicklern vorgenommen.

Schlüssige Verbesserungen, die in QEMU 4.0 hinzugefügt wurden:

  • Im ARM-Emulator wurde die Unterstützung für ARMv8+-Befehlserweiterungen hinzugefügt: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT und BTI. Die Emulation der Platinen "Musca" und "MPS2" wurde hinzugefügt. Die Emulation der ARM-PMU (Power Management Unit) wurde verbessert. In die Plattform virt Die Möglichkeit, mehr als 255 GB RAM zu verwenden, und die Unterstützung für U-Boot-Images mit dem Typ „noload“ wurden hinzugefügt;
  • Im x86-Emulator im Virtualisierungsbeschleunigungs-Engine HAX (Intel Hardware Accelerated Execution) wurde die Unterstützung für POSIX-kompatible Hosts wie Linux und NetBSD hinzugefügt (zuvor wurde nur die Darwin-Plattform unterstützt). Im Emulator des Q35-Chipsatzes (ICH9) kann jetzt optional die maximale Geschwindigkeit (16 GT/s) und die Anzahl der Verbindungen (x32), die in der Spezifikation PCIe 4.0 definiert sind, angegeben werden (um Rückwärtskompatibilität für ältere Maschinentypen zu gewährleisten, ist QEMU standardmäßig auf 2,5 GT/s und x1 eingestellt). Die Möglichkeit, Xen PVH-Images mit der Option „-kernel“ zu laden, wurde geschaffen;
  • Im MIPS-Architektur-Emulator wurde die Unterstützung für Multi-Thread-Emulation mit dem klassischen TCG-Codegenerator (Tiny Code Generator) hinzugefügt. Zudem wurde die Unterstützung für die CPU-Emulation I7200 (nanoMIPS32 ISA) und I6500 (MIPS64R6 ISA) hinzugefügt, die Möglichkeit zur Verarbeitung von CPU-Anfragen unter Verwendung des QMP-Protokolls (QEMU Management Protocol), und die Unterstützung für die Konfigurationsregister SAARI und SAAR. Die Leistung virtueller Maschinen des Typs Fulong 2E wurde verbessert. Die Implementierung der Interthread Communication Unit wurde aktualisiert;
  • Im PowerPC-Architektur-Emulator wurde die Unterstützung für die Emulation des XIVE-Interrupt-Controllers hinzugefügt, die POWER9-Unterstützung erweitert und die Möglichkeit des Hot-Plugging von PCI Host Bridges (PHB) für die P-Serie implementiert. Der Schutz gegen Spectre- und Meltdown-Angriffe ist standardmäßig aktiviert.
  • Im RISC-V Architektur Emulator wurde die Unterstützung für die Emulation von PCI und USB hinzugefügt. Der integrierte Debug-Server (gdbserver) unterstützt jetzt das Setzen von Registerlisten in XML-Dateien. Die Unterstützung für die mstatus-Felder TSR, TW und TVM wurde ergänzt.
  • Im s390 Architektur Emulator wurde die Unterstützung für das CPU-Modell z14 GA 2 hinzugefügt, sowie die Emulation von Instruktionssatz-Erweiterungen für Gleitkomma-Berechnungen und Vektoroperationen. Im vfio-ap wurde die Möglichkeit des Hot-Plugging von Geräten integriert.
  • Im Emulator der Tensilica Xtensa Prozessorfamilie wurde die Unterstützung für SMP unter Linux verbessert und die Unterstützung für die FLIX-Erweiterung (Flexible Length Instructions Extension) hinzugefügt.
  • Im grafischen Benutzerinterface wurde die Option '-display spice-app' hinzugefügt, um eine Variante des Spice-Remote-Access-Clients mit einem GTK-ähnlichen QEMU-Interface einzurichten und zu starten.
  • Die Implementierung des VNC-Servers hat die Unterstützung für den Zugriffsschutz über die Optionen tls-authz/sasl-authz erweitert.
  • Im QMP (QEMU Management Protocol) wurde die Unterstützung für die zentrale/außerbandliche Ausführung von Befehlen hinzugefügt, und es wurden zusätzliche Befehle für die Arbeit mit Blockgeräten implementiert.
  • Im VFIO wurde die Implementierung des EDID-Interfaces für unterstützte mdev (Intel vGPU) hinzugefügt, was die Änderung der Bildschirmauflösung über die Optionen xres und yres ermöglicht.
  • Für Xen wurde ein neues Gerät 'xen-disk' hinzugefügt, das selbstständig ein Disk-Backend für Xen PV erstellen kann (ohne auf xenstore zuzugreifen). Die Leistung des Disk-Backends für Xen PV wurde verbessert und die Möglichkeit zur Größenänderung der Festplatte hinzugefügt.
  • Bei den Netzwerkblockgeräten wurden die Diagnosetechniken und die Rückverfolgbarkeit verbessert, sowie die Kompatibilität des Clients mit problematischen Implementierungen des NBD-Servers optimiert. In qemu-nbd wurden die Optionen «—bitmap», «—list» und «—tls-authz» hinzugefügt.
  • Der emulierte IDE/via-Gerät unterstützt den PCI IDE-Modus.
  • Die Unterstützung für den lzfse-Algorithmus zur Kompression von dmg-Images wurde hinzugefügt. Für das qcow2-Format wurde die Unterstützung für die Verbindung externer Dateien mit Daten hinzugefügt. Die Unpacking-Operationen für qcow2 wurden in einen separaten Thread ausgelagert. In vmdk-Bildern wurde die Unterstützung für die Operation «blockdev-create» hinzugefügt.
  • Im blockbasierten Gerät virtio-blk wurde die Unterstützung für die Operationen DISCARD (Freigabe von Blöcken) und WRITE_ZEROES (Zurücksetzen eines Bereichs logischer Blöcke) hinzugefügt;
  • Im Gerät pvrdma wurde die Unterstützung für RDMA Management Datagram Services (MAD) implementiert;
  • Es wurden eingeführt wurde, die im Januar dieses Jahres in den Kernel übernommen wurde. Es betrifft ausschließlich die Version 5.1 und tritt in den meisten Fällen auf Systemen mit Samsung-SSD-Speichern auf, bei denen zur Verschlüsselung Daten mit dm-crypt/LUKS über device-mapper/LVM verwendet werden., die die Rückwärtskompatibilität brechen. Beispielsweise sollten anstelle der Option «handle» in «-fsdev» und «-virtfs» die Optionen «local» oder «proxy» verwendet werden. Die Optionen «-virtioconsole» (ersetzt durch «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (ersetzt durch «-accel hax») wurden entfernt. Das Gerät «ivshmem» wurde entfernt (verwenden Sie stattdessen «ivshmem-doorbell» oder «ivshmem-plain»). Die Unterstützung für den Build mit SDL1.2 wurde eingestellt (verwenden Sie SDL2).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster