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 Fabrice Bellard s cílem umožnit spouštění sestavených souborů Linux 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 5.0 bylo provedeno více než 2800 změn od 232 vývojářů.
Klíčové , přidané do QEMU 5.0:
- Možnost přesměrování části souborového systému hostitelského prostředí do hostitelského systému pomocí . Hostitelský systém může připojit adresář označený pro export na straně hostitelského systému, což výrazně usnadňuje organizaci sdíleného přístupu k adresářům ve virtualizačních systémech. Na rozdíl od používání síťových FS, jako je NFS a virtio-9P, umožňuje virtiofs dosáhnout výkonu blízkého místnímu souborovému systému;
- live-migrace dat externích procesů používajících sběrnici QEMU D-Bus;
- Možnost použití pro zajištění práce hlavní operační paměti hostitelského systému. Backend se nastavuje pomocí volby „-machine memory-backend“;
- Nový filtr „compress“, který lze použít pro vytváření komprimovaných záloh obrazů;
- Příkaz „qemu-img measure“ nyní může pracovat s obrazy LUKS a do příkazu „qemu-img convert“ byla přidána volba „—target-is-zero“ pro přeskočení vyprázdnění cílového obrazu;
- Byla přidána experimentální podpora procesu qemu-storage-daemon, poskytujícího přístup k blokové úrovni QEMU a příkazům QMP, včetně provádění operací s blokovými zařízeními a integrovaným serverem NBD, bez nutnosti spuštění celé virtuální mašiny;
- Do emulátoru architektury ARM byla přidána podpora emulace CPU Cortex-M7 a podpora desek tacoma-bmc, Netduino Plus 2 a Orangepi PC. Do emulovaných strojů 'virt' byla přidána podpora zařízení vTPM a virtio-iommu. Byla deklarována zastaralost možnosti používání hostitelských systémů AArch32 pro spouštění virtuálních prostředí KVM. Byla implementována podpora emulace následujících funkcí architektur:
- ARMv8.1: VHE, VMID16, PAN, PMU
- ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
- ARMv8.3: RCPC, CCIDX
- ARMv8.4: PMU, RCPC
- Do emulátoru architektury HPPA byla přidána podpora grafické konzole pomocí grafického zařízení HP Artist;
- Do emulátoru architektury MIPS byla přidána podpora instrukce GINVT (Globální invalidace TLB);
- V emulátoru architektury PowerPC pro stroje 'powernv' byla přidána emulace prostředků hardwarové akcelerace KVM pro spouštění hostitelských systémů
KVM s klasickým generátorem kódu TCG (Tiny Code Generator). Pro emulaci trvalé paměti byla přidána podpora reflektované v souboru NVDIMM. Pro stroje 'pseries' byla odstraněna nutnost restartování pro synchronizaci práce ovladačů přerušení XIVE/XICS v režimu 'ic-mode=dual'; - V emulátoru architektury RISC-V pro desky 'virt' a 'sifive_u' byla implementována podpora typových ovladačů syscon v Linuxu pro správu napájení a restart. Pro desku 'virt' byla přidána podpora Goldfish RTC. Byla přidána experimentální implementace rozšíření hypervizoru;
- V emulátoru architektury s390 byla přidána podpora AIS (Adapter Interrupt Suppression) při provozu v režimu KVM.
Zdroj: opennet.ru
