QEMU 7.1 implementerer forbedringer med hukommelsesoverførsel i Linux
Udgivelsen af ​​QEMU version 7.1 blev annonceret, og den indeholdt en række forbedringer til forskellige emulatorer , især ændringer til ARM og RISC-V, samt en forbedring af hukommelsesoverførsel til Linux. Som forberedelse til version 7.1 blev der foretaget over 2800 ændringer af 238 udviklere.
For dem, der er nye til QEMU, skal du vide, at det giver dig mulighed for at køre et program bygget til én hardwareplatform på et system med en helt anden arkitektur, for eksempel at køre en ARM-applikation på en x86-kompatibel pc.
I virtualiseringstilstand i QEMU ligner ydeevnen af ​​kodeudførelse i et isoleret miljø den for et hardwaresystem på grund af den direkte udførelse af instruktioner på CPU'en og brugen af ​​Xen-hypervisor- eller KVM-modulet.
Vigtigste nyheder om QEMU 7.1
I denne nye version, der præsenteres til Linux, er funktionen "nul-kopier-send" implementeret , hvilket muliggør organisering af hukommelsessideoverførsler under livemigrering uden mellemliggende buffering.
Derudover tilføjer QMP (QEMU Machine Protocol) muligheden for at bruge kommandoen `block-export-add` til at eksportere NBD-billeder med sidedata i en "beskidt" tilstand. Nye `query-stats` og `query-stats-schema` kommandoer er også blevet tilføjet til forespørgsler om statistik fra forskellige QEMU-undersystemer.
En anden bemærkelsesværdig ændring i denne nye version af QEMU er, at gæsteagenten har forbedret kompatibiliteten med Solaris-platformen og tilføjet nye kommandoer, 'guest-get-diskstats' og 'guest-get-cpustats', til at vise disk- og CPU-status. NVMe SMART-oplysninger er blevet tilføjet til kommandoen 'guest-get-disks', og NVMe-bustypeoplysninger er blevet tilføjet til kommandoen 'guest-get-fsinfo'.
Derudover er der tilføjet en ny LoongArch-emulator for at understøtte 64-bit-versionen af ​​LoongArch-instruktionssætarkitekturen (LA64). Emulatoren understøtter Loongson 3 5000-processorer og Loongson 7A1000-nordbroer.
Derudover fremhæves det også, at ARM-emulatoren har implementeret nye typer emulerede maskiner: Aspeed AST1030 SoC, Qualcomm og AST2600/AST1030 (fby35), udover at tilføje understøttelse af emulering af Cortex-A76 og Neoverse-N1 CPU'er, samt SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) processorudvidelser og kommandoer til at blokere interne cache-lækager under udførelsen af ​​spekulative instruktioner i CPU'en.
Mens RISC-V-arkitekturemulatoren har tilføjet understøttelse af de nye instruktionssætudvidelser (ISA'er), der er defineret i specifikation 1.12.0, samt yderligere understøttelse af Sdtrig-udvidelsen og forbedret understøttelse af vektorinstruktioner.
Andre bemærkelsesværdige ændringer i denne nye version inkluderer:
- Forbedrede fejlfindingsmuligheder.
- Tilføjet Trusted Platform Module (TPM)-understøttelse til den 'virt'-emulerede maskine og tilføjet Ibex SPI-understøttelse til 'OpenTitan'-maskinen.
- x86-emulatoren til KVM har tilføjet understøttelse af virtualisering af LBR-sporingsmekanismen (Last Branch Record).
- Implementeret GICv4 interrupt handler-emulering for 'virt' maskiner.
- HPPA-arkitekturemulatoren tilbyder en ny firmware baseret på SeaBIOS v6, der understøtter brugen af ​​et PS/2-tastatur i boot-menuen.
- Forbedret seriel port-emulering.
- Tilføjet yderligere STI-konsolskrifttyper.
- MIPS-arkitekturemulatoren til Nios2-kort (-maskine 10m50-ghrd) implementerer vektorafbrydelsescontrolleremulering og skyggeregistersæt.
- Forbedret undtagelseshåndtering.
- Tilføjet muligheden for at bruge op til 4 16550A UART-enheder i OpenRISC-arkitekturemulatoren til 'or1k-sim'-maskinen.
- 390x arkitekturemulatoren understøtter Vector-Enhancements Facility 2 (VEF 2) udvidelser. s390-ccw BIOS'en har evnen til at starte fra diske med en anden sektorstørrelse end 512 bytes.
- Tilføjet understøttelse af lx106-kerner og cache-testobjektkoder til Xtensa-arkitekturemulatoren.
Endelig, hvis du er interesseret i at lære mere om ændringerne og de nye funktioner i denne nye version af QEMU 7.1, kan du finde detaljer og mere på følgende link.