Veröffentlichung des QEMU-Emulators 4.2

Präsentiert Projekt-Releases QEMU 4.2. 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-Programmen auf anderen Architekturen zu ermöglichen. Im Laufe der Entwicklung wurden vollständige Emulationssupport für 14 Hardware-Architekturen und über 400 emulierte Hardware-Geräte hinzugefügt. Für die Version 4.2 wurden mehr als 2200 Änderungen von 198 Entwicklern vorgenommen.

Schlüssige Verbesserungen, hinzugefügt in QEMU 4.2:

  • Im klassischen TCG (Tiny Code Generator) wurde die Unterstützung von Plugins zur Überwachung von Prozessoranweisungen und Speicheradressen implementiert;
  • Im Blockgeräte-Treiber NBD (Network Block Device) wurde eine effizientere Verarbeitung von Kopieranforderungen beim Lesen (copy-on-read) sichergestellt. Der Code des NBD-Servers wurde für das Kopieren von spärlichen Images optimiert. Allgemeine Verbesserungen wurden in der Implementierung des NBD-Clients und -Servers vorgenommen;
  • Die Leistung der LUKS-Diskverschlüsselung mit dem AES-XTS-Algorithmus wurde gesteigert;
  • In vfio-pci wurde die Unterstützung der Eigenschaft „failover_pair_id“ hinzugefügt, um die Migration von VFIO-Geräten zu vereinfachen;
  • In virtio-mmio wurde die Unterstützung des virtio-kompatiblen Standards 2 und des in der Spezifikation von virtio 1.1 definierten Mechanismus für gepackte virtuelle Warteschlangen hinzugefügt (virtqueue) zum Austausch von Daten mit virtuellen Ein-/Ausgabegeräten im Batch-Modus;
  • Im x86-Architektur-Emulator wurde ein neuer Typ emulierter Maschinen "microvm" hinzugefügt, der virtio-mmio anstelle von PCI zur Leistungsoptimierung verwendet. Die Möglichkeit zum Aktivieren und Deaktivieren von VMX über die Flags „-cpu“ wurde implementiert. Unterstützung für die Emulation von AVX512 BFloat16-Erweiterungen wurde hinzugefügt. Unterstützung neuer CPU-Modelle wie Denverton (Server-SoC auf der Basis von Atom), Snowridge und Dhyana wurde gewährleistet. Die Unterstützung für das macOS Hypervisor Framework („-accel hvf“) wurde stabilisiert;
  • Im ARM-Architektur-Emulator wurde die Unterstützung für die Emulation des SoC Aspeed AST2600 („ast2600-evb“) hinzugefügt. Unterstützung für die Semihosting-Technologie 2.0 mit Erweiterungen STDOUT_STDERR/EXIT_EXTENDED, die es dem emulierten Gerät ermöglicht, stdout, stderr und stdin zu nutzen, um Dateien auf der Host-Seite zu erstellen, wurde eingeführt. In KVM wurde die Möglichkeit hinzugefügt, mehr als 256 CPU zu verwenden, und die Unterstützung für SIMD-Befehle SVE wurde gewährleistet. In virtuellen Maschinen vom Typ "virt» Unterstützung für Hot-Plugging von Speicher wurde implementiert. Die Leistung der Emulation wurde durch die Verwendung des TCG-Codegenerators erhöht.
  • Im PowerPC-Emulator wurde die Möglichkeit zur Emulation der POWER9-Befehle mffsce, mffscrn und mffscrni hinzugefügt. In den emulierten Maschinen "powernv" wurde die Unterstützung für die Systemgeräte Homer und OCC SRAM hinzugefügt;
  • Im RISC-V-Emulator wurde die Option "-initrd" hinzugefügt und die Möglichkeit, den vollständigen Architekturstatus im Debugger anzuzeigen;
  • Im s390-Emulator wurde die Unterstützung für die IEP (Instruction Execution Protection)-Befehle implementiert;
  • Im 68k-Emulator wurde die erste Möglichkeit zur Emulation des Macintosh Quadro 800 und klassischer NeXTcube-Systeme hinzugefügt;
  • Im Xtensa-Emulator wurde ein neuer Typ emulierter Maschinen "virt" hinzugefügt und die Unterstützung für ABI call0 zur Emulation im Benutzerspeicher umgesetzt.

Quelle: opennet.ru

Erwerben 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