QEMU 6.2-prosjektet er offisielt lansert. QEMU fungerer som en emulator, som gjør det mulig å kjøre programmer bygget for en maskinvareplattform på et system med en helt annen arkitektur, for eksempel å kjøre et ARM-program på en x86-kompatibel PC. I virtualiseringsmodus er ytelsen til kodekjøring i et isolert miljø nærmest lik den fysiske systemytelsen ved hjelp av direkte utførelse av instruksjoner på CPU og ved bruk av hypervisoren Xen eller KVM-modulen.
Prosjektet ble opprinnelig utviklet av Fabrice Bellard med mål om å muliggjøre kjøring av Linux-kjørbare filer bygget for x86-plattformen på arkitekturer som er forskjellige fra x86. Gjennom mange års utvikling har det blitt lagt til støtte for full emulering på 14 maskinvarearkitekturer, og antall emulerte maskinvareenheter har oversteget 400. Mer enn 2300 endringer utført av 189 utviklere ble implementert i versjon 6.2.
Nøkkelforbedringer lagt til QEMU 6.2:
- I virtio-mem-mekanismen, som muliggjør varmt tilkobling og frakobling av minne til til virtuelle maskiner, er det lagt til full støtte for minnedump av gjest-systemer, kopieringsoperasjoner før og etter migrering av miljøet (pre-copy/post-copy) og oppretting av snapshots av gjest-systemet i bakgrunnen.
- I QMP (QEMU Machine Protocol) er det implementert behandling av feil DEVICE_UNPLUG_GUEST_ERROR, som oppstår på gjest-systemets side ved feil under utførelse av varmt tilkoblingsutstyr.
- Syntaksen for oppstartargumenter behandlet i plugin-modulene til den klassiske TCG (Tiny Code Generator) er utvidet. Plugin-modulen 'cache' har fått støtte for flerkerne-systemer.
- I emulatoren for x86-arkitekturen er det implementert støtte for CPU-modellen Intel Snowridge-v4. Det er også lagt til støtte for tilgang til Intel SGX (Software Guard eXtensions) enclaves fra gjest-systemer, ved å bruke enheten /dev/sgx_vepc på verts-systemet og backend 'memory-backend-epc' i QEMU. For gjest-systemer beskyttet med AMD SEV (Secure Encrypted Virtualization) teknologi, er det lagt til muligheten for verifiserbar direkte oppstart (uten bruk av bootloader) av kjernen (aktiveres ved å sette parameteren 'kernel-hashes=on' i 'sev-guest').
- I emulatore ARM på verts-systemer med Apple Silicon-brikkene er det implementert støtte for det maskinvareakselererte mekanismen «hvf» når man kjører gjestesystemer basert på AArch64-arkitekturen. Støtte for emulering av Fujitsu A64FX prosessorens modell er lagt til. En ny type emulerte maskiner «kudo-mbc» er implementert. For maskiner 'virt' er det lagt til støtte for emulering av ITS (Interrupt Translation Service) og muligheten for å bruke mer enn 123 CPU-er i emuleringsmodus. For de emulerte maskinene «xlnx-zcu102» og «xlnx-versal-virt» er det lagt til støtte for BBRAM- og eFUSE-enheter. For systemer basert på Cortex-M55-brikken er det gitt støtte for den mobile prosessorutvidelsen MVE.
- I PowerPC-arkitekturens emulator er det lagt til grunnleggende støtte for CPU POWER10 DD2.0-modellen. For de emulerte maskinene «powernv» er POWER10-arkitekturstøtten forbedret, og for maskiner ‘pseries’ er det lagt til beskrivelser av FORM2 PAPR NUMA.
- I RISC-V-arkitekturens emulator er støtte for Zb[abcs] instruksjonssettutvidelser lagt til. For alle emulerte maskiner er bruken av alternativer som «host-user» og «numa mem» tillatt. Støtte for SiFive PWM (Pulse-width modulator) er lagt til.
- I 68k-arkitekturens emulator er støtten for Apples foreslåtte NuBus-buss forbedret, inkludert muligheten for å laste inn firmwarebilder og støtte for avbruddsporter.
- I blokk-enheten qemu-nbd er skriving av operasjoner i cache-modus («writeback» i stedet for «writethrough») som standard aktivert for å samsvare med oppførselen til qemu-img. Den nye alternativet «—selinux-label» er lagt til for å tildele SELinux-merker til Unix-sokler.
Kilde: opennet.ru
