Opublikowano emulator QEMU 10.0.0

Zaprezentowano wydanie projektu QEMU 10.0.0. Emulator QEMU umożliwia uruchomienie programu, stworzonego dla jednej platformy sprzętowej, na systemie o całkowicie innej architekturze, na przykład uruchomienie aplikacji dla ARM na komputerze zgodnym z x86. W trybie wirtualizacji w QEMU wydajność wykonania kodu w izolowanym środowisku jest zbliżona do systemu sprzętowego dzięki bezpośredniemu wykonaniu instrukcji na CPU oraz wykorzystaniu hipernadzorcy Xen lub modułu KVM w Linuxie, lub modułu NVMM w NetBSD.

Początkowo projekt został stworzony przez Fabrice'a Bellarda z celem umożliwienia uruchamiania skompilowanych dla platformy x86 plików wykonywalnych Linuxa na architekturach różniących się od x86. W ciągu lat rozwoju dodano wsparcie dla pełnej emulacji dla 14 architektur sprzętowych, a liczba emulowanych urządzeń sprzętowych przekroczyła 400. Przy przygotowaniu wersji 10.0 wprowadzono ponad 2800 zmian od 211 deweloperów.

Kluczowe ulepszenia dodane w QEMU 10.0:

  • W sterowniku virtio-scsi, który zapewnia wirtualny kontroler SCSI (SCSI Host Bus Adapter) dla maszyn wirtualnych, dodano wsparcie dla wielopoziomowego systemu kolejek (multiqueue), co pozwala na podział kolejek dla różnych urządzeń blokowych w celu zapewnienia równoległego dostępu na systemach wielordzeniowych (różne kolejki jednego nośnika mogą być przetwarzane przez różne wątki wejścia/wyjścia). W porównaniu do sterownika wirtualnego urządzenia blokowego (virtio-blk) wirtualny kontroler SCSI nieco ustępuje pod względem wydajności, ale umożliwia korzystanie z ponad 28 dysków.
  • W VFIO (Virtual Function I/O) poprawiono wsparcie dla przełączania IGD (Integrated Graphics Device) dla zintegrowanych GPU wykorzystywanych w 11 (Rocket Lake) i 12 (Alder Lake) generacjach procesorów Intel. Dodano wsparcie dla starszych GPU ATI (x550). Wdrażane jest podstawowe wsparcie dla PCI PM (Power Management).
  • Znacząco przerobiono i rozszerzono dokumentację do protokołu QMP (QEMU Machine Protocol), który pozwala aplikacjom zarządzać QEMU.
  • Dodano tryb Live-migracji „cpr-transfer” (CheckPoint and Restart), który pozwala na przeniesienie systemu gościa do nowego egzemplarza QEMU uruchomionego na tym samym hoście. Tryb minimalizuje czas wstrzymania dzięki temu, że pamięć systemu gościa jest odzwierciedlana w wirtualnej przestrzeni adresowej nowego QEMU bez kopiowania zawartości.
  • Dodano urządzenie graficzne ‘apple-gfx-pci’ i ‘apple-gfx-mmio’, które wykorzystują framework ParavirtualizedGraphics dostarczany w macOS do przyspieszania grafiki w systemach gościnnych. Pierwszy sterownik przeznaczony jest do urządzeń x86-64, a drugi - ARM64.
  • W emulatorze architektury x86 dodano wsparcie dla modeli procesorów Intel Xeon Clearwater Forest i Sierra Forest v2. Przyspieszono emulację instrukcji do manipulacji danymi tekstowymi.
  • W emulatorze architektury ARM dodano wsparcie dla płyt NPCM8445 Evaluation i i.MX 8M Plus EVK. Wprowadzono emulację rozszerzeń FEAT_AFP, FEAT_RPRES i FEAT_XS, a także fizycznych i wirtualnych zegarów EL2. Wsparcie dla CPU Arm PXA2xx oraz emulacja instrukcji iwMMXt zostało uznane za przestarzałe.
  • W emulatorze architektury RISC-V dodano emulację płyt Microblaze V, CPU Ascalon i CPU RV64 Xiangshan Nanhu. Wprowadzono wsparcie dla rozszerzeń zestawu instrukcji ‘svukte’, ‘ssstateen’, ‘smrnmi’, ‘smdbltrp’/’ssdbltrp’, ‘supm’, ‘sspm’, a także tagów translacji IOMMU i urządzeń riscv-iommu-sys.
  • W emulatorze architektury HPPA zapewniono emulację płyt Diva GSP BMC. Zaktualizowano firmware SeaBIOS-hppa do wersji 18. Zwiększono szybkość translacji. Ulepszono kod do resetowania wirtualnego CPU. Na systemach 64-bitowych zapewniono emulację konfiguracji z pamięcią do 256 GB.
  • W emulatorze architektury LoongArch dodano wsparcie dla gorącego podłączania CPU. Zrealizowano parawirtualizowany IPI (inter-processor interrupt). Zapewniono śledzenie czasu oczekiwania na udostępnienie zasobów przez hypervisor. KVMDodano wsparcie dla wirtualnego routingu zewnętrznych przerwań (extioi).
  • W emulatorze architektury s390x dodano wsparcie dla 17. generacji CPU mainframe i zrealizowano wsparcie dla virtio-mem. Dla zwiększenia wydajności dodano możliwość współdziałania z urządzeniami PCI z pominięciem IOMMU.

Ź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