Veröffentlichung des Emulators QEMU 11.0.0

Die Veröffentlichung des Projekts QEMU 11.0.0 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 Virtualisierungsmodus erreicht QEMU eine nahezu hardwareähnliche Ausführungsleistung von Code in einer isolierten Umgebung dank der direkten Ausführung von Anweisungen auf der CPU und der Nutzung des Hypervisors Xen oder des KVM-Moduls unter Linux oder des NVMM-Moduls unter NetBSD.

Das Projekt wurde ursprünglich von Fabrice Bellard ins Leben gerufen, um die Ausführung von für die x86-Plattform erstellten Linux-Binärdateien auf anderen Architekturen zu ermöglichen. Im Laufe der Jahre wurde die vollständige Emulation für 14 Hardwarearchitekturen hinzugefügt, und die Anzahl der emulierten Hardwaregeräte hat 400 überschritten. Bei der Vorbereitung der Version 11.0.0 wurden über 2500 Änderungen von 237 Entwicklern vorgenommen.

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

  • Die Unterstützung für 32-Bit-Hostsysteme wurde entfernt, nachdem sie im April letzten Jahres in QEMU 10.0 als veraltet erklärt wurde. In der Dezember-Version 10.2 wurde die Unterstützung für die Plattformen mips32 und ppc32 im TCG (Tiny Code Generator) eingestellt, und in der Version QEMU 11.0 wurden die verbleibenden Plattformen i386, arm, ppc und riscv32 entfernt. Zudem fand eine Bereinigung des Codebases und des Build-Systems von Komponenten für die Arbeit auf 32-Bit-Hosts statt.
  • Ein Beschleuniger für die Virtualisierung „nitro“ („-accel nitor“) sowie ein neuer Typ emulierter Systeme „nitro“ wurde implementiert. Dies ermöglicht das Starten isolierter Enklaven in QEMU, basierend auf der Technologie für vertrauliche Berechnungen AWS Nitro Enclave, beispielsweise für lokale Tests in QEMU-Umgebungen von Nitro Enclave. In AWS EC2 ermöglicht die Nitro Enclave-Technologie das Starten von verschachtelten isolierten Enklaven in einer virtuellen Maschine zur Verarbeitung vertraulicher Daten, denen ein Teil der eigenen Ressourcen zugewiesen wird.
  • Die Unterstützung für die Virtualisierungsbeschleuniger MSHV (Microsoft Hypervisor) und WHPX (Microsoft Windows Hypervisor Platform Extensions) wurde verbessert.
  • Bei Verwendung des Hypervisors KVM („-accel kvm“) wurde die Unterstützung für die Virtualisierungserweiterung Intel CET (Control-flow Enforcement Technology) bereitgestellt. virtuellen Maschinen wurde vereinfacht. Schutz vor Exploits, die Rückkehrorientierte Programmierungsmethoden (ROP - Return-Oriented Programming) nutzen. Zudem wurde die Unterstützung für das Neustarten vertraulicher virtuellen Maschinen, die zur Verschlüsselung des Speichers die Erweiterungen AMD SEV-SNP (Secure Encrypted Virtualization - Secure Nested Paging) und Intel TDX (Trust Domain Extensions) verwenden, hinzugefügt.
  • Im VirtIO-GPU-Gerät, das den Betrieb der virtuellen GPU ermöglicht, wurde die Funktion hinzugefügt, unterschiedliche Bildschirmauflösungen für verschiedene Ausgabegeräte festzulegen.
  • In VirtIO-GPU wurde die Unterstützung für DRM-Kontexte (Direct Rendering Manager native context) integriert, die die Leistung der virtuellen GPU in der Gastsystemumgebung durch die direkte Übertragung von Befehlen an die tatsächliche Host-GPU steigern. Die Unterstützung von DRM-Kontexten wird aktiviert, wenn das neue Gerät virtio-gpu-gl mit der Option „drm_native_context=on“ verwendet wird. Im Gegensatz zu den Virgl- und Venus-Kontexten, die auf der API-Ebene von OpenGL und Vulkan arbeiten, wird der DRM-Kontext auf der UAPI-Ebene des Linux-Kernels implementiert.
  • Die Möglichkeit zur Verwendung der Programmiersprache C++ für die Entwicklung von Plugins für den TCG (Tiny Code Generator) wurde hinzugefügt.
  • Im Blocktreiber NFS wurde die Unterstützung für den Build mit der Bibliothek libnfs 6 hinzugefügt.
  • Im Blocktreiber curl wurde die Option „force-range“ hinzugefügt, um die Verwendung des HTTP-Headers „Range“ beim Download von Bildern ohne vorherige Prüfung seiner Unterstützung durch eine separate HEAD-Anfrage zu erzwingen.
  • Im Blocktreiber FUSE wurde die Verarbeitung von Exportoperationen im synchronen Modus deaktiviert, wodurch das Starten der virtuellen Maschine blockiert wurde, bis die Verarbeitung anderer FUSE-Anfragen abgeschlossen war. Es wurde die Möglichkeit hinzugefügt, mehrere Ein-/Ausgabeströme (iothread) beim Ausführen des Exports in FUSE zu verwenden.
  • Im x86-Architektur-Emulator wurde die Unterstützung für den Intel Diamond Rapids CPU („Xeon 7“) hinzugefügt.
  • Im ARM-Architektur-Emulator wurden die CPU-Erweiterungen FEAT_ASID2 und FEAT_E2H0 hinzugefügt. Der TCG-Codegenerator implementierte die Emulation der SME-Erweiterungen (Scalable Matrix Extension).
  • Im HPPA-Architektur-Emulator wurde die Emulation von 64-Bit-CPUs mit 40- und 44-Bit-Adressraum hinzugefügt. Mit Hilfe von SeaBIOS-hppa 24 wurde die Initialisierung des PCI-Controllers Astro ermöglicht, was die Verwendung von PCI-Grafikkarten auf 64-Bit-Systemen erlaubt.
  • Im LoongArch-Architektur-Emulator wurde die Möglichkeit der Migration der PMU (Performance Monitoring Unit) bei Verwendung des KVM-Hypervisors implementiert. Im TCG-Codegenerator wurde die Emulation der Erweiterungen LA v1.1, sc.q und llacq/screl sowie der Anweisungen FRECIP und DRECIP zur Berechnung der reziproken Werte realisiert.
  • Im PowerPC-Architektur-Emulator wurde die Unterstützung von Snapshots hinzugefügt.
  • Im RISC-V-Architektur-Emulator wurde die Unterstützung für CPUs vom Typ MIPS P8700 und die Befehlssatzerweiterungen Zilsd, Zclsd, ZALASR und Smpmpmt implementiert.
  • Im s390-Architektur-Emulator wurde die Unterstützung für das Booten von virtio-blk-pci-Geräten hinzugefügt und die Emulation der Anweisung „DIVIDE TO INTEGER“ realisiert.
  • Ein Fix wurde angenommen, der die Verzögerungen bei der Verwendung von fdmon (File Descriptor Monitoring) im Modus „aio=io_uring“ und im Leerlaufzustand des Systems um das 50-80-Fache reduziert.

    Quelle: opennet.ru
Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster