QEMU 9.1-projektets release har presenterats. Som en emulator gör QEMU det möjligt att köra program som Àr sammanstÀllda för en hÄrdvaruplattform pÄ ett system med en helt annan arkitektur, till exempel att köra en ARM-applikation pÄ en x86-kompatibel PC. I virtualiseringslÀge Àr kodens prestanda i en isolerad miljö nÀra den fysiska systemets tack vare direkt körning av instruktioner pÄ CPU:n och anvÀndning av hypervisorn 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 som Àr sammanstÀllda för x86-plattformen pÄ arkitekturer som skiljer sig frÄn x86. Under Ären har fullstÀndig emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. För version 9.1 har mer Àn 2800 förÀndringar gjorts av 263 utvecklare.
NyckelförbÀttringar som lagts till i QEMU 9.1:
- I verktygen för migrering av gÀstsystem har stöd för att pÄskynda data komprimeringsoperationer implementerats, med hjÀlp av teknologin IAA (Intel In-Memory Analytics Accelerator) eller UADK (User Space Accelerator Development Kit). Stöd för ÄterstÀllning efter migrationsfel i postcopy-lÀge har förbÀttrats.
- I virtio-mekanismen, som anvÀnds för att organisera interaktionen mellan gÀstsystem och vÀrdsystem, har stöd för funktionen VIRTIO_F_NOTIFICATION_DATA lagts till, vilket ger drivrutiner pÄ gÀstsystemen möjlighet att skicka ytterligare data tillsammans med de sÀnda meddelandena. Denna funktion kan anvÀndas för att skickar till exempel felsökningsdata eller för att optimera prestandan.
- I guest-agent för Linux-system har kommandot guest-network-get-route lagts till, medan kommandon för Windows-system guest-ssh-* har introducerats. Möjligheterna att konfigurera kommandona "allowed" och "blocked" har utökats i kommandoradsgrÀnssnittet.
- I ARM-emulatorn har stöd för processorutvidgningarna EAT_NMI, FEAT_CSV2_3, FEAT_ETS2, FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8 lagts till. Vid emulering av SMMUv3 (System Memory Management Unit) implementeras stöd för inbÀddade och tvÄnivÄminnessidor. För Xilinx Zynq-kort har stöd för emulering av flerprocessor-konfigurationer, DM163 bildskÀrmskontroller och cachekontroller lagts till.
- I emuleraren för LoongArch-arkitekturen har direktladdning av kÀrnavbilder i ELF-format möjliggjorts och stöd för upp till 256 CPU:er har lagts till med hjÀlp av extioi-funktionen. Möjligheterna för debugging har förbÀttrats.
- I emuleraren för RISC-V-arkitekturen har stöd för processortillÀgg Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha, Zawrs och Smcntrpmf lagts till, liksom version 1.13 av den privilegierade instruktionuppsÀttningens specifikation. Möjligheterna för debugging har förbÀttrats.
- I emuleraren för SPARC-arkitekturen har stöd för processortillÀgg FMAF, IMA, VIS3 och VIS4 lagts till.
- I x86-arkitekturens emulator för hypervisor KVM Det har införts stöd för att köra gÀstsysten med hjÀlp av processortillÀgget AMD SEV-SNP (Secure Nested Paging), vilket sÀkerstÀller sÀker hantering av inbÀddade sidtabeller. Stöd för CPU-emulering baserad pÄ mikroarkitekturerna Icelake-Server-v7, SapphireRapids-v3 och SierraForest har implementerats.
- SÄrbarheten (CVE-2024-7409) i servern NBD (Network Block Device), vilket möjliggör att genom manipulation i gÀstsysten fÄ QEMU att krascha under utförandet av operationen nbd-server-stop, Àven om klienten inte har TLS-nycklar för att ansluta till NBD-servern.
KĂ€lla: opennet.ru
