Vydání emulátoru QEMU 4.0

Bylo vytvořeno uvolnění projektu QEMU 4.0. 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 Bellardem s cílem umožnit spuštění Linuxových spustitelných souborů 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řekročil 400. Při přípravě verze 4.0 bylo provedeno více než 3100 změn od 220 vývojářů.

Klíčové vylepšení, přidané v QEMU 4.0:

  • Do emulátoru architektury ARM byla přidána podpora instrukčních rozšíření ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT a BTI. Byla přidána podpora emulace desek „Musca“ a „MPS2“. Byla vylepšena emulace ARM PMU (Power Management Unit). Do platformy virt byla přidána možnost použití více než 255 GB RAM a podpora obrazů u-boot s typem „noload“;
  • V emulátoru architektury x86 byla v enginu pro akceleraci virtualizace HAX (Intel Hardware Accelerated Execution) přidána podpora pro POSIX-kompatibilní hostitele, jako jsou Linux a NetBSD (dříve byla podporována pouze platforma Darwin). V emulátoru čipové sady Q35 (ICH9) může nyní být maximální rychlost (16 GT/s) a počet spojovacích linek (x32), definovaných ve specifikaci PCIe 4.0, volitelně deklarována pro hlavní porty PCIe (pro zajištění kompatibility je ve výchozím nastavení u starších strojů nastavena rychlost 2.5 GT/s a x1). Byla umožněna možnost načtení obrazů Xen PVH s volbou „-kernel“;
  • V emulátoru architektury MIPS byla přidána podpora vícivláknové emulace pomocí klasického generátoru kódu TCG (Tiny Code Generator). Byla také přidána podpora emulace CPU I7200 (nanoMIPS32 ISA) a I6500 (MIPS64R6 ISA), možnost zpracování CPU dotazů pomocí protokolu QMP (QEMU Management Protocol), přidána podpora konfiguračních registrů SAARI a SAAR. Vylepšena funkčnost virtuálních strojů typu Fulong 2E. Byla aktualizována implementace Interthread Communication Unit;
  • V emulátoru architektury PowerPC byla přidána podpora emulace řadiče přerušení XIVE, byla rozšířena podpora POWER9, pro P series byla přidána možnost horkého připojení hlavních mostů PCI (PHB, PCI host bridge). Standardně byla zapnuta ochrana proti útokům Spectre a Meltdown;
  • V emulátoru architektury RISC-V byla přidána podpora emulace PCI a USB. Ve vestavěném ladicím serveru (gdbserver) byla implementována podpora zadávání seznamů registrů ve formátech XML. Byla přidána podpora mstatus polí TSR, TW a TVM;
  • Do emulátoru architektury s390 byla přidána podpora modelu CPU z14 GA 2, stejně jako podpora emulace rozšíření instrukcí pro výpočty s plovoucí desetinnou čárkou a vektorové operace. Do vfio-ap byla přidána možnost horkého připojení zařízení;
  • V emulátoru procesorů rodiny Tensilica Xtensa byla vylepšena podpora SMP pro Linux a přidána podpora rozšíření FLIX (rozšíření instrukcí flexibilní délky);
  • Do grafického rozhraní byla přidána možnost ‘-display spice-app’ pro nastavení a spuštění varianty klienta vzdáleného přístupu Spice s vzhledem podobným GTK rozhraní QEMU;
  • Do realizace VNC serveru byla přidána podpora řízení přístupu pomocí možností tls-authz/sasl-authz;
  • Do QMP (Protokol správy QEMU) byla přidána podpora centralizovaného/vnějšího (Out-of-band) provádění příkazů a byly implementovány další příkazy pro práci s blokovými zařízeními;
  • Do VFIO byla přidána realizace rozhraní EDID pro podporované mdev (Intel vGPU), které umožňuje měnit rozlišení obrazovky pomocí možností xres a yres;
  • Pro Xen bylo přidáno nové zařízení ‘xen-disk’, které může samo vytvořit diskový backend pro Xen PV (bez dotazování na xenstore). Byla zvýšena výkonnost diskového backendu Xen PV a přidána možnost změny velikosti disku;
  • V síťových blokových zařízeních byly rozšířeny možnosti diagnostiky a trasování, zlepšena kompatibilita klienta s problémovými realizacemi serveru NBD. Do qemu-nbd byly přidány možnosti ‘—bitmap’, ‘—list’ a ‘—tls-authz’;
  • Do emulovaného zařízení IDE/via byla přidána podpora režimu PCI IDE;
  • Byla přidána podpora používání algoritmu lzfse pro kompresi obrazů dmg. Pro formát qcow2 byla přidána podpora připojení externích souborů s daty. Operace rozbalování qcow2 byly vyčleněny do samostatného vlákna. V obrazech vmdk byla přidána podpora operace ‘blockdev-create’;
  • Do blokového zařízení virtio-blk byla přidána podpora operací DISCARD (informování o uvolnění bloků) a WRITE_ZEROES (vynulování rozsahu logických bloků);
  • V zařízení pvrdma byla implementována podpora služeb RDMA Management Datagram (MAD);
  • Byly provedeny změny změny, které porušují zpětnou kompatibilitu. Například místo možnosti „handle“ v „-fsdev“ a „-virtfs“ by měly být použity možnosti „local“ nebo „proxy“. Možnosti „-virtioconsole“ byly odstraněny (byly nahrazeny „-device virtconsole“), „-no-frame“, „-clock“, „-enable-hax“ (nahrazeno „-accel hax“). Zařízení „ivshmem“ bylo odstraněno (mělo by být použito „ivshmem-doorbell“ nebo „ivshmem-plain“). Podpora sestavení se SDL1.2 byla ukončena (je třeba použít SDL2).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster