Vydání emulátoru QEMU 4.0

Zformováno vydání projektu QEMU 4.0. Jako emulátor vám QEMU umožňuje spouštět program zkompilovaný 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íží nativní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 4.0 bylo provedeno více než 3100 změn od 220 vývojářů.

Klíč vylepšenípřidáno v QEMU 4.0:

  • Do emulátoru architektury ARM byla přidána podpora pro rozšíření instrukcí ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT a BTI. Přidána podpora pro emulaci desek Musca a MPS2. Vylepšená emulace ARM PMU (Power Management Unit). Na platformu ctnost přidána možnost používat více než 255 GB paměti RAM a podpora pro obrazy u-boot s typem „noload“;

  • V emulátoru architektury x86 ve virtualizačním akceleračním enginu HAX (Intel Hardware Accelerated Execution) přidala podporu pro hostitele vyhovující POSIX, jako je Linux a NetBSD (dříve byla podporována pouze platforma Darwin). V emulátoru čipové sady Q35 (ICH9) pro hlavní porty PCIe lze nyní volitelně deklarovat maximální rychlost (16GT/s) a počet připojovacích linek (x32) definovaných ve specifikaci PCIe 4.0 (pro zajištění kompatibility je 2.5GT instalované standardně pro starší typy strojů QEMU /s a x1). Je možné načíst obrazy Xen PVH s volbou „-kernel“;
  • Emulátor architektury MIPS přidal podporu pro vícevláknovou emulaci pomocí klasického generátoru kódu TCG (Tiny Code Generator). Dále přidána podpora emulace CPU I7200 (nanoMIPS32 ISA) a I6500 (MIPS64R6 ISA), možnost zpracovávat požadavky na typ CPU pomocí QMP (QEMU Management Protocol), přidána podpora konfiguračních registrů SAARI a SAAR. Vylepšený výkon virtuálních strojů s typem Fulong 2E. Aktualizovaná implementace Interthread Communication Unit;
  • V emulátoru architektury PowerPC přibyla podpora pro emulaci řadiče přerušení XIVE, byla rozšířena podpora POWER9 a u řady P byla přidána možnost hot plug PCI host bridge (PHB, PCI host bridge). Ochrana proti útokům Spectre a Meltdown je ve výchozím nastavení povolena;
  • Do emulátoru architektury RISC-V byla přidána podpora emulace PCI a USB. Vestavěný ladicí server (gdbserver) nyní podporuje specifikaci seznamů registrů v souborech XML. Přidána podpora pro pole mstatus TSR, TW a TVM;
  • Emulátor architektury s390 přidal podporu pro model CPU z14 GA 2 a také podporu pro emulaci rozšíření instrukcí pro operace s pohyblivou řádovou čárkou a vektorové operace. Možnost připojení zařízení za provozu byla přidána do vfio-ap;
  • Emulátor procesorů rodiny Tensilica Xtensa má vylepšenou podporu SMP pro Linux a přidal podporu pro FLIX (Flexible Length Instructions extension);
  • Do grafického rozhraní byla přidána možnost '-display spice-app' pro konfiguraci a spuštění verze klienta vzdáleného přístupu Spice s designem podobným rozhraní QEMU GTK;
  • Přidána podpora pro řízení přístupu pomocí voleb tls-authz/sasl-authz do implementace serveru VNC;
  • QMP (QEMU Management Protocol) přidal podporu pro centralizované/externí (Out-of-band) provádění příkazů a implementoval další příkazy pro práci s blokovými zařízeními;
  • Implementace rozhraní EDID byla přidána do VFIO pro podporované mdevs (Intel vGPU), což vám 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 nezávisle vytvořit diskový backend pro Xen PV (bez přístupu k xenstore). Byl zvýšen výkon diskového backendu Xen PV a byla přidána možnost měnit velikost disku;
  • Možnosti diagnostiky a trasování byly rozšířeny v síťových blokových zařízeních a zlepšila se kompatibilita klientů s problematickými implementacemi serverů NBD. Přidány možnosti „--bitmap“, „--list“ a „--tls-authz“ do qemu-nbd;
  • Přidána podpora režimu PCI IDE do emulovaného zařízení IDE/via;
  • Přidána podpora pro použití algoritmu lzfse pro kompresi dmg obrázků. U formátu qcow2 byla přidána podpora pro připojení externích datových souborů. Operace rozbalení qcow2 se přesunou do samostatného vlákna. Přidána podpora pro operaci „blockdev-create“ v obrazech vmdk;
  • Blokové zařízení virtio-blk přidalo podporu operací DISCARD (informace o uvolnění bloků) a WRITE_ZEROES (nulování rozsahu logických bloků);
  • Zařízení pvrdma podporuje služby RDMA Management Datagram Services (MAD);
  • Odesláno změny, což porušuje zpětnou kompatibilitu. Například místo volby "handle" v "-fsdev" a "-virtfs" byste měli použít volby "local" nebo "proxy". Volby „-virtioconsole“ (nahrazeno „-device virtconsole“), „-no-frame“, „-clock“, „-enable-hax“ (nahrazeno „-accel hax“) byly odstraněny. Odebráno zařízení "ivshmem" (mělo by používat "ivshmem-doorbell" a "ivshmem-plain"). Podpora pro sestavování pomocí SDL1.2 byla ukončena (je třeba použít SDL2).

Zdroj: opennet.ru

Přidat komentář