Rilasciato l'emulatore QEMU 10.0.0

Presentata la release del progetto QEMU 10.0.0. Come emulatore, QEMU consente di eseguire un programma compilato per una piattaforma hardware su un sistema con un'architettura completamente diversa, ad esempio, eseguire un'applicazione ARM su un PC compatibile con x86. Nella modalità di virtualizzazione in QEMU, le prestazioni di esecuzione del codice in un ambiente isolato sono vicine al sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'uso dell'hypervisor Xen o del modulo KVM in Linux, o del modulo NVMM in NetBSD.

Il progetto è stato originariamente creato da Fabrice Bellard per consentire agli eseguibili Linux creati per la piattaforma x86 di funzionare su architetture non x86. Nel corso degli anni di sviluppo, è stato aggiunto il supporto completo dell'emulazione per 14 architetture hardware, il numero di dispositivi hardware emulati ha superato i 400. In preparazione alla versione 10.0, sono state apportate più di 2800 modifiche da 211 sviluppatori.

Principali miglioramenti aggiunti in QEMU 10.0:

  • Il driver virtio-scsi fornisce un controller SCSI virtuale (SCSI Host Bus Adapter) per macchine virtualiÈ stato aggiunto il supporto per un sistema di code multilivello (multiqueue), che consente di separare le code per diversi dispositivi a blocchi per supportare l'accesso multithread su sistemi multi-core (code diverse per una singola unità possono essere elaborate da thread I/O diversi). Rispetto al driver del dispositivo a blocchi virtuale (virtio-blk), il controller SCSI virtuale è leggermente più lento in termini di prestazioni, ma consente l'utilizzo di più di 28 unità.
  • VFIO (Virtual Function I/O) ha migliorato il supporto passthrough IGD (Integrated Graphics Device) per le GPU integrate utilizzate nei processori Intel di 11a (Rocket Lake) e 12a (Alder Lake) generazione. Aggiunto supporto per le vecchie GPU ATI (x550). È stato implementato il supporto di base per PCI PM (Power Management).
  • La documentazione relativa al protocollo QEMU Machine Protocol (QMP), che consente alle applicazioni di controllare QEMU, è stata notevolmente rivista e ampliata.
  • Aggiunta una nuova modalità di migrazione live "cpr-transfer" (CheckPoint e Restart), che consente di spostare un sistema guest su una nuova istanza QEMU in esecuzione sullo stesso host. Questa modalità riduce al minimo il tempo di sospensione mappando la memoria del sistema guest nello spazio di indirizzamento virtuale del nuovo QEMU senza copiarne il contenuto.
  • Aggiunti i dispositivi grafici 'apple-gfx-pci' e 'apple-gfx-mmio' che utilizzano il framework ParavirtualizedGraphics fornito in macOS per la grafica accelerata tramite hardware nei guest. Il primo driver è destinato all'uso su dispositivi x86-64, mentre il secondo è destinato all'uso su dispositivi ARM64.
  • L'emulatore dell'architettura x86 supporta ora i modelli di processore Intel Xeon Clearwater Forest e Sierra Forest v2. È stata accelerata l'emulazione delle istruzioni di manipolazione dei dati stringa.
  • L'emulatore dell'architettura ARM supporta ora le schede NPCM8445 Evaluation e i.MX 8M Plus EVK. Aggiunta l'emulazione delle estensioni FEAT_AFP, FEAT_RPRES e FEAT_XS, nonché dei timer fisici e virtuali EL2. Supporto obsoleto per CPU Arm PXA2xx ed emulazione delle istruzioni iwMMXt.
  • L'emulatore dell'architettura RISC-V implementa l'emulazione delle schede Microblaze V, della CPU Ascalon e della CPU RV64 Xiangshan Nanhu. Aggiunto supporto per le estensioni di architettura del set di comandi 'svukte', 'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm', 'sspm', nonché per i tag di traduzione IOMMU e i dispositivi riscv-iommu-sys.
  • L'emulatore dell'architettura HPPA fornisce l'emulazione delle schede Diva GSP BMC. Il firmware SeaBIOS-hppa è stato aggiornato alla versione 18. Velocità di trasmissione aumentata. Codice migliorato per il ripristino della CPU virtuale. Nei sistemi a 64 bit è fornita l'emulazione di configurazioni con dimensioni di memoria fino a 256 GB.
  • L'emulatore dell'architettura LoongArch ora supporta l'hotplugging della CPU. È stato implementato un IPI (interrupt interprocessore) paravirtualizzato. È stato implementato il monitoraggio del timeout di allocazione delle risorse dell'hypervisor. KVMAggiunto il supporto per il routing virtuale degli interrupt esterni (extioi).
  • L'emulatore dell'architettura s390x aggiunge il supporto per la 17a generazione di CPU mainframe e implementa il supporto virtio-mem. Per migliorare le prestazioni, è stata aggiunta la possibilità di interagire con i dispositivi PCI bypassando l'IOMMU.

Fonte: opennet.ru

Aggiungi un commento