Die Veröffentlichung des Projekts QEMU 10.2.0 wurde vorgestellt. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine Hardwareplattform kompiliert wurden, auf einem System mit einer völlig anderen Architektur, wie zum Beispiel die Ausführung einer Anwendung für ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus bietet QEMU eine nahezu hardwareähnliche Ausführungsgeschwindigkeit im isolierten Umfeld durch die direkte Ausführung von Anweisungen auf der CPU und die Nutzung des Hypervisors Xen oder des KVM-Moduls in Linux sowie des NVMM-Moduls in NetBSD.
Ursprünglich wurde das Projekt von Fabrice Bellard ins Leben gerufen, um die Ausführung von für die x86-Plattform kompilierten Linux-Binärdateien auf anderen Architekturen zu ermöglichen. Im Laufe der Jahre wurde die Unterstützung für die vollständige Emulation von 14 Hard- warearchitekturen hinzugefügt, und die Anzahl der emulierten Hardwaregeräte hat 400 überschritten. Bei der Vorbereitung der Version 10.2.0 wurden über 2200 Änderungen von 188 Entwicklern vorgenommen.
Wesentliche Verbesserungen in QEMU 10.2:
- Im Backend 9pfs, das die Nutzung des Plan 9-Dateisystems zur Verbindung einer virtuellen Maschine mit einer anderen ermöglicht, wurde die Unterstützung für FreeBSD hinzugefügt.
- Ein neuer Live-Migrationsmodus ‚cpr-exec‘ wurde hinzugefügt, der den Ressourcenverbrauch während der Aktualisierung senkt. virtuellen Maschinen Und ermöglicht es, bestehende Zustände und Verbindungen während der Aktualisierung potenziell wiederzuverwenden.
- Die Haupt-Ereignisschleife in QEMU wurde auf die Verwendung der Schnittstelle für asynchronen Input/Output io_uring auf Systemen mit entsprechender Unterstützung umgestellt, was die Leistung steigert.
- Die Emulation im User-Mode wurde verbessert, sodass separate Prozesse, die für andere CPUs kompiliert wurden, ausgeführt werden können. Der Systemaufruf fchmodat2 wurde implementiert, die Unterstützung für die Flags MADV_DONTDUMP und MADV_DODUMP wurde hinzugefügt, und die Unterstützung für die Architekturen aarch64, hppa und microblaze wurde verbessert.
- Der ARM-Emulator unterstützt nun das Modell des AMD Versal2-virt Boards mit der Implementierung des virtuellen SoC AMD Versal. Die Unterstützung für die Boards ‚AST2600‘, ‚AST2700‘, ‚AST1030‘ und ‚xlnx-zynqmp‘ wurde verbessert. Die Emulation der CPU-Erweiterungen FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC und FEAT_GCS wurde implementiert.
- Im HPPA-Emulator wurde die Möglichkeit hinzugefügt, die HP 715/64 Workstation, den SCSI-Controller NCR 53c710 und den HP LASI Input/Output Controller zu emulieren.
- Im PowerPC-Architektur-Emulator wurde die Unterstützung für die CPUs PowerNV11 und PPE42 hinzugefügt. Für die pSeries-Hardware wurde ein Mechanismus für FADUMP (Firmware-Assisted Dump) implementiert, um nach Systemausfällen Zustandsdumps zu erstellen.
- Im RISC-V-Architektur-Emulator wurde die API MonitorDef HMP implementiert, OpenSBI (Open Supervisor Binary Interface) auf Version 1.7 aktualisiert und eine Reihe von Fehlerbehebungen vorgenommen.
- Im s390x-Architektur-Emulator wurde zur Leistungssteigerung von virtio-pci die Technologie für die Substitution von virtuellen Interrupts über irqfd aktiviert.
Quelle: opennet.ru
