Veröffentlichung des Emulators QEMU 8.0

Die Veröffentlichung des QEMU 8.0-Projekts wurde vorgestellt. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine Hardwareplattform erstellt wurden, auf einem System mit einer völlig anderen Architektur, zum Beispiel das Ausführen einer Anwendung für ARM auf einem x86-kompatiblen PC. Im Virtuellen Modus bietet QEMU eine nahezu hardwareähnliche Leistung für die Ausführung von Code in einer isolierten Umgebung, da die Anweisungen direkt auf der CPU ausgeführt werden und der Hypervisor Xen oder das KVM-Modul verwendet werden.

Das Projekt wurde ursprünglich von Fabrice Bellard ins Leben gerufen, um die Ausführung von für die x86-Plattform erstellten Linux-Executable-Dateien auf anderen Architekturen zu ermöglichen. Im Laufe der Jahre wurden Unterstützung für vollständige Emulation von 14 Hardwarearchitekturen und mehr als 400 emulierte Hardwaregeräte hinzugefügt. Bei der Vorbereitung der Version 8.0 wurden über 2800 Änderungen von 238 Entwicklern vorgenommen.

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

  • Die Unterstützung für die systemweite Emulation (kompletter Betriebssystemstart, auch unter Verwendung von Hypervisoren) auf 32-Bit-Hosts mit x86-Architektur wurde als veraltet erklärt und wird bald eingestellt. Die Unterstützung für die Emulation im Benutzer-Modus (Start einzelner Prozesse, die für einen anderen CPU erstellt wurden) auf 32-Bit-x86-Hosts wird jedoch fortgesetzt. KVM In den x86-Emulator wurde die Unterstützung für das Starten von Gastbetriebssystemen auf Xen in einer Umgebung mit dem KVM-Hypervisor und Linux-Kernen 5.12+ hinzugefügt.
  • Im klassischen TCG-Codegenerator für die x86-Architektur wurden die CPUID-Flags FSRM, FZRM, FSRS und FSRC hinzugefügt. Unterstützung für das neue CPU-Modell Intel Sapphire Rapids (Intel 7) wurde implementiert.
  • Im ARM-Emulator wurde die Unterstützung für die CPU Cortex-A55 und Cortex-R52 hinzugefügt, ein neuer Typ von emulierten Maschinen, Olimex STM32 H405, wurde ergänzt, und die Unterstützung für die Prozessorerweiterungen FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) und AArch32 ARMv8-R wurde hinzugefügt. In gdbstub wurde die Unterstützung für Systemregister der M-Profil-Architektur (Mikrocontrollerprofil) hinzugefügt.
  • Im RISC-V-Emulator wurde die Implementierung der emulierten Maschinen OpenTitan, PolarFire und OpenSBI aktualisiert. Es wurde Unterstützung für zusätzliche Satzprozessorbefehle (ISA) und Erweiterungen hinzugefügt: Smstateen, Debug-Zähler icount, mit dem Cache verbundene PMU-Ereignis-Modi im virtuellen Modus, ACPI, Erweiterungen Zawrs, Svadu, T-Head und Zicond.
  • Im HPPA-Emulator wurde die Unterstützung für den Befehl fid (Floating-Point Identify) hinzugefügt und die Emulation im 32-Bit-Modus verbessert.
  • Im HPPA-Architektur-Emulator wurde die Unterstützung für den Befehl fid (Floating-Point Identify) hinzugefügt und die Emulation im 32-Bit-Modus verbessert.
  • Im 390x-Architektur-Emulator wurde die Unterstützung für asynchrones Trennen des Speichers beim Neustart von geschützten KVM-Gastsystemen implementiert. Die Verarbeitung von durchgereichten zPCI-Geräten wurde verbessert.
  • Im virtio-mem-Mechanismus, der heißes Anschließen und Trennen von Speicher für virtuelle Maschinen ermöglicht, wurde eine proaktive Ressourcenzuteilung (Preallocation) bei Live-Migrationen umgesetzt.
  • In VFIO (Virtual Function I/O) wurde die experimentelle Unterstützung für Migration aktualisiert (die zweite Version des Migrationsprotokolls wurde aktiviert).
  • Die Effizienz des qemu-nbd Blockgeräts über TCP bei Verwendung von TLS wurde erhöht.
  • Der Agent für Gastsysteme hat eine erste Unterstützung für OpenBSD und NetBSD erhalten.

Quelle: opennet.ru

60GB SSD 8Gb DDR4