
Am 21. April wurde die bedeutende Version 11.0 von QEMU veröffentlicht – einem Open-Source-Programm zur Emulation von Hardware-Plattformen.
Das Update enthält:
- ein neues Prozessormodell für Intel Diamond Rapids;
- einen neuen 'Nitro'-Beschleuniger für die Ausführung von Nitro Enclaves (dies ermöglicht die Ausführung isolierter Umgebungen direkt über QEMU auf Hosts, die die Nitro-Technologie unterstützen, ohne die Standard-Tools von AWS verwenden zu müssen);
- Unterstützung für die Virtualisierung von CET auf KVM;
- Unterstützung von integrierten Kontext-Treibern für den Grafiktreiber virtio-gpu (eine neue Technologie, die die Grafikbeschleunigung in virtuelle Maschinen ermöglicht und die Grafikleistung fast genauso schnell macht wie auf echter Hardware (bis zu 99% der Host-Leistung);
- Unterstützung für Netzwerk-Konfigurationsbefehle im simulierten BMC (Baseboard Management Controller);
- Für RISC-V wurde Unterstützung für die Erweiterungen Zilsd und Zclsd sowie für die RISC-V-ZALASR-Erweiterung und die Smpmpmt-Erweiterung hinzugefügt;
- Für PowerPC wurde Unterstützung für Snapshots mehrerer Geräte hinzugefügt, und für LoongArch wurde Unterstützung für die Migration von PMU für KVM hinzugefügt;
- Mehrere Änderungen im ARM-Bereich, wie die Möglichkeit, Binärdateien auszuführen, die das alte OABI ABI verwenden, Unterstützung für Architektur-Funktionen wie FEAT_ASID2 und FEAT_E2H0 ARMv9, beschleunigte SMMUv3 IOMMU und Unterstützung von TCG zur Emulation von Prozessoren mit SME, jedoch ohne SVE;
- Der ARM-Support hat ein neues Merkmal namens „virtio-mmio-transports“ erhalten, das es ermöglicht, nicht genutzte virtio-mmio-Transportmittel nicht mehr dem Gast bereitzustellen, sowie die Unterstützung des Merkmals „kvm-psci-version“, das angibt, welche PSCI-Version KVM dem Gast bereitstellen soll;
- Im HPPA ist die Unterstützung für den 64-Bit-Server A400 und die 64-Bit-Firmwareerweiterung PAT für SeaBIOS-hppa Version 22 enthalten, sowie Unterstützung für 40- und 44-Bit-Prozessoren mit physikalischem Adressraum in SeaBIOS-hppa Version 23 und eine vollständige Initialisierung von Astro PCI in SeaBIOS-hppa Version 24;
- Auch für HPPA wurde die Unterstützung für die 64-Bit-Version von HP-UX verbessert, es wurde erste Unterstützung für Multikernel-Computer hinzugefügt, Unterstützung für die Emulation von 64-Bit-Prozessoren mit 40- und 44-Bit-physikalischem Adressraum integriert, Unterstützung für 64-Bit GDB hinzugefügt und Unterstützung für TOC auf 64-Bit-Computern bereitgestellt;
- WHPX hat verbesserten und schnelleren Emulationscode sowie Unterstützung für x2apic und vapic erhalten;
- für MSHV wird jetzt ein Linux-Kernel der Version 6.19 benötigt;
- der Prozess der „schmutzigen Synchronisierung“ (dirty sync — wenn eine virtuelle Maschine ohne Unterbrechung von einem physischen Server auf einen anderen wechselt) wurde für nicht ausgerichtete Ramblöcke (ramblocks) mit KVM optimiert;
- der Blocktreiber NFS erhielt Unterstützung für libnfs Version 6;
- und vieles mehr...
Unter anderem wurden in dieser Version alle verfügbaren CSR in die „Informationsregister“ aufgenommen, die Dokumentation enthält Informationen zur Beschleunigung von „riscv-aia“, Unterstützung für den MIPS P8700 Prozessor wurde hinzugefügt, und die Unterstützung für das Booten von virtio-blk-pci-Geräten auf IBM zSystems und LinuxONE (s390x) wurde implementiert.
Für die Emulation des Benutzermodus bietet QEMU 11.0 Unterstützung für termios2 (TCGETS2, TCSETS2, TCSETSW2, TCSETSF2 ioctls), verbessert die zeilenweise Ausgabe von mremap() und aktualisiert den Systemaufruf statx(). Zu guter Letzt: Diese Version bringt eine Gastnetzwerkrouting-Funktion für Windows.
QEMU bietet die Emulation von Intel x86-Prozessoren und Ein-/Ausgabegeräten. Es kann 80386, 80486, Pentium, Pentium Pro, AMD64 und andere x86-kompatible Prozessoren sowie ARM, MIPS, RISC-V, PowerPC, SPARC, SPARC64 und teilweise m68k emulieren. Es läuft auf Syllable, FreeBSD, OpenBSD, FreeDOS, Linux, Windows 9x, Windows 2000, Mac OS X, QNX, Android und anderen. Weitere Informationen finden Sie auf der Wikipedia-Seite und auf der Projektseite.
Quelle: linux.org.ru
