Wydanie emulatora QEMU 8.0

Wydanie projektu QEMU 8.0 zostało zaprezentowane. Jako emulator QEMU umożliwia uruchamianie programów skompilowanych dla jednej platformy sprzętowej na systemie o zupełnie innej architekturze, na przykład uruchamianie aplikacji dla ARM na komputerze zgodnym z x86. W trybie wirtualizacji w QEMU wydajność wykonywania kodu w izolowanym środowisku jest zbliżona do systemu sprzętowego dzięki bezpośredniemu wykonywaniu instrukcji na CPU i wykorzystaniu hipernadzorcy Xen lub modułu KVM.

Początkowo projekt został stworzony przez Fabrice'a Bellarda w celu umożliwienia uruchamiania plików wykonywalnych Linux 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. Przy przygotowywaniu wersji 8.0 wprowadzono ponad 2800 zmian od 238 programistów.

Kluczowe ulepszenia dodane w QEMU 8.0:

  • Ogłoszono, że wsparcie dla emulacji systemowej (uruchamianie całych systemów operacyjnych, w tym wykorzystując hipernadzorców i Xen) na 32-bitowych hostach z architekturą x86 zostanie wkrótce zakończone. Wsparcie dla emulacji w trybie user-mode (uruchamianie pojedynczych procesów skompilowanych dla innego CPU) na 32-bitowych hostach x86 będzie kontynuowane. KVM W emulatorze architektury x86 dodano wsparcie dla uruchamiania systemów gościnnych Xen w środowisku opartym na hipernadzorcy KVM i jądrach Linux 5.12+.
  • W klasycznym generatorze kodu TCG dla architektury x86 dodano wsparcie flag CPUID FSRM, FZRM, FSRS i FSRC. Wdrożono wsparcie dla nowego modelu CPU Intel Sapphire Rapids (Intel 7).
  • W emulatorze ARM wdrożono wsparcie dla CPU Cortex-A55 i Cortex-R52, dodano nowy typ emulowanych maszyn Olimex STM32 H405, wprowadzono wsparcie dla rozszerzeń procesora FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) i AArch32 ARMv8-R. W gdbstub dodano wsparcie dla rejestrów systemowych dla architektury M-profile (profil mikrokontrolerów).
  • W emulatorze architektury RISC-V zaktualizowano realizację emulowanych maszyn OpenTitan, PolarFire i OpenSBI. Dodano wsparcie dla dodatkowych zestawów instrukcji CPU (ISA) i rozszerzeń: Smstateen, liczniki debugowania icount związane z pamięcią podręczną zdarzeń PMU w trybie wirtualnym, ACPI, rozszerzenia Zawrs, Svadu, T-Head i Zicond.
  • W emulatorze architektury HPPA dodano wsparcie dla instrukcji fid (Floating-Point Identify) i poprawiono emulację w 32-bitowym trybie.
  • W emulatorze architektury HPPA dodano wsparcie dla instrukcji fid (Floating-Point Identify) i ulepszono emulację w 32-bitowym trybie.
  • W emulatorze architektury 390x wprowadzono obsługę asynchronicznego odpinania pamięci podczas ponownego uruchamiania chronionych systemów gościnnych KVM. Udoskonalono przetwarzanie przekazywanych urządzeń zPCI.
  • W mechanizmie virtio-mem, który umożliwia gorące podłączenie i odłączenie pamięci do maszyn wirtualnych, wprowadzono wstępną alokację zasobów (preallocation) podczas migracji na żywo.
  • W VFIO (Virtual Function I/O) zaktualizowano eksperymentalne wsparcie migracji (włączono drugą wersję protokołu migracji).
  • W blokowym urządzeniu qemu-nbd zwiększono wydajność pracy przez TCP przy użyciu TLS.
  • W agencie dla systemów gościnnych dodano wstępną obsługę OpenBSD i NetBSD.

Ź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