Je představeno vydání projektu QEMU 7.1. Jako emulátor vám QEMU umožňuje spouštět program vytvořený pro jednu hardwarovou platformu na systému se zcela odlišnou architekturou, například spouštět aplikaci ARM na počítači kompatibilním s x86. V režimu virtualizace v QEMU se výkon provádění kódu v izolovaném prostředí blíží hardwarovému systému díky přímému provádění instrukcí na CPU a použití hypervizoru Xen nebo KVM modulu.
Projekt původně vytvořil Fabrice Bellard, aby umožnil spustitelné soubory Linuxu vytvořené pro platformu x86 na architekturách jiných než x86. V průběhu let vývoje byla přidána plná podpora emulace pro 14 hardwarových architektur, počet emulovaných hardwarových zařízení přesáhl 400. V rámci přípravy na verzi 7.1 bylo provedeno více než 2800 změn od 238 vývojářů.
Klíčová vylepšení přidaná v QEMU 7.1:
- Na platformě Linux je implementována možnost zero-copy-send, která umožňuje organizovat přenos paměťových stránek během živé migrace bez přechodného ukládání do vyrovnávací paměti.
- QMP (QEMU Machine Protocol) přidal možnost použít příkaz block-export-add k exportu obrázků NBD s daty stránek ve „špinavém“ stavu. Do statistik dotazů z různých subsystémů QEMU byly také přidány nové příkazy 'query-stats' a 'query-stats-schema'.
- Guest Agent vylepšil podporu pro platformu Solaris a přidal nové příkazy 'guest-get-diskstats' a 'guest-get-cpustats' pro zobrazení stavu disku a CPU. Přidán výstup informací z NVMe SMART do příkazu 'guest-get-disks' a výstup informací o typu sběrnice NVMe do příkazu 'guest-get-fsinfo'.
- Přidán nový emulátor LoongArch s podporou 64bitové varianty architektury instrukční sady LoongArch (LA64). Emulátor podporuje procesory Loongson 3 5000 a severní můstky Loongson 7A1000.
- Emulátor ARM implementuje nové typy emulovaných strojů: Aspeed AST1030 SoC, Qaulcomm a AST2600/AST1030 (fby35). Přidána podpora emulace CPU Cortex-A76 a Neoverse-N1, stejně jako rozšíření procesoru SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) a příkazy pro blokování úniků z interní mezipaměti při spekulativním provádění instrukcí na PROCESOR. Pro stroje 'virt' byla implementována emulace řadiče přerušení GICv4.
- V emulátoru architektury x86 pro KVM byla přidána podpora pro virtualizaci sledovacího mechanismu LBR (Last Branch Record).
- Emulátor architektury HPPA nabízí nový firmware založený na SeaBIOS v6, který podporuje použití klávesnice PS/2 v zaváděcí nabídce. Vylepšená emulace sériového portu. Přidána další konzolová písma STI.
- Emulátor architektury MIPS pro desky Nios2 (-machine 10m50-ghrd) implementuje emulaci vektorového řadiče přerušení a stínové sady registrů. Vylepšené zpracování výjimek.
- Emulátor architektury OpenRISC pro stroj 'or1k-sim' přidal možnost používat až 4 16550A UART zařízení.
- Emulátor architektury RISC-V přidal podporu pro nová rozšíření instrukční sady (ISA) definovaná ve specifikaci 1.12.0, stejně jako přidána podpora pro rozšíření Sdtrig a vylepšená podpora pro vektorové instrukce. Vylepšené možnosti ladění. Do emulovaného stroje „virt“ byla přidána podpora TPM (Trusted Platform Module) a do stroje „OpenTitan“ byla přidána podpora Ibex SPI.
- Emulátor architektury 390x poskytuje podporu pro rozšíření VEF 2 (Vector-Enhancements Facility 2). S390-ccw BIOS poskytuje možnost spouštění z disků s velikostí sektoru jinou než 512 bajtů.
- Emulátor architektury Xtensa přidal podporu pro jádra lx106 a objektové kódy pro testování mezipaměti.
Zdroj: opennet.ru