Uscita dell'emulatore QEMU 8.2

È stata presentata la versione del progetto QEMU 8.2. 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 per ARM su un PC compatibile x86. In modalità di virtualizzazione, le prestazioni di esecuzione del codice in un ambiente isolato sono simili a quelle di un sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'utilizzo del hypervisor Xen o del modulo KVM.

Il progetto è stato inizialmente creato da Fabrice Bellard con l'obiettivo di consentire l'esecuzione di file eseguibili Linux compilati per la piattaforma x86 su architetture diverse da x86. Negli anni di sviluppo è stata aggiunta la supporto per l'emulazione completa di 14 architetture hardware, con il numero di dispositivi hardware emulati che ha superato 400. In preparazione della versione 8.2, sono state apportate oltre 3200 modifiche da 238 sviluppatori.

Miglioramenti chiave aggiunti in QEMU 8.2:

  • È stato aggiunto il dispositivo virtio-sound, che consente di emulare una scheda audio per la registrazione e la riproduzione del suono nel sistema ospite utilizzando un backend audio (pulseaudio, sdl o coreaudio) che opera nel sistema host. Per emulare il dispositivo audio nel kernel Linux del sistema ospite, l'opzione CONFIG_SND_VIRTIO deve essere abilitata.
  • È stata aggiunta un'interfaccia grafica virtuale (VGI, Virtual Graphics Interface) rutabaga con l'implementazione di una GPU virtuale (virtio-gpu), simile alla precedente VirGL, che consente anche di utilizzare nel sistema ospite una GPU virtuale per il rendering 3D, senza dover aprire accesso diretto esclusivo alla GPU fisica. Il codice rutabaga è stato sviluppato nell'ambito del progetto Android/CrosVM e consente di utilizzare l'emulatore della piattaforma Android con QEMU standard.
  • È stato aggiunto il dispositivo hv-balloon con l'implementazione del protocollo di gestione dinamica della memoria (Dynamic Memory) per Hyper-V, che consente di restituire durante l'esecuzione le pagine di memoria non utilizzate al sistema host e di richiedere ulteriori pagine in caso di carenza di memoria. Il nuovo dispositivo può essere considerato un'alternativa a virtio-balloon per sistemi ospiti Windows, utilizzando un backend nel sistema host che supporta il protocollo Dynamic Memory.
  • È stato proposto un dispositivo Universal Flash Storage per emulare un'unità Flash.
  • Nel driver dei dispositivi a blocchi NBD (Network Block Device) è stata aggiunta la supporto per un'estensione del protocollo che utilizza offset a 64 bit per migliorare le prestazioni nella manipolazione di dati di grandi dimensioni.
  • Al comando dump-guest-memory è stata aggiunta la supporto per l'output nel formato standard kdump.
  • È stata aggiunta la supporto per l'emulazione UFS, utilizzando i nuovi dispositivi ufs e ufs-lu.
  • Nel VFIO (Virtual Function I/O) è stata aggiunta la supporto per la modalità di migrazione P2P e implementata la possibilità di distribuzione dinamica di MSI-X. È stata effettuata la preparazione per il passaggio al nuovo backend IOMMUFD.
  • Nel dispositivo virtio-mem è stata implementata la modalità «dynamic-memslots=on» per l'allocazione dinamica di più slot di memoria invece della distribuzione statica di un grande slot. L'uso della modalità consente di ridurre il consumo di memoria su grandi dispositivi virtio-mem che assegnano alla VM un piccolo volume di memoria.
  • Nell'emulatore dell'architettura x86 durante l'emulazione dell'ambiente hypervisor Xen basato su KVM è stata garantita la supporto per la console PV e i dispositivi di rete, semplificando anche i comandi per i dispositivi a blocchi e di rete. Nel generatore di codice TCG classico è stata aggiunta la supporto per le istruzioni SHA.
  • Nell'emulatore dell'architettura ARM è stata implementata l'emulazione della CPU Cortex-A710 e Neoverse-N2. È stata aggiunta la supporto per le estensioni della CPU PACQARMA3, EPAC, Pauth2, FPAC, FPACCOMBINE, TIDCP1, MOPS, HBC e HPMN0. Per la scheda Xilinx Versal è stata realizzata la modellizzazione dei dispositivi CFU/CFI e TRNG.
  • Nell'emulatore dell'architettura RISC-V è stato implementato un set di istruzioni crittografiche vettoriali. È stata aggiunta la supporto per le IRQ virtuali e il filtraggio delle IRQ. È stata stabilizzata la supporto per le estensioni Zicond. È stata aggiunta la supporto per le estensioni di virtualizzazione AIA (Advanced Interrupt Architecture) tramite KVM.
  • Nell'emulatore dell'architettura HPPA è stata garantita l'emulazione della CPU PA-RISC 2.0 a 64 bit e dell'intero sistema C3700, compresi il controller di memoria Astro e i bridge PCI Elroy.
  • Nell'emulatore dell'architettura LoongArch è stata implementata l'emulazione della CPU Loongson LA132. È stata aggiunta la supporto per l'estensione del set di istruzioni LASX e l'istruzione PRELDX.
  • Nell'emulatore dell'architettura s390x è stata aggiunta la supporto vfio-ap per il passaggio dell'adattatore crypto per sistemi guest protetti.
  • Nell'emulatore Tricore è stata aggiunta la supporto per i processori TC37x (ISA 1.6.2) e le istruzioni CRCN, FTOU, FTOHP, HPTOF.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster