QEMU 9.2 har slÀppts. Som emulator möjliggör QEMU att köra program som Àr kompilerade för en hÄrdvaruplattform pÄ ett system med helt annorlunda arkitektur, till exempel att köra en applikation för ARM pÄ en x86-kompatibel PC. I virtualiseringslÀge Àr prestandan för kodkörning i en isolerad miljö nÀra hÄrdvarusystemets nivÄ, tack vare direkt exekvering av instruktioner pÄ CPU och anvÀndning av hypervisorer som Xen eller KVM-modulen i Linux, eller NVMM-modulen i NetBSD.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av Linux-exekverbara filer kompilerade för x86-arkitekturen pÄ andra arkitekturer. Under Ären har stöd lagts till för fullstÀndig emulering av 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. I förberedelse för version 9.2 har mer Àn 1700 Àndringar gjorts av 209 utvecklare.
NyckelförbÀttringar som lagts till i QEMU 9.2:
- Experimentellt stöd för att skapa enhetsmodeller skrivna i Rust har lagts till. Vid kompilering av QEMU med Rust-stöd anvÀnds som standard en alternativ implementation av PL011 UART-drivrutinen skriven i Rust, men den rekommenderas för nÀrvarande inte för allmÀnt bruk.
För nÀrvarande Àr Rust-stöd i QEMU stÀngt som standard och aktiveras vid kompilering genom att ange alternativet "--enable-rust" vid körning av konfigurationsscriptet. För att kompilera med Rust krÀvs minst versioner av rustc 1.63.0 och bindgen 0.60.0 (till exempel krÀvs en nyare version av Rust att installeras separat i Debian 12). I framtiden planerar man att göra Rust-kompilatorn och bindgen-generatorn obligatoriska byggberoenden.
Bland planerna för att frÀmja Rust i QEMU kan nÀmnas att drivrutinen för HPET (High Precision Event Timer) och drivrutinen för blockenheter som skrivs i Rust ska göras funktionsdugliga, fortsÀttning av utvecklingen av bindningar för anvÀndning av Rust i olika komponenter av QEMU (till exempel i drivrutiner för blockenheter, timers och GPIO), samt omskrivning i Rust av sÀkerhetskritiska system som virtio.
- I VirtIO-GPU-enheten, som möjliggör anvÀndning av en virtuell GPU, har stöd för 3D-accelerering med grafiska API:t Vulkan lagts till. Detta Àr implementerat genom Mesa Vulkan-drivrutinen Venus, som gör det möjligt att ge gÀstsystemet en virtuell GPU för 3D-rendering utan att öppna exklusiv direkt Ätkomst till den fysiska GPU:n. För funktion krÀvs biblioteket virglrenderer pÄ vÀrdsystemet och Mesa-drivrutinen Venus pÄ gÀstsystemet. En instruktion för att konfigurera Vulkan-stödet i QEMU Àr tillgÀnglig.
- I verktyget för gÀstmigrering har stöd för accelerering av komprimeringsoperationer för samtidigt överförda datastreams lagts till, med hjÀlp av biblioteket QATzip, som anvÀnder den inbyggda QAT (QuickAssist Technology) -acceleratorn i Intel-processorer. Detta erbjuder medel för att pÄskynda berÀkningar relaterade till komprimering och kryptering.
- I den kryptografiska backend baserad pÄ GLib har stöd för hash-algoritmen SHA-384 lagts till.
- I ARM-arkitekturen emulator har stöd för processorutvidgningarna FEAT_EBF16 och FEAT_CMOW lagts till, samt utvidgningar för sÀkerhet som anvÀnds pÄ Xilinx Zynq-A9-korts. Vid anvÀndning av HVF-komponenten, som anvÀnder verktyget Hypervisor.framework för att accelerera gÀstsystemets körning pÄ ARM-datorer, erbjuds stöd för mer Àn 64 GB minne. För de emulerade system som sbsa-ref och virt har stöd för tvÄ-stegs översÀttning av adresser till SMMU (System Memory Management Unit) lagts till. Stödet för förÄldrade typer av emulerad utrustning akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex och z2 har upphört.
- I x86-arkitekturens emulator har stöd för en ny typ av hĂ„rdvarukonfiguration â nitro-enclave, som emulerar AWS Nitro Enclave-miljön och kan ladda systembilder i Enclave Image Format.
- I x86-arkitekturens emulator för hypervisor KVM har möjligheten att aktivera stöd för instruktionsuppsĂ€ttningen AVX10 implementerats, samt specifika versioner av AVX10 â avx10-128, avx10-256 och avx10-512.
- I RISC-V-arkitekturens emulator har stöd för utvidgningarna av instruktionsuppsÀttningen Svvptc, Bitmanip (Bit-Manipulation) och CFI (Control Flow Integrity) lagts till, som anvÀnds pÄ OpenTitan-kort. I typen av emulerade system "virt" har stöd för IOMMU lagts till. Prestandan för instruktionerna ld och st har ökat.
- I HPPA-arkitekturens emulator har firmware SeaBIOS-hppa uppdaterats till version 17.
- I emulatorn av arkitektur s390x har möjligheten att starta frÄn andra enheter lagts till om det inte gick att starta frÄn den angivna enheten.
KĂ€lla: opennet.ru
