Projektet QEMU 7.2 har slÀppts. Som emulator möjliggör QEMU att köra program som Àr byggda 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 prestandan för körning av kod i en isolerad miljö nÀra den av ett hÄrdvarusystem tack vare direkt exekvering av instruktioner pÄ CPU och anvÀndning av hypervisorn Xen eller KVM-modulen.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av exekverbara filer som Àr byggda för x86-plattformen pÄ arkitekturer som Àr olika frÄn x86. Under Ären har stöd för full emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. För version 7.2 har mer Àn 1800 Àndringar frÄn 205 utvecklare implementerats.
NyckelförbÀttringar som lagts till i QEMU 7.2:
- I emulatormodulen för x86 har stöd för AVX-, AVX2-, F16C-, FMA3- och VAES-instruktioner lagts till i den klassiska kodgeneratorn TCG, och prestandaoptimering har genomförts relaterad till anvÀndning av SSE-instruktioner. För KVM har stöd för mekanismen för att spÄra uttrÀde frÄn den virtuella maskinen ('notify vmexit') lagts till, vilket gör det möjligt att kringgÄ fel i CPU som kan leda till lÄsningar.
- I ARM-emulatorn har stöd för CPU Cortex-A35 och processorutvidgningarna ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hĂ„rdvaruövervakning av Ă„tkomstflagga och âdirtyâ tillstĂ„nd) och E0PD (förebygga Ă„tkomst frĂ„n EL0 till delade minneskartor) implementerats.
- I LoongArch-emulatorn har stöd för fw_cfg DMA, varmanslutning av minne och emulering av TPM-enheter (Trusted Platform Module) lagts till.
- I OpenRISC-arkitekturen har en âvirtâ-plattform för enhetstestning och anvĂ€ndning i kontinuerlig integration implementerats. Stöd för flertrĂ„dning i den klassiska kodgeneratorn TCG (Tiny Code Generator) har ocksĂ„ lagts till.
- I RISC-V-emulatorn implementerades möjligheten att ladda firmware frĂ„n pflash i S-lĂ€ge (S-mode) i de emulerade maskinerna âvirtâ. Hanteringen av enhetstrĂ€d har förbĂ€ttrats.
- I emulatorn för arkitekturen 390x stöds utvidgningen MSA5 (Message-Security-Assist Extension 5 med instruktionen PRNO för generering av pseudotillfÀlliga nummer), instruktionerna KIMD/KLM (implementering av SHA-512) samt den utökade tolkningen av zPCI för gÀstsystem baserade pÄ hypervisorn KVM.
- I backend för minneshantering finns det förhandsallokering av minne med hÀnsyn till NUMA-arkitekturen.
- Kontrollen av rubriker i krypterade blockenheter LUKS har förstÀrkts och möjligheten att skapa LUKS-avbilder i macOS har lagts till.
- I backend 9pfs, som möjliggör anvÀndning av det nÀtverksbaserade filsystemet Plan 9 för att ge en virtuell maskin Ätkomst till en annan, har övergÄngen till anvÀndning av hash GHashTable i identifieringstabellen genomförts, vilket i vissa situationer har lett till prestandaförbÀttringar pÄ 6-12 gÄnger.
- Nya netdev-backends stream och dgram har lagts till.
- I agenten för gÀstsystem baserade pÄ ARM-arkitekturen har stöd för FreeBSD lagts till.
- I GUI-versioner för macOS möjliggörs att inkludera grÀnssnitt baserade pÄ Cocoa och SDL/GTK i en enda körbar fil.
- Den inbyggda submodulen "slirp" har tagits bort, och det rekommenderas att anvÀnda systembiblioteket libslirp istÀllet.
- PÄ grund av bristen pÄ tester har stödet för vÀrdsystem med 32-bitars MIPS-processorer som anvÀnder 'Big endian' byteordning förklarats som förÄldrat.
KĂ€lla: opennet.ru
