QEMU 11.0 är här och tar ett rejält kliv framåt för både virtualisering och emulering. Med stöd för nästa generations processorer, förbättringar för flera stora arkitekturer och en rad prestandaoptimeringar stärker den nya versionen sin roll som ett centralt verktyg för utvecklare och systemadministratörer.

Den öppna plattformen QEMU, som används för att emulera datorer och köra virtuella maskiner, har nu släppts i version 11.0. Det är en stor uppdatering som inte bara förbättrar prestandan, utan också förbereder QEMU för nästa generation av processorer och systemarkitekturer.
För utvecklare, testare och systemadministratörer innebär det att ännu fler typer av hårdvara kan efterliknas mer exakt och i många fall snabbare än tidigare.
Ett viktigt steg mot framtidens chip
En av de mest intressanta nyheterna i QEMU 11.0 är stödet för en ny CPU-modell för Intel Diamond Rapids, en kommande processorarkitektur från Intel. Det gör att utvecklare redan nu kan börja testa mjukvara i miljöer som efterliknar framtidens serverplattformar.
Samtidigt introduceras en ny ”nitro”-accelerator som gör det möjligt att köra Nitro Enclaves mer direkt. Det handlar om skyddade körmiljöer för känsliga arbetslaster, något som blir allt viktigare i takt med att säkerhet och isolering får större betydelse i molninfrastruktur.
Version 11.0 innehåller också stöd för CET-virtualisering på KVM, stöd för native context drivers i virtio-gpu och stöd för LAN-konfigurationskommandon i den simulerade BMC-miljön.
Bredare stöd för flera arkitekturer
QEMU är känt för sitt breda hårdvarustöd, och i version 11.0 har flera arkitekturer fått stora förbättringar.
För RISC-V läggs stöd till för Zilsd- och Zclsd-extensionerna, liksom för ZALASR och Smpmpmt. Det gör emuleringen mer komplett och mer användbar för utvecklare som arbetar med den snabbt växande öppna processorarkitekturen.
Även ARM får ett rejält lyft. Här handlar det bland annat om möjligheten att köra binärer som använder den äldre OABI-standarden, stöd för ARMv9-funktionerna FEAT_ASID2 och FEAT_E2H0, samt SMMUv3 IOMMU-acceleration. QEMU får också stöd för att TCG kan emulera processorer med SME men utan SVE.
Dessutom har ARM-stödet fått nya egenskaper som ”virtio-mmio-transports”, vilket gör att gästen inte längre behöver presenteras för oanvända virtio-mmio-transporter, samt ”kvm-psci-version”, som låter användaren ange vilken PSCI-version KVM ska exponera för gästen.
HPPA får oväntat mycket uppmärksamhet
Ett av de mer överraskande områdena i QEMU 11.0 är hur mycket arbete som lagts på HPPA, alltså Hewlett-Packards äldre PA-RISC-arkitektur. Den får nu stöd för den 64-bitars A400-servern, för 64-bitars PAT-firmwaretillägget i SeaBIOS-hppa v22 och för processorer med 40- och 44-bitars fysiskt adressutrymme i SeaBIOS-hppa v23.
I SeaBIOS-hppa v24 tillkommer dessutom full Astro PCI-initialisering.
QEMU 11.0 förbättrar också det kommande stödet för 64-bitars HP-UX, lägger till initialt stöd för multicell-maskiner, ger stöd för emulering av 64-bitars CPU:er med 40- och 44-bitars fysisk adressrymd, och introducerar både 64-bitars GDB-stöd och TOC-stöd på 64-bitars maskiner.
Det här är kanske inte den mest uppmärksammade arkitekturen i dag, men det visar hur QEMU både blickar framåt och samtidigt bevarar möjligheten att arbeta med äldre systemmiljöer.
Fler förbättringar under huven
Andra nyheter i QEMU 11.0 är stöd för alla tillgängliga CSRs i ”info registers”, dokumentation för ”riscv-aia”-acceleration, stöd för MIPS P8700-processorn och möjlighet att starta från virtio-blk-pci-enheter på IBM zSystems och LinuxONE, alltså s390x-plattformen.
WHPX har fått snabbare och bättre emuleringskod samt stöd för x2apic och vapic. MSHV kräver nu Linux-kärna 6.19. Samtidigt har dirty sync-processen optimerats för ojusterade ramblock med KVM, och NFS-blockdrivrutinen har fått stöd för libnfs v6.
Förbättringar även för användarlägesemulering
Även user-mode-emuleringen har uppdaterats i QEMU 11.0. Bland nyheterna finns stöd för termios2, inklusive ioctl-anropen TCGETS2, TCSETS2, TCSETSW2 och TCSETSF2. Dessutom förbättras utskriften för mremap() i strace, statx()-systemanropet har uppdaterats, och Windows får stöd för funktionen guest-network-get-route.
Därför spelar den här uppdateringen roll
QEMU 11.0 är inte bara ännu en ny version. Det är en tydlig signal om hur viktig emulering och virtualisering har blivit i dagens datorvärld. När utvecklare behöver testa för ny hårdvara innan den ens finns på marknaden, när äldre system måste bevaras, eller när virtuella miljöer ska efterlikna riktig hårdvara så exakt som möjligt, spelar verktyg som QEMU en central roll.
Med version 11.0 tar projektet ännu ett steg mot att bli mer framtidssäkert, mer flexibelt och mer användbart över ett brett spektrum av plattformar.

