Rilascio dell'emulatore QEMU 8.0

Viene presentato il rilascio del progetto QEMU 8.0. 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 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 8.0, sono state apportate più di 2800 modifiche da 238 sviluppatori.

Principali miglioramenti aggiunti in QEMU 8.0:

  • Dichiarato obsoleto e il supporto per l'emulazione di sistema (avvio dell'intero sistema operativo, anche con il coinvolgimento di hypervisor KVM e Xen) su host x32 a 86 bit verrà presto interrotto. Il supporto per l'emulazione in modalità utente (che esegue processi separati creati per una CPU diversa) su host x32 a 86 bit continuerà.
  • Aggiunto il supporto per l'esecuzione di guest Xen in un ambiente basato sull'hypervisor KVM e sui kernel Linux 86+ nell'emulatore dell'architettura x5.12.
  • Aggiunto il supporto per i flag CPUID FSRM, FZRM, FSRS e FSRC nel classico generatore di codice TCG per l'architettura x86. Supporto implementato per il nuovo modello di CPU Intel Sapphire Rapids (Intel 7).
  • L'emulatore ARM ha implementato il supporto per le CPU Cortex-A55 e Cortex-R52, aggiunto un nuovo tipo di macchina emulata Olimex STM32 H405, aggiunto il supporto per FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) e processore AArch32 ARMv8-R estensioni. Aggiunto il supporto per i registri di sistema in gdbstub per l'architettura del profilo M (profilo del microcontrollore).
  • L'implementazione delle macchine OpenTitan, PolarFire e OpenSBI emulate è stata aggiornata nell'emulatore dell'architettura RISC-V. Aggiunto il supporto per ulteriori set di istruzioni del processore (ISA) ed estensioni: Smstateen, contatori di debug icount, eventi relativi alla cache PMU in modalità virtuale, estensioni ACPI, Zawrs, Svadu, T-Head e Zicond.
  • All'emulatore dell'architettura HPPA è stato aggiunto il supporto per l'istruzione fid (Floating-Point Identify) e l'emulazione è stata migliorata in modalità a 32 bit.
  • L'emulatore dell'architettura 390x supporta il distacco asincrono della memoria durante il riavvio dei guest KVM sicuri. Gestione migliorata dei dispositivi zPCI inoltrati.
  • Il meccanismo virtio-mem, che consente di collegare e scollegare a caldo la memoria alle macchine virtuali, implementa la preallocazione durante la migrazione in tempo reale.
  • Aggiornato il supporto sperimentale per la migrazione in VFIO (Virtual Function I/O) (si tratta della seconda edizione del protocollo di migrazione).
  • Il dispositivo a blocchi qemu-nbd ha migliorato le prestazioni su TCP quando si utilizza TLS.
  • Il supporto iniziale per OpenBSD e NetBSD è stato aggiunto all'agente guest.

Fonte: opennet.ru

Aggiungi un commento