Veröffentlichung des QEMU 7.1-Emulators

Die Veröffentlichung des QEMU 7.1-Projekts wird vorgestellt. Als Emulator ermöglicht Ihnen QEMU, ein für eine Hardwareplattform erstelltes Programm auf einem System mit einer völlig anderen Architektur auszuführen, beispielsweise eine ARM-Anwendung auf einem x86-kompatiblen PC auszuführen. Im Virtualisierungsmodus in QEMU kommt die Leistung der Codeausführung in einer isolierten Umgebung aufgrund der direkten Ausführung von Anweisungen auf der CPU und der Verwendung des Xen-Hypervisors oder KVM-Moduls der eines Hardwaresystems nahe.

Das Projekt wurde ursprünglich von Fabrice Bellard ins Leben gerufen, um die Ausführung von für die x86-Plattform erstellten ausführbaren Linux-Dateien auf Nicht-x86-Architekturen zu ermöglichen. Im Laufe der Jahre der Entwicklung wurde die vollständige Emulationsunterstützung für 14 Hardwarearchitekturen hinzugefügt, die Anzahl der emulierten Hardwaregeräte hat 400 überschritten. In Vorbereitung auf Version 7.1 wurden mehr als 2800 Änderungen von 238 Entwicklern vorgenommen.

Wichtige Verbesserungen, die in QEMU 7.1 hinzugefügt wurden:

  • Auf der Linux-Plattform ist die Zero-Copy-Send-Option implementiert, mit der Sie die Übertragung von Speicherseiten während der Live-Migration ohne Zwischenpufferung organisieren können.
  • QMP (QEMU Machine Protocol) hat die Möglichkeit hinzugefügt, den Befehl block-export-add zum Exportieren von NBD-Bildern mit Seitendaten im „Dirty“-Zustand zu verwenden. Außerdem wurden die neuen Befehle „query-stats“ und „query-stats-schema“ hinzugefügt, um Statistiken aus verschiedenen QEMU-Subsystemen abzufragen.
  • Der Gastagent hat die Unterstützung für die Solaris-Plattform verbessert und neue Befehle „guest-get-diskstats“ und „guest-get-cpustats“ hinzugefügt, um den Festplatten- und CPU-Status anzuzeigen. Ausgabe von Informationen von NVMe SMART zum Befehl „guest-get-disks“ und Ausgabe von Informationen über den NVMe-Bustyp zum Befehl „guest-get-fsinfo“ hinzugefügt.
  • Ein neuer LoongArch-Emulator mit Unterstützung für die 64-Bit-Variante der LoongArch-Befehlssatzarchitektur (LA64) wurde hinzugefügt. Der Emulator unterstützt Loongson 3 5000-Prozessoren und Loongson 7A1000 Northbridges.
  • Der ARM-Emulator implementiert neue Arten emulierter Maschinen: Aspeed AST1030 SoC, Qaulcomm und AST2600/AST1030 (fby35). Unterstützung für die Emulation von Cortex-A76- und Neoverse-N1-CPUs sowie Prozessorerweiterungen SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) und Befehle zum Blockieren von Lecks aus dem internen Cache während der spekulativen Ausführung von Anweisungen auf dem hinzugefügt CPU. Für „virtuelle“ Maschinen wurde die Emulation des GICv4-Interrupt-Controllers implementiert.
  • Im x86-Architektur-Emulator für KVM wurde Unterstützung für die Virtualisierung des LBR-Ablaufverfolgungsmechanismus (Last Branch Record) hinzugefügt.
  • Der HPPA-Architektur-Emulator bietet eine neue Firmware auf Basis von SeaBIOS v6, die die Verwendung einer PS/2-Tastatur im Boot-Menü unterstützt. Verbesserte Emulation der seriellen Schnittstelle. Zusätzliche STI-Konsolenschriftarten hinzugefügt.
  • Der MIPS-Architektur-Emulator für Nios2-Boards (-machine 10m50-ghrd) implementiert die Emulation eines Vectored Interrupt Controllers und eines Schattensatzes von Registern. Verbesserte Ausnahmebehandlung.
  • Der OpenRISC-Architektur-Emulator für die Maschine „or1k-sim“ bietet die Möglichkeit, bis zu 4 16550A-UART-Geräte zu verwenden.
  • Der RISC-V-Architektur-Emulator hat Unterstützung für die neuen Befehlssatzerweiterungen (ISAs) hinzugefügt, die in der Spezifikation 1.12.0 definiert sind, sowie Unterstützung für die Sdtrig-Erweiterung und verbesserte Unterstützung für Vektoranweisungen. Verbesserte Debugging-Funktionen. Der emulierten Maschine „virt“ wurde TPM-Unterstützung (Trusted Platform Module) hinzugefügt, und der Maschine „OpenTitan“ wurde Ibex SPI-Unterstützung hinzugefügt.
  • Der 390x-Architektur-Emulator bietet Unterstützung für VEF 2-Erweiterungen (Vector-Enhancements Facility 2). Das s390-ccw-BIOS bietet die Möglichkeit, von Festplatten mit einer anderen Sektorgröße als 512 Byte zu booten.
  • Der Xtensa-Architektur-Emulator hat Unterstützung für lx106-Kernel und Objektcodes für Cache-Tests hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen