Rilascio dell'emulatore QEMU 6.1

Viene presentato il rilascio del progetto QEMU 6.1. Come emulatore, QEMU consente di eseguire un programma creato 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 dell'esecuzione del codice in un ambiente isolato sono simili a quelle di un sistema hardware a causa dell'esecuzione diretta delle istruzioni sulla CPU e dell'uso dell'hypervisor Xen o del modulo KVM.

Il progetto è stato originariamente creato da Fabrice Bellard per fornire la possibilità di eseguire eseguibili Linux compilati per la piattaforma x86 su architetture non x86. Nel corso degli anni di sviluppo, è stato aggiunto il supporto per l'emulazione completa per 14 architetture hardware, il numero di dispositivi hardware emulati ha superato i 400. Nella preparazione della versione 6.1, sono state apportate più di 3000 modifiche da 221 sviluppatori.

Principali miglioramenti aggiunti in QEMU 6.1:

  • Il comando "blockdev-reopen" è stato aggiunto a QMP (QEMU Machine Protocol) per modificare le impostazioni di un dispositivo a blocchi già creato.
  • Gnutls viene utilizzato come driver crittografico prioritario, che è davanti agli altri driver in termini di prestazioni. Il driver basato su libgcrypt che in precedenza era offerto per impostazione predefinita è stato spostato tra le opzioni e il driver basato su Nettle è stato lasciato come opzione di fallback, utilizzato in assenza di GnuTLS e Libgcrypt.
  • Aggiunto il supporto per PMBus e multiplexer I2C (pca2, pca9546) all'emulatore I9548C.
  • Per impostazione predefinita, è abilitato il supporto per i plugin del classico generatore di codice TCG (Tiny Code Generator). Aggiunti nuovi plugin execlog (log di esecuzione) e cache modelling (simulazione del comportamento della cache L1 nella CPU).
  • L'emulatore ARM ha aggiunto il supporto per schede basate sui chip Aspeed (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) e Cortex-M3 (stm32vldiscovery). Aggiunto il supporto per la crittografia hardware e i motori di hashing forniti nei chip Aspeed. Aggiunto il supporto per l'emulazione delle istruzioni SVE2 (incluso bfloat16), degli operatori di moltiplicazione di matrici e delle istruzioni di flush del buffer associativo di traduzione (TLB).
  • Nell'emulatore dell'architettura PowerPC per le macchine pseries emulate è stato aggiunto il supporto per il rilevamento dei guasti durante l'inserimento a caldo dei dispositivi in ​​nuovi ambienti guest, è stato aumentato il limite al numero di CPU ed è stata implementata l'emulazione di alcune istruzioni specifiche per i processori POWER10 . Aggiunto supporto per schede basate su chip Genesi/bPlan Pegasos II (pegasos2).
  • L'emulatore RISC-V supporta la piattaforma OpenTitan e la GPU virtuale virtio-vga (basata su virgl).
  • L'emulatore s390 ha aggiunto il supporto per la CPU di sedicesima generazione e le estensioni vettoriali.
  • È stato aggiunto il supporto per i nuovi modelli di CPU Intel all'emulatore x86 (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton- v3, Snowridge-v3, Dhyana-v2), che implementano l'istruzione XSAVES. L'emulatore del chipset Q35 (ICH9) supporta l'hot plug dei dispositivi PCI. Emulazione migliorata delle estensioni di virtualizzazione fornite nei processori AMD. Aggiunta l'opzione bus-lock-ratelimit per limitare l'intensità del blocco del bus da parte del sistema ospite.
  • Aggiunto il supporto per l'utilizzo come acceleratore per l'hypervisor NVMM sviluppato dal progetto NetBSD.
  • Nella GUI, il supporto per l'autenticazione della password quando si utilizza il protocollo VNC è ora abilitato solo quando si crea con un backend crittografico esterno (gnutls, libgcrypt o nettle).

Fonte: opennet.ru

Aggiungi un commento