Veröffentlichung des QEMU 8.0-Emulators

Die Veröffentlichung des QEMU 8.0-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 8.0 wurden mehr als 2800 Änderungen von 238 Entwicklern vorgenommen.

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

  • Für veraltet erklärt und die Unterstützung für die Systememulation (Starten des gesamten Betriebssystems, einschließlich der Einbeziehung von KVM- und Xen-Hypervisoren) auf 32-Bit-x86-Hosts wird bald eingestellt. Die Unterstützung für die Benutzermodus-Emulation (Ausführung separater Prozesse, die für eine andere CPU erstellt wurden) auf 32-Bit-x86-Hosts wird weiterhin unterstützt.
  • Unterstützung für die Ausführung von Xen-Gästen in einer Umgebung basierend auf dem KVM-Hypervisor und Linux 86+-Kerneln im x5.12-Architektur-Emulator hinzugefügt.
  • Unterstützung für die CPUID-Flags FSRM, FZRM, FSRS und FSRC im klassischen TCG-Codegenerator für x86-Architektur hinzugefügt. Unterstützung für das neue CPU-Modell Intel Sapphire Rapids (Intel 7) implementiert.
  • Der ARM-Emulator hat Unterstützung für Cortex-A55- und Cortex-R52-CPUs implementiert, einen neuen Typ emulierter Maschine Olimex STM32 H405 hinzugefügt, Unterstützung für FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) und AArch32 ARMv8-R-Prozessor hinzugefügt Erweiterungen. Unterstützung für Systemregister in gdbstub für die M-Profil-Architektur (Mikrocontroller-Profil) hinzugefügt.
  • Die Implementierung der emulierten OpenTitan-, PolarFire- und OpenSBI-Maschinen wurde im RISC-V-Architektur-Emulator aktualisiert. Unterstützung für zusätzliche Prozessorbefehlssätze (ISAs) und Erweiterungen hinzugefügt: Smstateen, Icount-Debugging-Zähler, PMU-Cache-bezogene Ereignisse im virtuellen Modus, ACPI-, Zawrs-, Svadu-, T-Head- und Zicond-Erweiterungen.
  • Dem HPPA-Architektur-Emulator wurde Unterstützung für die fid-Anweisung (Floating-Point Identify) hinzugefügt und die Emulation wurde im 32-Bit-Modus verbessert.
  • Der 390x-Architektur-Emulator unterstützt die asynchrone Speichertrennung beim Neustart sicherer KVM-Gäste. Verbesserte Handhabung weitergeleiteter zPCI-Geräte.
  • Der virtio-mem-Mechanismus, mit dem Sie Speicher im laufenden Betrieb in virtuelle Maschinen ein- und ausstecken können, implementiert die Vorzuweisung während der Live-Migration.
  • Die experimentelle Unterstützung für die Migration wurde in VFIO (Virtual Function I/O) aktualisiert (die zweite Ausgabe des Migrationsprotokolls ist betroffen).
  • Das qemu-nbd-Blockgerät hat bei Verwendung von TLS eine verbesserte Leistung gegenüber TCP.
  • Dem Gastagenten wurde zunächst Unterstützung für OpenBSD und NetBSD hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen