QEMU 7.1 implementira poboljšanja s prijenosom memorije u Linuxu
Najavljeno je izdavanje QEMU verzije 7.1, koja sadrži niz poboljšanja za različite emulatore , a najznačajnije su promjene za ARM i RISC-V, kao i poboljšanje prijenosa memorije za Linux. U pripremi za verziju 7.1, 238 programera je napravilo preko 2800 promjena.
Za one koji su novi u QEMU-u, trebali biste znati da vam omogućava da pokrenete program napravljen za jednu hardversku platformu na sistemu sa potpuno drugom arhitekturom, na primjer pokretanje ARM aplikacije na x86 kompatibilnom PC-u.
U režimu virtuelizacije u QEMU, performanse izvršenja koda u izolovanom okruženju su slične performansama hardverskog sistema zbog direktnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.
Glavne vijesti QEMU 7.1
U ovoj novoj verziji predstavljenoj za Linux, implementirana je opcija slanja bez kopiranja , koja omogućava organizaciju prijenosa memorijskih stranica tokom migracije uživo bez međubaferovanja.
Pored toga, QMP (QEMU Machine Protocol) dodaje mogućnost korištenja naredbe `block-export-add` za izvoz NBD slika s podacima stranice u "prljavom" stanju. Dodane su i nove naredbe `query-stats` i `query-stats-schema` za ispitivanje statistike iz različitih QEMU podsistema.
Još jedna značajna promjena u ovoj novoj verziji QEMU-a je poboljšana kompatibilnost gostujućeg agenta sa Solaris platformom i dodane nove naredbe, 'guest-get-diskstats' i 'guest-get-cpustats', za prikaz statusa diska i CPU-a. NVMe SMART informacije su dodane naredbi 'guest-get-disks', a informacije o tipu NVMe magistrale su dodane naredbi 'guest-get-fsinfo'.
Pored toga, dodat je novi LoongArch emulator koji podržava 64-bitnu verziju arhitekture skupa instrukcija LoongArch (LA64). Emulator podržava Loongson 3 5000 procesore i Loongson 7A1000 sjeverne mostove.
Nadalje, istaknuto je i da je ARM emulator implementirao nove tipove emuliranih mašina: Aspeed AST1030 SoC, Qualcomm i AST2600/AST1030 (fby35), pored dodavanja podrške za emulaciju Cortex-A76 i Neoverse-N1 CPU-a, kao i SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) proširenja procesora i naredbi za blokiranje curenja interne keš memorije tokom izvršavanja spekulativnih instrukcija u CPU-u.
Dok je emulator RISC-V arhitekture dodao podršku za nova proširenja skupa instrukcija (ISA) definirana u specifikaciji 1.12.0, kao i dodatnu podršku za proširenje Sdtrig i poboljšanu podršku za vektorske instrukcije.
Druge značajne promjene u ovoj novoj verziji uključuju:
- Poboljšane opcije za otklanjanje grešaka.
- Dodata podrška za Trusted Platform Module (TPM) 'virt' emuliranoj mašini i dodata podrška za Ibex SPI na 'OpenTitan' mašinu.
- x86 emulator za KVM je dodao podršku za virtuelizaciju LBR (Last Branch Record) mehanizma praćenja.
- Implementirana GICv4 emulacija rukovaoca prekida za 'virt' mašine.
- Emulator HPPA arhitekture nudi novi firmver baziran na SeaBIOS v6 koji podržava upotrebu PS/2 tastature u meniju za pokretanje.
- Poboljšana emulacija serijskog porta.
- Dodati dodatni STI konzolni fontovi.
- Emulator MIPS arhitekture za Nios2 ploče (-machine 10m50-ghrd) implementira emulaciju kontrolera vektorskog prekida i set registara sjene.
- Poboljšano rukovanje izuzetcima.
- Dodata mogućnost korištenja do 4 16550A UART uređaja u emulatoru arhitekture OpenRISC za 'or1k-sim' mašinu.
- Emulator arhitekture 390x pruža podršku za ekstenzije Vektorskog poboljšanja 2 (VEF 2). BIOS s390-ccw ima mogućnost pokretanja sa diskova čija je veličina sektora različita od 512 bajtova.
- Dodata podrška za lx106 kernele i objektne kodove za testiranje keša emulatoru arhitekture Xtensa.
Konačno, ako ste zainteresirani da saznate više o promjenama i novim funkcijama u ovoj novoj verziji QEMU 7.1, detalje i više možete pronaći na sljedećem linku.