QEMU 9.1.0 vor allem mit Neuerungen für ARM und RISC-V
QEMU 9.1.0 bringt weitere Unterstützung für moderne Xeon- und Epyc-Prozessoren. Aber auch für ARM, RISC-V, LoongArch und sogar für SPARC gibt es Neues.
- Michael Plura
QEMU 9.1.0 ist da: Die freie Virtualisierungssoftware erhält gegenüber der Version 9.0.0 sogar etwas mehr Commits (2800 statt 2700) von fast 20 Prozent mehr Entwicklern (263 statt 220). Da die Unterstützung für die x86-Architektur recht komplett ist, gibt es hier nur wenige Verbesserungen vor allem für moderne CPU-Funktionen. Stattdessen überwiegen die Neuerungen bei den vergleichsweise jungen Architekturen ARM und RISC-V.
Weggefallen ist die Nios-II-Plattform, eine 32-bittige Embedded-Architektur für Altera FPGAs. Für virtio-basierte Blockgeräte gibt es keine SCSI-Property mehr, man sollte virtio-scsi nutzen.
Neues für Intel Xeon und AMD Epyc
Ausgebaut wurde der Support moderner Intel-Xeon-CPUs: Neben Sapphire Rapids (2023) und Sierra Forrest (2024) gehört dazu auch die Icelake-v7-Architektur. Das Update von Icelake-v3 auf v7 war notwendig, weil es eine Unstimmigkeit mit dem TSX-Feature in Kombination mit taa-no gab. Sollte der Host nicht anfällig für den TAA-Exploit (TSX Async Abort) sein, soll das Aktivieren von TSX mehr Performance bringen. Die Kombination der Intel Query Processing Library (QPL) mit dem In-Memory Analytics Accelerator (IAA) soll in QEMU 9.1.0 über Compression Offload die Migration von VMs beschleunigen.
Über die Befehlszeilenoption -object sev-snp-guest
unterstützt QEMU 9.1.0 AMDs Secure Encrypted Virtualization (SEV) bei der Handhabung von Gästen. Dazu sind ein aktueller Linux-Kernel und AMDs Epyc-Prozessoren nötig.
ARM und RISC-V mit deutlichen Fortschritten
ARM-Gästen bietet QEMU 9.1.0 zusätzliche Features für FEAT_NMI, FEAT_CSV2_3, FEAT_ETS2, FEAT_Spec_FPACC, FEAT_WFxT und FEAT_Debugv8p8. Die emulierte SMMUv3 unterstützt nun Nested Page Tables (zweistufig). Die "max"-CPU (ARMv8-A) und alle neuen CPU-Typen verwenden standardmäßig eine generische Timer-Frequenz von 1 GHz anstelle der alten 62,5 MHz. Architektonisch ist das ab ARMv8.6 zwingend erforderlich. Einige Board-Modelle wie xilinx_zynq erhielten Verbesserungen.
RISC-V-Gästen stehen viele zusätzliche Erweiterungen zur Verfügung, außerdem wird bei RISC-V die 1.13-Spezifikation unterstützt. In der initrd können nun 64-Bit-Adressen verwendet werden. Zudem sind ACPI-Tests möglich. QEMU 9.1.0 unterstützt auf RISC-V nun auch Debugging/GDB über KVM Guest Debug.
LoongArch bootet EIF-Kernel
Die chinesische LoongArch-Architektur, eine Weiterentwicklung auf Basis von MIPS64r6 und RISC-V, kann nun direkt EIF-Kernel booten. Dieses Enclave Image Format wird in AWS Nitro Enclaves benutzt. Auch neu für LoongArch sind die Unterstützung für KVM Guest Debug und TPMs. Selbst die SPARC-Emulation wurde um einige Features erweitert (FMAF, IMA, VIS3, VIS4), die nicht über neue CPU-Typen, sondern manuell über -cpu <type>,+<feature>
aktiviert werden.
Alle Änderungen und mögliche Probleme von QEMU 9.1.0 sind im Changelog dokumentiert. Die Online-Doku und den aktuellen Quellcode stellen die Entwickler frei auf der QEMU-Projektseite bereit.
(fo)