Predstavljen je izdanak projekta QEMU 7.1. Kao emulator, QEMU omogućuje pokretanje programa sastavljenih za jednu hardversku platformu na sustavu s potpuno drugačijom arhitekturom, na primjer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U načinu virtualizacije, performanse izvršavanja koda u izoliranom okruženju bliske su hardverskom sustavu zahvaljujući izravnom izvršavanju instrukcija na CPU-u i angažiranju hipervizora Xen ili modula KVM.
Izvorno je projekt kreiran od strane Fabrice Bellarda s ciljem omogućavanja pokretanja izvršnih datoteka Linuxa sastavljenih za x86 platformu na arhitekturama različitim od x86. Tijekom godina razvoja podrška je proširena na punu emulaciju za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja prešao je 400. U pripremi verzije 7.1 uneseno je više od 2800 izmjena od 238 programera.
Ključna poboljšanja dodana u QEMU 7.1:
- Na Linux platformi implementirana je opcija zero-copy-send koja omogućava prijenos stranica memorije tijekom live-migracije bez posredničkog buffera.
- U QMP (QEMU Machine Protocol) dodana je mogućnost korištenja komande block-export-add za izvoz NBD slika s podacima o stranicama u stanju 'dirty'. Također su dodane nove komande ‘query-stats’ i ‘query-stats-schema’ za upit statistike iz različitih QEMU pod sustava.
- U agentu za gostujuće sustave poboljšana je podrška za platformu Solaris i dodane nove komande ‘guest-get-diskstats’ i ‘guest-get-cpustats’ za prikaz stanja diskova i CPU-a. U komandu ‘guest-get-disks’ dodan je ispis informacija iz NVMe SMART-a, a u komandu ‘guest-get-fsinfo’ ispis podataka o tipu sabirnice NVMe.
- Dodana je nova emulacija LoongArch s podrškom za 64-bitnu verziju arhitekture skupa naredbi LoongArch (LA64). Emulator podržava procesore Loongson 3 5000 i sjeverne mostove Loongson 7A1000.
- U emulatoru ARM implementirani su novi tipovi emuliranih mašina: Aspeed AST1030 SoC, Qualcomm i AST2600 / AST1030 (fby35). Dodana je podrška za emulaciju CPU-a Cortex-A76 i Neoverse-N1, kao i procesorske ekstenzije SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) i naredbi za blokiranje curenja iz unutarnjih keševa tijekom spekulativnog izvođenja instrukcija na CPU-u. Za ‘virt’ mašine implementirana je emulacija kontrolera prekida GICv4.
- U emulatoru arhitekture x86 za KVM dodana podrška za virtualizaciju mehanizma za praćenje LBR (Last Branch Record).
- U emulatoru arhitekture HPPA predstavljeno je novo ažuriranje zasnovano na SeaBIOS v6, koje podržava korištenje PS/2 tipkovnice u izborniku za pokretanje. Poboljšana je emulacija serijskog porta. Dodani su dodatni konzolni fontovi STI.
- U emulatoru arhitekture MIPS za ploče Nios2 (-machine 10m50-ghrd) implementirana je emulacija vektora kontrolera prekida (Vectored Interrupt Controller) i senčne registracije. Poboljšano je upravljanje iznimkama.
- U emulatoru arhitekture OpenRISC za stroj 'or1k-sim' dodana je mogućnost korištenja do 4 UART uređaja 16550A.
- U emulatoru arhitekture RISC-V dodana je podrška za nove ekstenzije skupa naredbi (ISA) definirane u specifikaciji 1.12.0, kao i podrška za ekstenziju Sdtrig i poboljšana podrška za vektorske upute. Proširene su mogućnosti za ispravljanje grešaka. U emuliranu mašinu 'virt' dodana je podrška za TPM (Trusted Platform Module), a u mašinu 'OpenTitan' — podrška za Ibex SPI.
- U emulatoru arhitekture 390x osigurana je podrška za ekstenzije VEF 2 (Vector-Enhancements Facility 2). U s390-ccw BIOS-u implementirana je mogućnost pokretanja s diskova koji imaju veličinu sektora različitu od 512 bajtova.
- U emulatoru arhitekture Xtensa dodana je podrška za jezgre lx106 i objektnu kodu za testiranje predmemorije.
Izvor: opennet.ru
