Wydanie emulatora QEMU 4.2

Przedstawiony premiera projektu QEMU 4.2. Jako emulator QEMU pozwala uruchomić program skompilowany dla jednej platformy sprzętowej na systemie o zupełnie innej architekturze, na przykład uruchomić aplikację dla ARM na komputerze z procesorem zgodnym z x86. W trybie wirtualizacji w QEMU wydajność wykonywania kodu w izolowanym środowisku jest bliska natywnej dzięki bezpośredniemu wykonywaniu instrukcji na CPU i wykorzystaniu hypervisora Xen lub modułu KVM.

Projekt został pierwotnie stworzony przez Fabrice'a Bellarda w celu umożliwienia uruchamiania plików wykonywalnych Linuxa skompilowanych dla platformy x86 na architekturach innych niż x86. W trakcie lat rozwoju dodano wsparcie dla pełnej emulacji 14 architektur sprzętowych, a liczba emulowanych urządzeń przekroczyła 400. W wersji 4.2 wprowadzono ponad 2200 zmian od 198 deweloperów.

Kluczowe ulepszenia, dodanych w QEMU 4.2:

  • W klasycznym generatorze kodu TCG (Tiny Code Generator) wprowadzono wsparcie dla wtyczek do monitorowania instrukcji procesora i adresów w pamięci;
  • W sterowniku urządzeń blokowych NBD (Network Block Device) zapewniono skuteczniejszą obsługę żądań kopiowania podczas odczytu (copy-on-read). Kod serwera NBD został zoptymalizowany do kopiowania obrazów z lukami. Wprowadzono ogólne ulepszenia w realizacji klienta i serwera NBD;
  • Zwiększono wydajność szyfrowania dysków LUKS przy użyciu algorytmu AES-XTS;
  • W vfio-pci dodano wsparcie dla właściwości „failover_pair_id” w celu uproszczenia migracji urządzeń VFIO;
  • W virtio-mmio dodano wsparcie dla standardu virtio-compatible 2 i określonego w specyfikacji virtio 1.1 mechanizmu pakietowanych wirtualnych kolejek (virtqueue) do wymiany danych z wirtualnym urządzeniem wejścia/wyjścia w trybie pakietowym;
  • W emulatorze architektury x86 dodano nowy typ emulowanych maszyn „microvm”, wykorzystujących virtio-mmio zamiast PCI w celu optymalizacji wydajności. Wdrażono możliwość włączania i wyłączania VMX za pomocą flag „-cpu”. Dodano wsparcie dla emulacji rozszerzeń AVX512 BFloat16. Zapewniono wsparcie nowych modeli CPU Denverton (serwerowy SoC oparty na Atom), Snowridge i Dhyana. Stabilizowano wsparcie dla macOS Hypervisor Framework („-accel hvf”);
  • W emulatorze architektury ARM dodano wsparcie dla emulacji SoC Aspeed AST2600 („ast2600-evb”). Dodano wsparcie dla technologii Semihosting 2.0 z rozszerzeniami STDOUT_STDERR/EXIT_EXTENDED, co pozwala emulowanemu urządzeniu na korzystanie z stdout, stderr i stdin do tworzenia plików po stronie hosta. W KVM dodano możliwość używania więcej niż 256 CPU i zapewniono wsparcie dla instrukcji SIMD SVE. W maszynach wirtualnych typu „virt” zrealizowano wsparcie dla gorącego podłączenia pamięci. Zwiększono wydajność emulacji z użyciem generatora kodu TCG.
  • W emulatory architekturze PowerPC pojawiła się możliwość emulacji instrukcji POWER9: mffsce, mffscrn i mffscrni. W emulowanych maszynach „powernv” dodano wsparcie dla urządzeń systemowych Homer i OCC SRAM.
  • W emulatory architektury RISC-V dodano opcję „-initrd” oraz możliwość przeglądania pełnego stanu architektury w debugerze.
  • W emulatorze architektury s390 wprowadzono wsparcie dla instrukcji IEP (Instruction Execution Protection).
  • W emulatorze architektury 68k dodano początkową możliwość emulacji Macintosh Quadro 800 oraz klasycznych systemów NeXTcube.
  • W emulatorze architektury xtensa dodano nowy typ emulowanych maszyn „virt” oraz wdrożono wsparcie dla ABI call0 do emulacji w przestrzeni użytkownika.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster