Release av QEMU 7.2-emulatorn

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 tillåta körbara Linux-filer byggda för x86-plattformen att köras på icke-x86-arkitekturer. Under årens utveckling har fullt emuleringsstöd lagts till för 14 hårdvaruarkitekturer, antalet emulerade hårdvaruenheter har överstigit 400. Som förberedelse för version 7.2 har mer än 1800 ändringar gjorts 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örstärkt verifiering av LUKS-krypterade blockenhetsrubriker, möjligheten att skapa LUKS-avbildningar på macOS har lagts till.
  • 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.
  • GUI-byggen för macOS ger nu möjligheten att inkludera Cocoa-baserade och SDL/GTK-baserade gränssnitt i en enda körbar fil.
  • 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

Lägg en kommentar