Der Emulator QEMU 9.1.0 ist verfügbar

Die Veröffentlichung des QEMU-Projekts 9.1 wurde vorgestellt. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine Hardware-Plattform kompiliert wurden, auf einem System mit einer völlig anderen Architektur, beispielsweise eine ARM-Anwendung auf einem x86-kompatiblen PC. Im Virtualisierungsmodus ist die Leistung des Codes im isolierten Umfeld nahezu hardware-nah, da Anweisungen direkt auf der CPU ausgeführt werden und der Hypervisor Xen oder das KVM-Modul in Linux oder das NVMM-Modul in NetBSD verwendet wird.

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 von x86 abweichenden Architekturen zu ermöglichen. Im Laufe der Jahre wurde die Unterstützung für die vollständige Emulation von 14 Hardware-Architekturen hinzugefügt, und die Anzahl der emulierten Hardware-Geräte überschritt 400. Bei der Vorbereitung der Version 9.1 wurden über 2800 Änderungen von 263 Entwicklern implementiert.

Wesentliche Verbesserungen, die in QEMU 9.1 hinzugefügt wurden:

  • Im Migrationstool für Gast-Systeme wurde die Unterstützung für die Beschleunigung der Datenkompression mit der Technologie IAA (Intel In-Memory Analytics Accelerator) oder UADK (User Space Accelerator Development Kit) implementiert. Die Unterstützung für die Wiederherstellung nach einem Migrationseinbruch im Postcopy-Modus wurde verbessert.
  • Im Virtio-Mechanismus, der für die Interaktion zwischen Gast-Systemen und dem Host-System verwendet wird, wurde die Unterstützung für die Funktion VIRTIO_F_NOTIFICATION_DATA hinzugefügt, die es Treibern auf der Seite der Gast-Systeme ermöglicht, zusätzliche Daten zusammen mit den gesendeten Benachrichtigungen zu übermitteln. Diese Funktion kann zum Beispiel verwendet werden, um Debugging-Daten zu senden oder die Leistung zu optimieren.
  • Im Guest-Agent für Linux-Systeme wurde der Befehl guest-network-get-route hinzugefügt, während für Windows-Systeme die Befehle guest-ssh-* hinzugefügt wurden. Die Möglichkeiten zur Konfiguration der Befehle „allowed“ und „blocked“ wurden in der Befehlszeilenschnittstelle erweitert.
  • Im Emulator für die ARM-Architektur wurde die Unterstützung für die CPU-Erweiterungen EAT_NMI, FEAT_CSV2_3, FEAT_ETS2, FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8 hinzugefügt. Bei der Emulation des Speichermanagement Blocks SMMUv3 (System Memory Management Unit) wurde die Unterstützung für verschachtelte und zweistufige Seiten implementiert. Für Xilinx Zynq-Platinen wurde die Unterstützung für die Emulation von Multiprozessorkonfigurationen, dem Display-Controller DM163 und dem Cache-Controller hinzugefügt.
  • Im LoongArch-Architektur-Emulator wurde die Möglichkeit zur direkten Lade von Kernel-Images im ELF-Format implementiert und die Unterstützung für den Betrieb von bis zu 256 CPUs unter Verwendung der Erweiterung extioi hinzugefügt. Die Debugging-Funktionen wurden verbessert.
  • Im RISC-V-Architektur-Emulator wurde die Unterstützung für die Prozessorerweiterungen Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha, Zawrs und Smcntrpmf sowie die Version 1.13 der privilegierten Befehlssatztarchitektur-Spezifikation hinzugefügt. Die Debugging-Funktionen wurden verbessert.
  • Im SPARC-Architektur-Emulator wurde die Unterstützung für die Prozessorerweiterungen FMAF, IMA, VIS3 und VIS4 hinzugefügt.
  • Im x86-Architekture-Emulator für den Hypervisor wurde die Möglichkeit implementiert, die Unterstützung für den Befehlssatz AVX10 sowie spezifische Versionen von AVX10 — avx10-128, avx10-256 und avx10-512 — zu aktivieren. KVM Die Möglichkeit zum Starten von Gastbetriebssystemen unter Verwendung der Prozessorerweiterung AMD SEV-SNP (Secure Nested Paging), die ein sicheres Arbeiten mit verschachtelten Speichertabellen ermöglicht, wurde umgesetzt. Zudem wurde die Unterstützung für die CPU-Emulation auf Basis der Mikroarchitekturen Icelake-Server-v7, SapphireRapids-v3 und SierraForest realisiert.
  • Eine Sicherheitsanfälligkeit (CVE-2024-7409) wurde behoben. Server In Network Block Device (NBD) wurde eine Sicherheitsanfälligkeit behoben, die durch Manipulationen im Gastbetriebssystem einen Absturz von QEMU während der nbd-server-stop-Operation hervorrufen kann, sogar wenn der Client keine TLS-Schlüssel für die Verbindung zum NBD-Server hat.

Quelle: opennet.ru

60GB SSD 8Gb DDR4