Rilascio dell'emulatore QEMU 7.0

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

Principali miglioramenti aggiunti in QEMU 7.0:

  • L'emulatore dell'architettura x86 ha aggiunto il supporto per il set di istruzioni Intel AMX (Advanced Matrix Extensions) implementato nei processori server scalabili Intel Xeon. AMX offre nuovi registri TMM "TILE" configurabili e istruzioni per la manipolazione dei dati in questi registri, come TMUL (Tile Matrix MULtiply) per la moltiplicazione di matrici.
  • Viene fornita la possibilità di registrare eventi ACPI dal sistema ospite tramite l'interfaccia ACPI ERST.
  • Il modulo virtiofs, utilizzato per inoltrare parte del file system dell'ambiente host al sistema guest, ha migliorato il supporto per le etichette di sicurezza. È stata corretta la vulnerabilità CVE-2022-0358 che consente di aumentare i propri privilegi nel sistema creando file eseguibili in directory inoltrate tramite virtiofs che appartengono ad un altro gruppo e sono dotate del flag SGID.
  • Maggiore flessibilità per il backup delle immagini del sistema attivo (viene creata una snapshot, dopo la quale viene applicato un filtro copy-before-write (CBW) per aggiornare lo stato della snapshot, copiando i dati dalle aree in cui scrive il sistema guest). Aggiunto supporto per immagini in formati diversi da qcow2. È possibile accedere a uno snapshot con un backup non direttamente, ma tramite il driver del dispositivo di blocco dell'accesso allo snapshot. Le funzionalità per controllare il funzionamento del filtro CBW sono state ampliate, ad esempio è possibile escludere determinate bitmap dall'elaborazione.
  • L'emulatore ARM per macchine 'virt' aggiunge il supporto per virtio-mem-pci, rilevando la topologia della CPU per il guest e abilitando PAuth quando si utilizza l'hypervisor KVM con l'acceleratore hvf. L'emulatore della scheda "xlnx-versal-virt" ha aggiunto il supporto per l'emulazione del controller di memoria flash PMC SLCR e OSPI. Sono stati aggiunti nuovi modelli di controllo CRF e APU per le macchine emulate 'xlnx-zynqmp'. Aggiunta l'emulazione delle estensioni FEAT_LVA2, FEAT_LVA (Large Virtual Address space) e FEAT_LPA (Large Physical Address space).
  • Il classico Tiny Code Generator (TCG) ha smesso di supportare host con CPU ARMv4 e ARMv5, che non supportano l'accesso alla memoria non allineato e non hanno abbastanza RAM per eseguire QEMU.
  • L'emulatore dell'architettura RISC-V aggiunge il supporto per l'hypervisor KVM e implementa le estensioni vettoriali Vector 1.0, nonché le istruzioni Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx e zhinx{min}. Aggiunto il supporto per il caricamento di file binari OpenSBI (RISC-V Supervisor Binary Interface) per macchine emulate 'spike'. Per le macchine "virt" emulate, viene implementata la possibilità di utilizzare fino a 32 core di processore e il supporto AIA.
  • L'emulatore dell'architettura HPPA offre la possibilità di utilizzare fino a 16 vCPU e migliora il driver grafico per gli ambienti utente HP-UX VDE/CDE. Aggiunta la possibilità di modificare l'ordine di avvio per i dispositivi SCSI.
  • Nell'emulatore dell'architettura OpenRISC per schede 'sim', è stato aggiunto il supporto per l'utilizzo di un massimo di 4 core della CPU, il caricamento di un'immagine initrd esterna e la generazione automatica di un albero dei dispositivi per il kernel caricato.
  • L'emulatore dell'architettura PowerPC per le macchine emulate "pseries" ha la capacità di eseguire sistemi guest che eseguono un hypervisor KVM nidificato. Aggiunto il supporto per il dispositivo spapr-nvdimm. Per le macchine 'powernv' emulate, è stato aggiunto il supporto per il controller di interruzione XIVE2 e i controller PHB5, ed è stato migliorato il supporto per XIVE e PHB 3/4.
  • Il supporto per le estensioni z390 (Miscellaneous-Instruction-Extensions Facility 15) è stato aggiunto all'emulatore dell'architettura s3x.

Fonte: opennet.ru

Aggiungi un commento