QEMU 7.1 implementerer forbedringer med minneoverføring i Linux
Utgivelsen av QEMU versjon 7.1 ble annonsert, med en rekke forbedringer for diverse emulatorer , særlig endringer for ARM og RISC-V, samt en forbedring av minneoverføring for Linux. Som forberedelse til versjon 7.1 ble over 2800 endringer gjort av 238 utviklere.
For de nye til QEMU, bør du vite at det lar deg kjøre et program bygget for én maskinvareplattform på et system med en helt annen arkitektur, for eksempel å kjøre en ARM-applikasjon på en x86-kompatibel PC.
I virtualiseringsmodus i QEMU er ytelsen til kodekjøring i et isolert miljø lik ytelsen til et maskinvaresystem på grunn av direkte utførelse av instruksjoner på CPU og bruk av Xen hypervisor eller KVM-modul.
Hovednyhetene til QEMU 7.1
I denne nye versjonen som presenteres for Linux, er alternativet «null kopier og send» implementert , som tillater organisering av minnesideoverføringer under live-migrering uten mellomliggende bufring.
I tillegg legger QMP (QEMU Machine Protocol) til muligheten til å bruke kommandoen `block-export-add` for å eksportere NBD-bilder med sidedata i en "skitten" tilstand. Nye `query-stats` og `query-stats-schema`-kommandoer er også lagt til for å spørre statistikk fra forskjellige QEMU-undersystemer.
En annen bemerkelsesverdig endring i denne nye versjonen av QEMU er at gjesteagenten har forbedret kompatibiliteten med Solaris-plattformen og lagt til nye kommandoer, «guest-get-diskstats» og «guest-get-cpustats», for å vise disk- og CPU-status. NVMe SMART-informasjon er lagt til i kommandoen «guest-get-disks», og informasjon om NVMe-busstype er lagt til i kommandoen «guest-get-fsinfo».
I tillegg er det lagt til en ny LoongArch-emulator for å støtte 64-bitersversjonen av LoongArch-instruksjonssettarkitekturen (LA64). Emulatoren støtter Loongson 3 5000-prosessorer og Loongson 7A1000-nordbroer.
Videre fremheves det også at ARM-emulatoren har implementert nye typer emulerte maskiner: Aspeed AST1030 SoC, Qualcomm og AST2600/AST1030 (fby35), i tillegg til å legge til støtte for emulering av Cortex-A76 og Neoverse-N1 CPUer, samt SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) prosessorutvidelser og kommandoer for å blokkere interne hurtigbufferlekkasjer under utførelsen av spekulative instruksjoner i CPU-en.
Mens RISC-V-arkitekturemulatoren har lagt til støtte for de nye instruksjonssettutvidelsene (ISA-ene) som er definert i spesifikasjon 1.12.0, samt ytterligere støtte for Sdtrig-utvidelsen og forbedret støtte for vektorinstruksjoner.
Andre viktige endringer i denne nye versjonen inkluderer:
- Forbedrede feilsøkingsalternativer.
- Lagt til TPM (Trusted Platform Module)-støtte til den 'virt'-emulerte maskinen og lagt til Ibex SPI-støtte til 'OpenTitan'-maskinen.
- x86-emulatoren for KVM har lagt til støtte for virtualisering av LBR (Last Branch Record) sporingsmekanisme.
- Implementert GICv4-avbruddsbehandleremulering for 'virt'-maskiner.
- HPPA-arkitekturemulatoren tilbyr en ny fastvare basert på SeaBIOS v6 som støtter bruk av et PS/2-tastatur i oppstartsmenyen.
- Forbedret serieportemulering.
- Lagt til ekstra STI-konsollfonter.
- MIPS-arkitekturemulatoren for Nios2-kort (-maskin 10m50-ghrd) implementerer vektoravbruddskontrolleremulering og skyggeregistersett.
- Forbedret unntakshåndtering.
- Lagt til muligheten til å bruke opptil 4 16550A UART-enheter i OpenRISC-arkitekturemulatoren for 'or1k-sim'-maskinen.
- 390x arkitekturemulatoren gir støtte for Vector-Enhancements Facility 2 (VEF 2) utvidelser. s390-ccw BIOS har muligheten til å starte opp fra disker med en annen sektorstørrelse enn 512 byte.
- Lagt til støtte for lx106-kjerner og cache-testobjektkoder til Xtensa-arkitekturemulatoren.
Til slutt, hvis du er interessert i å lære mer om endringene og de nye funksjonene i denne nye versjonen av QEMU 7.1, kan du finne detaljer og mer på følgende lenke.