È stato rilasciato il progetto QEMU 8.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 per ARM su un PC compatibile con x86. In modalità virtualizzazione, le prestazioni del codice eseguito in un ambiente isolato sono vicine a quelle di un sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'uso del hypervisor Xen o del modulo KVM.
Il progetto è stato originariamente creato da Fabrice Bellard con l'obiettivo di consentire l'esecuzione di file eseguibili Linux compilati per l'architettura x86 su architetture diverse da x86. Nel corso degli anni, è stato aggiunto il supporto per l'emulazione completa di 14 architetture hardware, superando quota 400 dispositivi hardware emulati. Per la versione 8.0 sono state apportate oltre 2800 modifiche da 238 sviluppatori.
Miglioramenti chiave aggiunti in QEMU 8.0:
- La supporto per l'emulazione di sistema è stata dichiarata obsoleta e sarà presto interrotta. KVM e Xen) su host a 32 bit con architettura x86. La supporto per l'emulazione in modalità user-mode (esecuzione di singoli processi compilati per un'altra CPU) su host a 32 bit x86 continuerà.
- Nell'emulatore con architettura x86 è stata aggiunta la supporto per l'esecuzione di sistemi guest Xen in ambienti basati su hypervisor KVM e kernel Linux 5.12+.
- Nella generatore di codice classico TCG per architettura x86 è stata aggiunta la supporto per i flag CPUID FSRM, FZRM, FSRS e FSRC. È stata implementata la supporto per il nuovo modello di CPU Intel Sapphire Rapids (Intel 7).
- Nell'emulatore ARM è stata implementata la supporto per CPU Cortex-A55 e Cortex-R52, è stato aggiunto un nuovo tipo di macchine emulate Olimex STM32 H405, è stata aggiunta la supporto per le estensioni del processore FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) e AArch32 ARMv8-R. Nel gdbstub è stata aggiunta la supporto per i registri di sistema per l'architettura M-profile (profilo microcontrollori).
- Nell'emulatore con architettura RISC-V è stata aggiornata l'implementazione delle macchine emulate OpenTitan, PolarFire e OpenSBI. È stata aggiunta la supporto per ulteriori set di istruzioni della CPU (ISA) e estensioni: Smstateen, contatori di debug icount, associati alla cache degli eventi PMU in modalità virtuale, ACPI, estensioni Zawrs, Svadu, T-Head e Zicond.
- Nell'emulatore architettura HPPA è stata aggiunta la supporto per l'istruzione fid (Floating-Point Identify) e migliorata l'emulazione in modalità a 32 bit.
- Nell'emulatore architettura 390x è garantito il supporto per la disconnessione asincrona della memoria durante il riavvio dei sistemi ospiti KVM protetti. È stata migliorata la gestione dei dispositivi zPCI passati.
- Nel meccanismo virtio-mem, che consente il collegamento e la disconnessione a caldo della memoria alle macchine virtuali, è stata implementata l'allocazione anticipata delle risorse (preallocation) durante la migrazione live.
- Nel VFIO (Virtual Function I/O) è stato aggiornato il supporto sperimentale per la migrazione (attivata la seconda edizione del protocollo di migrazione).
- Nel dispositivo a blocchi qemu-nbd è stata migliorata l'efficienza del lavoro su TCP con l'uso di TLS.
- Nel guest agent è stato aggiunto un supporto iniziale per OpenBSD e NetBSD.
Fonte: opennet.ru
