Veröffentlichung des QEMU 7.0-Emulators

Die Veröffentlichung des QEMU 7.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 7.0 wurden mehr als 2500 Änderungen von 225 Entwicklern vorgenommen.

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

  • Der x86-Emulator bietet Unterstützung für den Intel AMX-Befehlssatz (Advanced Matrix Extensions), der in den Intel Xeon Scalable-Serverprozessoren implementiert ist. AMX bietet neue benutzerdefinierte TMM-Register „TILE“ und Anweisungen zum Bearbeiten von Daten in diesen Registern, wie z. B. TMUL (Tile Matrix MULtiply) für die Matrixmultiplikation.
  • Bietet die Möglichkeit, ACPI-Ereignisse vom Gastsystem über die ACPI ERST-Schnittstelle zu protokollieren.
  • Die Unterstützung für Sicherheitsetiketten wurde im Modul virtiofs verbessert, das zur Weiterleitung eines Teils des Dateisystems der Hostumgebung an das Gastsystem verwendet wird. Die Sicherheitslücke CVE-2022-0358 wurde behoben, die es Ihnen ermöglicht, Ihre Berechtigungen im System zu erhöhen, indem Sie ausführbare Dateien in Verzeichnissen erstellen, die über Virtiofs weitergeleitet werden, zu einer anderen Gruppe gehören und mit dem SGID-Flag ausgestattet sind.
  • Die Flexibilität beim Sichern laufender aktiver Systemabbilder wurde verbessert (es wird ein Snapshot erstellt, woraufhin ein Copy-before-Write (CBW)-Filter angewendet wird, um den Status des Snapshots zu aktualisieren und Daten aus Bereichen zu kopieren, in denen sich das Gastsystem befindet schreibt). Unterstützung für Bilder in anderen Formaten als qcow2 hinzugefügt. Die Möglichkeit, mit einem Backup auf einen Snapshot zuzugreifen, wird nicht direkt, sondern über den Snapshot-Access-Block-Gerätetreiber bereitgestellt. Die Möglichkeiten zur Steuerung des CBW-Filters wurden erweitert, so können beispielsweise bestimmte Bitmaps von der Verarbeitung ausgeschlossen werden.
  • Der ARM-Emulator für „virte“ Maschinen hat Unterstützung für virtio-mem-pci, die Erkennung der Gast-CPU-Topologie und die Aktivierung von PAuth hinzugefügt, wenn ein KVM-Hypervisor mit einem HVF-Beschleuniger verwendet wird. Unterstützung für PMC SLCR- und OSPI-Flash-Controller-Emulation im Board-Emulator „xlnx-versal-virt“ hinzugefügt. Für „xlnx-zynqmp“-emulierte Maschinen wurden neue CRF- und APU-Steuerungsmodelle hinzugefügt. Emulation der Erweiterungen FEAT_LVA2, FEAT_LVA (großer virtueller Adressraum) und FEAT_LPA (großer physischer Adressraum) hinzugefügt.
  • Classic TCG (Tiny Code Generator) hat die Unterstützung für Hosts mit ARMv4- und ARMv5-CPUs eingestellt, die keinen unausgerichteten Speicherzugriff unterstützen und nicht über genügend RAM zum Ausführen von QEMU verfügen.
  • Der RISC-V-Architektur-Emulator bietet Unterstützung für den KVM-Hypervisor und implementiert Vector 1.0-Vektorerweiterungen sowie die Anweisungen Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx und zhinx{min}. Unterstützung für das Laden von OpenSBI-Binärdateien (RISC-V Supervisor Binary Interface) für emulierte „Spike“-Maschinen hinzugefügt. Für emulierte „virte“ Maschinen ist die Möglichkeit zur Nutzung von bis zu 32 Prozessorkernen und Unterstützung für AIA implementiert.
  • Der HPPA-Architektur-Emulator bietet bis zu 16 vCPUs und verbesserte Grafiktreiber für HP-UX VDE/CDE-Benutzerumgebungen. Es wurde die Möglichkeit hinzugefügt, die Startreihenfolge für SCSI-Geräte zu ändern.
  • Unterstützung für die Verwendung von bis zu 4 CPU-Kernen, das Laden eines externen initrd-Images und die automatische Generierung eines Gerätebaums für einen bootfähigen Kern im OpenRISC-Architektur-Emulator für „SIM“-Boards hinzugefügt.
  • Der PowerPC-Architektur-Emulator für emulierte „Pseries“-Maschinen hat die Möglichkeit implementiert, Gastsysteme unter der Kontrolle eines verschachtelten KVM-Hypervisors auszuführen. Unterstützung für das Gerät spapr-nvdimm hinzugefügt. Unterstützung für XIVE2-Interrupt-Controller und PHB5-Controller für „powernv“-emulierte Maschinen hinzugefügt, verbesserte Unterstützung für XIVE und PHB 3/4.
  • Dem s390x-Architektur-Emulator wurde Unterstützung für z15-Erweiterungen (Miscellaneous-Instruction-Extensions Facility 3) hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen