Rilascio dell'emulatore QEMU 4.1

Presentato rilascio del progetto QEMU 4.1. 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 x86. In modalità di virtualizzazione, le prestazioni di esecuzione del codice in un ambiente isolato sono vicine a quelle di un sistema nativo grazie all'esecuzione diretta delle istruzioni sulla CPU e all'utilizzo dell'iper-visore Xen o del modulo KVM.

Il progetto è stato originariamente creato da Fabrice Bellard per 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 e il numero di dispositivi hardware emulati ha superato i 400. Nella preparazione della versione 4.1, sono state apportate oltre 2000 modifiche da parte di 276 sviluppatori.

Chiave miglioramenti, aggiunti in QEMU 4.1:

  • Nell'emulatore dell'architettura x86 è stato aggiunto il supporto per i modelli di CPU Hygon Dhyana e Intel SnowRidge. È stata aggiunta l'emulazione dell'estensione RDRAND (generatore hardware di numeri casuali). Sono stati aggiunti i flag
    md-clear e mds-no per gestire la protezione contro gli attacchi. MDS (Microarchitectural Data Sampling) per processori Intel. È stata aggiunta la possibilità di determinare le topologie dei circuiti integrati tramite il flag «-smp …,dies=». È stato implementato il versioning per tutti i modelli CPU x86;
  • Il driver block SSH è stato trasferito all'uso di libssh2 con libssh;
  • Nel driver virtio-gpu (GPU virtuale, sviluppato nell'ambito del progetto Virgil) è stata aggiunta la supporto per l'estrazione delle operazioni di rendering 2D/3D in un processo esterno vhost-user (ad esempio, vhost-user-gpu);
  • Nell'emulatore dell'architettura ARM è stata aggiunta la supporto per l'estensione ARMv8.5-RNG per la generazione di numeri pseudocasuali. È stata implementata la supporto per l'emulazione FPU per i chip della famiglia Cortex-M e sono stati risolti i problemi con l'emulazione FPU per Cortex-R5F. È stata proposta un nuovo sistema di configurazione delle opzioni di compilazione, presentato nello stile Kconfig. Per il SoC Exynos4210 è stata aggiunta la supporto per i controller DMA PL330;
  • Nell'emulatore dell'architettura MIPS è stata migliorata la supporto per le istruzioni MSA ASE utilizzando l'ordine dei byte big-endian e allineata con l'hardware di riferimento il trattamento dei casi di divisione per zero. È stata aumentata la performance dell'emulazione delle istruzioni MSA per i calcoli interi e le operazioni di permutazione;
  • Nel emulatore dell'architettura PowerPC è stata introdotta la supporto per il passaggio a GPU NVIDIA V100/NVLink2 tramite VFIO. Per il pseries è stata implementata l'accelerazione dell'emulazione del controller delle interruzioni XIVE e sono stati aggiunti il supporto hot plug per i bridge PCI. Sono state apportate ottimizzazioni all'emulazione delle istruzioni vettoriali (Altivec/VSX);
  • Nell'emulatore dell'architettura RISC-V è stata aggiunta una nuova modello di hardware — "spike". È stato aggiunto il supporto per ISA 1.11.0. È stato migliorato l'ABI a 32 bit per le chiamate di sistema, ampliata la gestione delle istruzioni non valide e migliorato il debugger integrato. È stato aggiunto il supporto per la topologia della CPU nell'albero dei dispositivi;
  • Nell'emulatore dell'architettura s390 è stato introdotto il supporto per l'emulazione di tutte le istruzioni vettoriali del gruppo "Vector Facility" e sono stati aggiunti ulteriori elementi per supportare i sistemi gen15 (incluso il supporto per AP Queue Interruption Facility per vfio-ap). È stato implementato il supporto BIOS per l'avvio da ECKD DASD, collegato al sistema guest tramite vfio-ccw;
  • Nell'emulatore dell'architettura SPARC per sistemi sun4m sono stati risolti i problemi relativi all'uso del flag "-vga none" per OpenBIOS;
  • Nell'emulatore dei processori della famiglia Tensilica Xtensa sono state implementate opzioni per l'MPU (memory protection unit) e l'accesso esclusivo;
  • Nel comando «qemu-img convert» è stata aggiunta l'opzione «—salvage» per disabilitare l'arresto anomalo del processo di conversione dell'immagine in caso di errori di input/output (ad esempio, può essere utilizzato per recuperare file qcow2 parzialmente danneggiati). Nel comando
    «qemu-img rebase» è garantito il funzionamento quando non è stato ancora creato un file di base (backing) per il file di input;
  • Aggiunta la possibilità di reindirizzare l'output, organizzato con la tecnologia «semihosting» (consente al dispositivo emulato di utilizzare stdout, stderr e stdin per creare file lato host), nel backend chardev («-semihosting-config enable=on,target=native,chardev=[ID]»);
  • Nel driver a blocchi VMDK è stata aggiunta la supporto per il sottotipologia seSparse in modalità sola lettura;
  • Nel driver di emulazione GPIO è stato aggiunto il supporto per il controllore GPIO SiFive.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster