È stata presentata la release del progetto QEMU 10.2.0. Come emulatore, QEMU consente di eseguire programmi compilati 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, QEMU offre prestazioni di esecuzione del codice in un ambiente isolato simili a quelle di un sistema hardware grazie all'esecuzione diretta delle istruzioni sulla CPU e all'utilizzo dell'iperpvisor Xen o del modulo KVM in Linux, o del modulo NVMM in NetBSD.
Il progetto è stato originariamente 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, è stato aggiunto il supporto per l'emulazione completa di 14 architetture hardware, con oltre 400 dispositivi hardware emulati. Per la versione 10.2.0 sono state apportate oltre 2200 modifiche da 188 sviluppatori.
Miglioramenti chiave aggiunti in QEMU 10.2:
- Nel backend 9pfs, che consente di utilizzare il file system di rete Plan 9 per l'accesso di una macchina virtuale a un'altra, è stato aggiunto il supporto per FreeBSD.
- È stata aggiunta una nuova modalità di live migration 'cpr-exec', che permette di ridurre il consumo di risorse durante l'aggiornamento macchine virtuali e potenzialmente riutilizzare gli stati e le connessioni esistenti durante l'aggiornamento.
- Il ciclo principale di elaborazione eventi in QEMU è stato convertito per utilizzare l'interfaccia di input/output asincrona io_uring sui sistemi che la supportano, il che porta a un aumento delle prestazioni.
- Migliorata l'emulazione in modalità user-mode, che consente di eseguire processi separati compilati per una CPU diversa. È stata implementata la syscall fchmodat2, aggiunto il supporto per i flag MADV_DONTDUMP e MADV_DODUMP, migliorato il supporto per le architetture aarch64, hppa e microblaze.
- Nell'emulatore dell'architettura ARM è stato aggiunto il supporto per il modello di scheda amd-versal2-virt con implementazione di SoC virtuale AMD Versal. Migliorato il supporto per le schede 'AST2600', 'AST2700', 'AST1030' e 'xlnx-zynqmp'. È stata implementata l'emulazione delle estensioni CPU FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC e FEAT_GCS.
- Nell'emulatore dell'architettura HPPA è stata aggiunta la possibilità di emulare la workstation HP 715/64, il controller SCSI NCR 53c710 e il controller di input/output HP LASI.
- Nell'emulatore dell'architettura PowerPC è stata aggiunta la supporto per le CPU PowerNV11 e PPE42. Per l'hardware pSeries è stato implementato un meccanismo FADUMP (Firmware-Assisted Dump) per la creazione di dump dello stato dopo un crash del sistema.
- Nell'emulatore dell'architettura RISC-V è stato implementato l'API MonitorDef HMP, e fino alla versione 1.7 è stata aggiornata l'OpenSBI (Open Supervisor Binary Interface), apportando un ampio numero di correzioni.
- Nell'emulatore dell'architettura s390x, per migliorare le prestazioni, la tecnologia di sostituzione delle interruzioni virtuali tramite irqfd è stata impiegata per virtio-pci.
Fonte: opennet.ru
