QEMU (QuickEmulator) è una macchia virtuale con cui è possibile emulare un buon numero di piattaforme supportate, tra cui le più comuni x86, AMD64, PowerPC, MIPS e ARM. È caratterizzato da una particolare sistema il quale permette di generare un’architettura informatica nuova e disgiunta nei sistemi che si occuperanno di ospitarla, consentendo così di emulare al completo qualsiasi macchina.
Di recente, la macchina virtuale si è aggiornata alla versione 9.2 con nuove funzionalità e ambienti, tra cui AWS Nitro Enclave e molto altro.
QEMU 9.2: nuove funzionalità nell’ultima versione della macchina virtuale
Con QEMU 9.2, gli sviluppatori introducono un nuovo tipo di macchina virtuale, denominata “nitro enclave”, permettendo l’emulazione di un’ambiente AWS Nitro Enclave nonché avviare un file EIF (Enclave Image Format), oltre a implementare una coda di eccezioni in virgola mobile a voce singola per piattaforme SPARC v7/v8. Vengono poi apportati numerosi miglioramenti per le piattaforme RISC-V, tra cui il supporto per le estensioni di integrità del flusso di controllo, per IOMMU e relativa macchina virtuale, nonché aggiunta l’estensione Svvptc, funzioni CSR preliminari del trigger textra, una proprietà per impostare vl su ceil(AVL/2) e un registro ‘fcsr’ nel registro della macchina virtuale, che fa parte dell’estensione F.
In questa versione, sempre RISC-V migliora le prestazioni per le istruzioni ld/st per quanto riguarda l’unità vettoriale e il registro intero, abilitando poi Bit Manip per la CPU OpenTitan Ibex. Viene esposta la CPU RV32 a RV64 QEMU, applicata la contropressione FIFO agli ospiti che utilizzano SiFive UART, aggiungendo il supporto per l’estensione RVV-1.0 per consentire le operazioni vettoriali host.
Per quanto riguarda l’emulazione, QEMU 9.2 include anche nuove funzionalità architettoniche per la CPU, come FEAT_EBF16 e FEAT_CMOW, oltre che la proprietà ARM MTE, anche in modalità sistema nell’emulazione TCG per VM basate su KVM, nel caso in cui sia presente il supporto nella CPU. Su ARM viene ora consentita la creazione di macchine virtuali con uno spazio maggiore di reindirizzamento, che ora può raggiungere i 36-bit, supportando fino a oltre 64GB di RAM e molto altro che è possibile consultare in dettaglio nella lista cambiamenti completa.
L’ultima versione della macchina virtuale è già disponibile dal download dal sito ufficiale.