uvolnění projektu . Jako emulátor QEMU umožňuje spustit program sestavený pro jednu hardwarovou platformu na systému s úplně jinou architekturou, například spustit aplikaci pro ARM na počítači kompatibilním s x86. V režimu virtualizace má QEMU výkon kódu běžícího v izolovaném prostředí blízký nativnímu systému díky přímému vykonávání instrukcí na CPU a zapojení hypervisoru Xen nebo modulu KVM.
Projekt byl původně vytvořen Fabricem Bellardem s cílem umožnit spouštění textových souborů Linux určených pro platformu 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řesáhl 400. Při přípravě verze 4.2 bylo provedeno více než 2200 změn od 198 vývojářů.
Klíčové , které byly přidány do QEMU 4.2:
- Ve klasickém generátoru kódu TCG (Tiny Code Generator) byla implementována podpora pluginů pro sledování instrukcí procesoru a adres v paměti;
- V ovladači blokových zařízení (Network Block Device) byla zajištěna efektivnější správa požadavků na kopírování při čtení (copy-on-read). Kód NBD serveru byl optimalizován pro kopírování sparse obrazů (s prázdnými oblastmi). Byla provedena obecná zlepšení v realizaci klienta a serveru NBD;
- Byla zvýšena výkonnost šifrování disků LUKS s použitím algoritmu AES-XTS;
- Ve vfio-pci byla přidána podpora vlastnosti „failover_pair_id“ pro usnadnění migrace zařízení VFIO;
- Ve virtio-mmio byla přidána podpora standardu virtio-compatible 2 a specifikovaného mechanismu zabalených virtuálních front () pro výměnu dat s virtuálním zařízením vstupu/výstupu v dávkovém režimu;
- V emulátoru architektury x86 byl přidán nový typ emulovaných strojů „microvm“, které používají virtio-mmio místo PCI pro optimalizaci výkonu. Byla implementována možnost zapnutí a vypnutí VMX pomocí příznaků „-cpu“. Byla přidána podpora emulace rozšíření AVX512 BFloat16. Byla zajištěna podpora nových modelů CPU Denverton (serverový SoC založený na Architektuře Atom), Snowridge a Dhyana. Stabilizována podpora macOS Hypervisor Framework („-accel hvf“);
- V emulátoru architektury ARM byla přidána podpora emulace SoC Aspeed AST2600 („ast2600-evb“). Byla přidána podpora technologie Semihosting 2.0 s rozšířeními STDOUT_STDERR/EXIT_EXTENDED, což umožňuje emulovanému zařízení používat stdout, stderr a stdin pro vytváření souborů na straně hostitele. V KVM byla přidána možnost použití více než 256 CPU a byla zajištěna podpora SIMD instrukcí SVE. V virtuálních strojích typu „“ byla implementována podpora horkého připojení paměti. Byla zvýšena výkonnost emulace pomocí generátoru kódu TCG.
- V emulátoru architektury PowerPC byla přidána podpora emulace instrukcí POWER9 mffsce, mffscrn a mffscrni. V emulovaných strojích „powernv“ byla přidána podpora systémových zařízení Homer a OCC SRAM;
- V emulátoru architektury RISC-V byla přidána volba „-initrd“ a možnost zobrazení plného stavu architektury v ladicím nástroji;
- V emulátoru architektury s390 byla implementována podpora instrukcí IEP (Instruction Execution Protection);
- V emulátoru architektury 68k byla přidána počáteční podpora emulace Macintosh Quadro 800 a klasických systémů NeXTcube;
- V emulátoru architektury xtensa byl přidán nový typ emulovaných strojů „virt“ a byla implementována podpora ABI call0 pro emulaci v uživatelském prostoru.
Zdroj: opennet.ru
