Wydanie emulatora QEMU 5.1

Przedstawiony premiera projektu QEMU 5.1. 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.

Pierwotnie projekt został 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 rozwoju dodano wsparcie dla pełnej emulacji 14 architektur sprzętowych, a liczba emulowanych urządzeń sprzętowych przekroczyła 400. Przygotowując wersję 5.1, wprowadzono ponad 2500 zmian od 235 programistów.

Kluczowe ulepszenia, dodane w QEMU 5.1:

  • Dodano wsparcie dla emulacji CPU opartej na architekturze AVR. Wprowadzono wsparcie dla płyty Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
    Arduino Mega (ATmega1280) i Arduino UNO (ATmega328P).
  • W emulatorze architektury ARM dodano możliwość gorącego odłączania pamięci (hot-unplug), a także gorącego podłączania pamięci NVDIMM dla systemów gości z ACPI. Zrealizowano wsparcie dla rozszerzeń ARMv8.2 TTS2UXN i ARMv8.5 MemTag. Zapewniono wsparcie dla płyty sonorapass-bmc.
  • W emulatorze architektury MIPS dodano wsparcie dla CPU Loongson 3A (R1 i R4). Zwiększono wydajność emulacji instrukcji FPU i MSA.
  • W emulatorze architektury RISC-V dodano wsparcie dla CPU SiFive E34 i Ibex. Zrealizowano wsparcie dla płyt HiFive1 revB i OpenTitan. Dla maszyn Spike zapewniono wsparcie dla więcej niż jednego CPU.
  • W emulatorze architektury PowerPC wprowadzono wsparcie dla odzyskiwania błędów w systemach gości za pomocą FWNMI.
  • Dla architektury s390 dodano wsparcie KVM dla zabezpieczonej wirtualizacji (tryb bezpiecznego wykonania).
  • W emulatorze architektury x86 ograniczono obciążenia związane z wirtualizacją nieprzystosowanych systemów gości z Windows, poprzez udostępnienie tabeli emulowanych urządzeń ACPI WAET (Windows ACPI Emulated Device Table). Udoskonalono wsparcie dla akceleracji HVF dla macOS.
  • W sterowniku urządzeń blokowych dodano wsparcie dla wirtualnych urządzeń pamięci o logicznych i fizycznych blokach o rozmiarze 2MB.
  • Dodano możliwość przesyłania w QEMU haseł i kluczy do szyfrowania przez keyring jądra Linuxa za pomocą obiektów nowego typu „secret-keyring”.
  • Dla formatu qcow2 wprowadzono wsparcie dla algorytmu kompresji zstd.
  • W narzędziu qemu-img dodano nowe polecenie ‘bitmap’ do manipulacji stałymi bitmapami w plikach qcow2. W qemu-img wprowadzono również zarządzanie kluczami LUKS (keyslot) oraz dodano dodatkowe funkcje dla poleceń „map” (—start-offset, —max-length) i „convert” (—bitmaps), a w poleceniu „measure” dodano możliwość wyświetlania informacji o rozmiarze stałych bitmap w plikach qcow2.
  • W sterowniku NVMe dodano obsługę stałych obszarów pamięci (Persistent Memory Region), które pojawiły się w specyfikacji NVMe 1.4.
  • W virtio dla systemów gościnnych z klasycznym generatorem kodu TCG (Tiny Code Generator) wprowadzono możliwość korzystania z procesów vhost-user, w tym virtiofsd. W vhost-user dodano rozszerzenie VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, które umożliwia rejestrowanie więcej niż 8 slotów RAM.

Ź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