à stato presentato il rilascio del progetto QEMU 10.1.0. Come emulatore, QEMU consente di eseguire un programma compilato per un hardware specifico su un sistema con un'architettura completamente diversa, ad esempio, eseguire un'applicazione per ARM su un PC compatibile con x86. In modalità virtualizzazione, la performance di esecuzione del codice in un ambiente isolato è vicina a quella di un sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'uso dell'iperprogramma Xen o del modulo KVM in Linux, o del modulo NVMM in NetBSD.
Inizialmente, il progetto è stato 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. Nel corso degli anni di sviluppo, è stato aggiunto il supporto per l'emulazione completa di 14 architetture hardware, con un numero di dispositivi hardware emulati che ha superato 400. Nella preparazione della versione 11.0 sono state apportate oltre 2700 modifiche da 226 sviluppatori.
Miglioramenti chiave aggiunti in QEMU 10.1:
- In VFIO (Virtual Function I/O) è stata implementata una funzionalità iniziale di mappatura della memoria per ambienti guest riservati, in cui viene utilizzata la crittografia della memoria per proteggere da interferenze e analisi da parte dell'amministratore del sistema host. Questa modifica consente il passaggio dei dispositivi a sistemi guest protetti tramite meccanismi Intel TDX (Trusted Domain Extensions) e AMD SEV-SNP (Secure Nested Paging).
- Ă stata aggiunta la possibilitĂ di utilizzare il meccanismo multifd per accelerare la migrazione Live in modalitĂ postcopy, in cui inizialmente viene trasferito e avviato sul host di destinazione macchina virtuale, e successivamente viene trasferito gradualmente il contenuto della memoria RAM non utilizzato. Ă stata ottimizzata la modalitĂ di migrazione Live precopy. Ă stato aggiunto il supporto per la migrazione RDMA per IPv6.
- Nel QEMU Guest Agent è stato aggiunto il comando guest-get-load per ottenere informazioni sul livello di carico di sistema (load average) nelle macchine virtuali con Windows.
- In virtio-gpu è stato aggiunto il supporto per la sostituzione del nome nell'EDID (Extended Display Identification Data).
- Nell'emulatore dell'architettura x86 è stata implementata la possibilità di utilizzare il meccanismo Intel TDX (Trusted Domain Extensions) per la crittografia della RAM dei sistemi guest gestiti dall'iperprogramma KVM. à stato inoltre aggiunto il supporto per l'inizializzazione di ambienti riservati macchine virtuali in formato IGVM (Independent Guest Virtual Machine), per la cui protezione vengono utilizzati i meccanismi Intel TDX e AMD SEV-SNP.
- Nell'emulatore dell'architettura ARM è stato implementato il supporto per le schede (Analog Devices âmax78000fthrâ, âast2700fcâ, Meta âcatalina-bmcâ, NVIDIA âgb200-bmcâ e âast2700a0-evbâ. Ă stata aggiunta l'emulazione delle estensioni CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 e FEAT_SVE2p1. Ă stato aggiunto il supporto per la virtualizzazione nidificata nell'ARM virtual platform âvirtâ utilizzando KVM, insieme al supporto per il bus CXL (Compute Express Link) e il collegamento a caldo dei dispositivi PCI tramite ACPI.
- Nell'emulatore dell'architettura RISC-V è stata implementata l'emulazione del processore Kunminghu e della piattaforma basata su di esso. à stato aggiunto il supporto per l'estensione dell'architettura del set di istruzioni Ziccif con l'implementazione della variante atomica dell'istruzione fetch.
- Nell'emulatore dell'architettura LoongArch è stato aggiunto il supporto per l'emulazione del controller delle interruzioni irqchip dal lato del kernel.
- Ă stato aggiunto il supporto sperimentale per la compilazione in WebAssembly (WASM), utilizzando il compilatore Emscripten.
- Nei componenti per ambienti host è stata interrotta la supporto per Debian 11.
Fonte: opennet.ru
