Byl vydán projekt QEMU 7.0. QEMU jako emulátor umožňuje spustit aplikaci vytvořenou pro jednu hardwarovou platformu na systému s úplně jinou architekturou, například spustit aplikaci pro ARM na x86-kompatibilním PC. V režimu virtualizace je výkon vykonávání kódu v izolovaném prostředí blízký hardwarovému systému díky přímému vykonávání instrukcí na CPU a využití hypervizoru Xen nebo modulu KVM.
Projekt byl původně vytvořen Fabricem Bellardem za účelem umožnit spouštění spustitelných souborů Linux pro architekturu x86 na architekturách odlišných od x86. Během let vývoje byla přidána podpora plné emulace pro 14 hardwarových architektur a počet emulovaných hardwarových zařízení překročil 400. Při přípravě verze 7.0 bylo provedeno více než 2500 změn od 225 vývojářů.
Klíčová vylepšení přidaná do QEMU 7.0:
- Do emulátoru architektury x86 byla přidána podpora instrukčního souboru Intel AMX (Advanced Matrix Extensions), implementovaného v serverových procesorech Intel Xeon Scalable. AMX nabízí nové konfigurovatelné registry TMM „TILE“ a instrukce pro manipulaci s daty v těchto registrech, jako je TMUL (Tile matrix MULtiply) pro násobení matic.
- Byla poskytnuta možnost protokolování událostí ACPI z hostitelského systému přes rozhraní ACPI ERST.
- Ve virtuálním modulu virtiofs, používaném pro přesměrování části souborového systému hostitelského prostředí do hostitelského systému, byla vylepšena podpora bezpečnostních štítků (security label). Byla odstraněna zranitelnost CVE-2022-0358, která umožňovala zvýšení privilégia v systému vytvářením spustitelných souborů v adresářích přesměrovaných přes virtiofs, patřících jiné skupině a opatřených příznakem SGID.
- Byla zvýšena flexibilita zálohování aktivních systémových obrazů (vytváří se snapshot, po kterém se pro aktualizaci stavu snapshotu používá filtr copy-before-write (CBW), který kopíruje data z oblastí, do kterých hostitelský systém provádí zápis). Byla přidána podpora obrazů ve formátech odlišných od qcow2. Byla zajištěna možnost přístupu k snapshotu zálohy nepřímo přes ovladač blokového zařízení snapshot-access. Možnosti řízení provozu filtru CBW byly rozšířeny, například lze vyloučit zpracování konkrétních bitových map.
- Do emulátoru ARM pro stroje 'virt' byla přidána podpora pro virtio-mem-pci, definice topologie CPU pro hostitelský systém a aktivace PAuth při použití hypervizoru KVM s akcelerátorem hvf. Do emulátoru desek 'xlnx-versal-virt' byla přidána podpora PMC SLCR a emulace ovladače Flash paměti OSPI. Pro emulované stroje 'xlnx-zynqmp' byly přidány nové modely řídicích jednotek CRF a APU. Byla přidána emulace rozšíření FEAT_LVA2, FEAT_LVA (Large Virtual Address space) a FEAT_LPA (Large Physical Address space).
- V klasickém generátoru kódu TCG (Tiny Code Generator) byla ukončena podpora hostitelů s CPU ARMv4 a ARMv5, které nemají podporu pro nevyrovnaný přístup k paměti a nedostatečné RAM pro provoz QEMU.
- Do emulátoru architektury RISC-V byla přidána podpora hypervizoru KVM a implementována vektorová rozšíření Vector 1.0, stejně jako instrukce Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx a zhinx{min}. Pro emulované stroje 'spike' byla přidána podpora pro načítání binárních souborů OpenSBI (RISC-V Supervisor Binary Interface). Pro emulované stroje 'virt' byla implementována možnost použití až 32 procesorových jader a podpora AIA.
- Do emulátoru architektury HPPA byla přidána možnost použití až 16 vCPU a vylepšen grafický ovladač pro uživatelská prostředí HP-UX VDE/CDE. Byla také přidána možnost změny pořadí načítání pro SCSI zařízení.
- Do emulátoru architektury OpenRISC pro desky 'sim' byla přidána podpora pro použití až 4 CPU jader, načítání externího obrazu initrd a automatickou generaci device tree pro zaváděné jádro.
- Do emulátoru architektury PowerPC pro emulované stroje 'pseries' byla implementována možnost spuštění hostitelských systémů pod řízením vnořeného hypervizoru KVM. Byla přidána podpora pro zařízení spapr-nvdimm. Pro emulované stroje 'powernv' byla přidána podpora pro řadič přerušení XIVE2 a řadiče PHB5, vylepšena podpora XIVE a PHB 3/4.
- Do emulátoru architektury s390x byla přidána podpora pro rozšíření z15 (Miscellaneous-Instruction-Extensions Facility 3).
Zdroj: opennet.ru
