Releasen av QEMU 7.2-projektet presenteras. Som emulator lÄter QEMU dig köra ett program byggt för en hÄrdvaruplattform pÄ ett system med en helt annan arkitektur, till exempel köra en ARM-applikation pÄ en x86-kompatibel PC. I virtualiseringslÀget i QEMU Àr prestandan för kodexekvering i en isolerad miljö nÀra ett hÄrdvarusystem pÄ grund av direkt exekvering av instruktioner pÄ CPU:n och anvÀndningen av Xen hypervisor eller KVM-modul.
Projektet skapades ursprungligen av Fabrice Bellard för att ge möjligheten att köra körbara filer kompilerade för x86-plattformen. Linux pÄ andra arkitekturer Àn x86. Under utvecklingsÄrens lopp har stöd för fullstÀndig emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter översteg 400. Vid förberedelserna av version 7.2 gjordes mer Àn 1 800 Àndringar frÄn 205 utvecklare.
Viktiga förbÀttringar som lagts till i QEMU 7.2:
- X86-arkitekturemulatorn i den klassiska TCG-kodgeneratorn har lagt till stöd för AVX-, AVX2-, F16C-, FMA3- och VAES-instruktioner, samt prestandaoptimeringar relaterade till anvÀndningen av SSE-instruktioner. KVM Lade till stöd för en mekanism för att övervaka avslutningar av virtuella maskiner ("notify vmexit"), vilket gör att du kan kringgÄ CPU-fel som kan leda till att programmet hÀnger sig.
- ARM-emulatorn stöder Cortex-A35 CPU och följande processortillÀgg: ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hÄrdvarukontroll av Ätkomstflaggan och "smutsigt" tillstÄnd) och E0PD (EL0-Ätkomstförebyggande för att dela adresskartor).
- LoongArch-emulatorn stöder nu fw_cfg DMA, minnes-hotplugging och TPM-enhetsemulering (Trusted Platform Module).
- OpenRISC-arkitekturemulatorn implementerar plattformen 'virt' för att testa enheter och anvÀnda dem i kontinuerliga integrationssystem. Stöd för flertrÄdad exekvering av den klassiska TCG-kodgeneratorn (Tiny Code Generator) har implementerats.
- RISC-V-arkitekturemulatorn i emulerade 'virt'-maskiner har uppdaterats för att stödja laddning av firmware frÄn pflash i S-lÀge. FörbÀttrat arbete med enhetstrÀdet.
- 390x-arkitekturemulatorn stöder MSA5 (Message-Security-Assist Extension 5 med PRNO-instruktionen för generering av pseudoslumpmÀssiga tal), KIMD/KLM-instruktioner (SHA-512-implementering) och utökad zPCI-tolkning för KVM-hypervisorbaserade gÀster.
- Minnesbackends tillhandahÄller förallokering av minne med hÀnsyn till NUMA-arkitekturen.
- FörbÀttrad verifiering av LUKS-krypterade blockenhetsrubriker, möjligheten att skapa LUKS-avbildningar i macOS.
- 9pfs-backend, som tillÄter anvÀndning av Plan 9-nÀtverksfilsystemet för att komma Ät en virtuell maskin frÄn en annan, har bytt till att anvÀnda GHashTable-hashen i identifieringstabellen, vilket i vissa situationer har lett till en 6-12x prestandaökning.
- Lade till ny netdev-backend-ström och dgram.
- FreeBSD-stöd har lagts till i ARM-gÀstagenten.
- I GUI-assemblies för macOS Möjligheten att inkludera grÀnssnitt baserade pÄ Cocoa och SDL/GTK i en enda körbar fil har tillhandahÄllits.
- Den inbyggda undermodulen "slirp" har tagits bort, och det rekommenderas att anvÀnda systembiblioteket libslirp istÀllet.
- PÄ grund av bristande testkapacitet har stöd för vÀrdsystem med 32-bitars MIPS-processorer som anvÀnder Big Endian-byteordning förÄldrats.
KĂ€lla: opennet.ru
