QEMU

Software screenshot:
QEMU
Dettagli del software:
Versione: 2.12.0 Aggiornato
Data di caricamento: 22 Jun 18
Sviluppatore: Fabrice Bellard
Licenza: Libero
Popolarità: 51

Rating: nan/5 (Total Votes: 0)

QEMU è un software di virtualizzazione open source e molto veloce che si concentra sulla traduzione dinamica per ottenere prestazioni ragionevoli, pur essendo facile da trasferire su nuove CPU host (processori).


Un potente emulatore di macchina e virtualizzatore

È anche noto come emulatore di macchina, progettato per emulare un sistema completo, incluso un processore e le sue periferiche. La parte di emulazione supporta sistemi operativi e programmi creati per una singola piattaforma hardware, ma in esecuzione su un altro computer con un'architettura diversa.

D'altro canto, quando l'applicazione viene utilizzata come virtualizzatore, può raggiungere prestazioni quasi native eseguendo il codice guest direttamente sul processore host. Supporta l'hypervisor Xen e il modulo del kernel KVM (Kernel Virtual Machine).


Supporta la virtualizzazione di numerose piattaforme hardware

Se KVM è preferito, l'applicazione sarà in grado di virtualizzare macchine x86 (32-bit), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL, o32 e SPARC. Può emulare i sistemi Windows XP, FreeDOS e SunOS, così come Virtio, Hub Router USB, dispositivi di rete, di input, video e di archiviazione.

Dopo VirtualBox e VMware, QEMU è il terzo più grande software di virtualizzazione per piattaforme Linux, ma il primo e il più potente per l'ecosistema open source. La sua caratteristica fondamentale è la possibilità di eseguire come macchina virtuale nativa su architetture a 64-bit o 32-bit o come puro emulatore.


Sistemi operativi supportati

È un software da riga di comando che gira su sistemi operativi basati su Linux, oltre a Microsoft Windows e vari sapori UNIX. Un archivio sorgente è fornito nella sezione di download dedicata, che consente agli utenti di configurare, compilare e installare il programma in qualsiasi distribuzione Linux, nonché su sistemi OpenBSD, Solaris, AIX, MinGW e Cygwin.


Linea di fondo

Sia che tu voglia testare il software, provare vari sistemi operativi o semplicemente eseguire applicazioni che non sono supportate sulla tua piattaforma, QEMU offre agli utenti una delle macchine di virtualizzazione ed emulazione più veloci.

Cosa c'è di nuovo in questa versione:

  • Emulazione di sistema:
  • Modifiche incompatibili:
  • Il numero di ponti host PCI consentiti per la macchina pSeries è stato ridotto da 256 a 31 (è possibile configurarne altri configurando manualmente le finestre MMIO).
  • Rimosso il supporto per tftp: // nel livello di blocco, poiché questo è stato interrotto per sempre per file più grandi di 256 KB.
  • Modifiche future incompatibili:
  • Tre opzioni utilizzano nomi diversi nella riga di comando e nel file di configurazione. In particolare:
  • Il & quot; acpi & quot; la sezione del file di configurazione corrisponde all'opzione della riga di comando & quot; acpitable & quot ;;
  • Le & quot; opzioni di avvio & quot; la sezione del file di configurazione corrisponde all'opzione della riga di comando & quot; boot & quot ;;
  • Il & quot; smp-opts & quot; la sezione del file di configurazione corrisponde all'opzione della riga di comando & quot; smp & quot;.
  • -readconfig sarà standardizzato sul nome per l'opzione della riga di comando.
  • Il comportamento del calcolo automatico della topologia SMP quando alcune opzioni di topologia SMP per -smp vengono omesse (socket, core, thread) cambieranno in futuro. Se l'ABI guest deve essere preservato negli aggiornamenti durante l'utilizzo delle opzioni della topologia SMP, gli utenti devono impostare tutte le opzioni in modo esplicito (socket, core, thread) o ometterle tutte.
  • Dispositivi & quot; allwinner-a10 & quot ;, & quot; pc87312 & quot ;, & quot; ssi-sd & quot; sarà configurato con proprietà esplicite anziché implicitamente. È improbabile che ciò influisca sugli utenti.
  • Il comando QMP blockdev-add è ancora in corso. Non supporta tutti i driver di blocco, manca un blockdev-del corrispondente e altro ancora. Potrebbe cambiare in modo incompatibile.
  • Per x86, specificando una funzione CPUID con & quot; + feature / -feature & quot; e & quot; feature = on / off & quot; causerà un avvertimento Il comportamento corrente per questa combinazione (& quot; + feature / -feature & quot; wins over & quot; feature = on / off & quot;) verrà modificato in modo che & quot; + feature & quot; e & quot; -feature & quot; saranno sinonimi per & quot; feature = on & quot; e & quot; feature = off & quot; rispettivamente).
  • ARM:
  • Miglioramenti alla scheda Aspeed.
  • Supporto per trap di semihosting HLT in modalità AArch32 (sia ARM che Thumb).
  • Le tabelle ACPI per & quot; virt & quot; supporto del tipo di macchina ITS.
  • Il dispositivo Cadence GEM ora supporta più code di priorità tramite la proprietà num-priority-queues.
  • La scheda STM32F2xx (Netduino 2) ora include dispositivi ADC e SPI.
  • MIPS:
  • Supporto per CPU 24KEc.
  • PowerPC:
  • Supporto per CPU POWER9.
  • Miglioramenti per il nuovo & quot; powernv & quot; piattaforma.
  • pSeries:
  • I bridge host PCI possono essere associati ai nodi NUMA.
  • Supporto per più di 1 TiB di memoria ospite.
  • Supporto per più di 64 GiB di MMIO in un bridge host PCI.
  • Supporto per & quot; -prom-env & quot; parametro
  • s390:
  • Supporto per i modelli di CPU.
  • Supporto per virtio-ccw revisione 2.
  • 86
  • Supporto per diverse nuove funzionalità CPUID correlate alle estensioni del set di istruzioni AVX-512.
  • L'IOAPIC emulato (usato da TCG e, con KVM, se l'opzione & quot; -machine kernel_irqchip & quot; ha il valore & quot; off & quot; & quot; split & quot;) ora ha come valore predefinito la versione 0x20, che supporta l'end-of-end diretto interrompe i messaggi.
  • Supporto per la modalità Interrupt esteso (EIM) nel dispositivo intel_iommu. EIM richiede KVM (Linux v4.7 o successivo, per supporto x2APIC) e & quot; -machine kernel-irqchip = split & quot ;; è abilitato automaticamente se il remapping degli interrupt è abilitato (& quot; -machine kernel-irqchip = split -device intel_iommu, intremap = on & quot;).
  • Supporta fino a 288 CPU con i tipi di macchina Q35. 256 o più CPU sono supportate solo se IOMMU ed EIM sono abilitati.
  • Xen:
  • Supporto per scollegare il disco SCSI.
  • Supporto per il dispositivo compatibile SUSE xenlinux scollegare.
  • Emulazione e assegnazione del dispositivo:
  • QEMU ora include uno pseudo-dispositivo del caricatore generico che consente di caricare più immagini o valori in memoria all'avvio. Questo dispositivo è documentato in docs / generic-loader.txt.
  • ACPI:
  • Supporto per hotplugging di dispositivi NVDIMM (_FIT)
  • Dispositivi di rete:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • PCI / PCIe:
  • Il dispositivo EDU di esempio ora supporta MSI.
  • È stata aggiunta la documentazione delle linee guida PCI Express per consigli sulla topologia e PCI vs PCIe.
  • virtio:
  • Nuovo dispositivo vhost-vsock.
  • Supporto iniziale per la gestione elegante degli errori dei guest (ad esempio, QEMU non dovrebbe uscire dagli errori guest).
  • Supporto per il nuovo dispositivo virtio-crypto.
  • Xen:
  • Supporto per la copia di sovvenzione.
  • Sottosistema di crittografia:
  • Supporto per più algoritmi di hash per PBKDF.
  • Supporto per la modalità CTR.
  • GUI:
  • SPICE può utilizzare il rendering OpenGL puro se & quot; gl = on & quot; è specificato.
  • Monitor:
  • Migrazione:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • Rete:
  • Blocca dispositivi e strumenti:
  • Altri comandi QMP supportano nome-nodo (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • L'evento BLOCK_IO_ERROR ora include il nome del nodo.
  • Altri comandi QMP accettano nomi di modelli di dispositivo (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • L'evento DEVICE_TRAY_MOVED ora include l'ID del dispositivo.
  • Throttling ora si applica solo al dispositivo guest e non per bloccare i lavori o il server NBD.
  • supporto drive-backup e blockdev-backup che scrive i backup in formato compresso
  • Il formato LUKS ora può configurare il conteggio dell'iterazione PBKDF.
  • block-stream supporta lo streaming da un file di backup ad un altro file di supporto.
  • Supporto per la replica, per tolleranza di errore passo-passo (COLO) a grana grossa.
  • Nuovo & quot; dd & quot; sottocomando di qemu-img.
  • Il driver DMG può essere compilato su un driver separato, in modo da rendere la dipendenza di QEMU su libbz2 opzionale.
  • Supporto per iSER nell'iniziatore iSCSI di QEMU tramite un iser: // URI.
  • Il client e il server NBD supportano l'estensione NBD_CMD_WRITE_ZEROES.
  • Supporto per le immagini raw & quot; offset & quot; e & quot; size & quot; opzioni per accedere solo a una parte del file o del dispositivo.
  • Tracing:
  • Nuovo back-end di tracciamento & quot; syslog & quot;.
  • Supporto per più & quot; traccia -d: PATTERN & quot; argomenti della riga di comando.
  • Opzioni CLI:
  • Emulazione in modalità utente
  • Rimosso il supporto di destinazione
  • La destinazione unicore32-linux-user ha implementato una chiamata di sistema diversa ABI dalla Linux principale per questa architettura. Il supporto per questo è stato eliminato.
  • Nuova funzionalità:
  • Aggiunto supporto per più syscalls incluso preadv, pwritev, syslog.
  • Principali miglioramenti della scalabilità per programmi multi-thread (ARM, SPARC, x86).
  • QEMU ora può comprendere e generare operazioni fence e cmpxchg.
  • TCG:
  • Sono state aggiunte nuove primitive TCG per la modellazione sicura delle istruzioni di sincronizzazione architettonica (ad esempio atomics, LL / SC, prefissi LOCK). gli obiettivi arm, aarch64, alpha e x86 ora usano queste primitive per programmi linux-utente multi-thread. I manutentori degli obiettivi del TCG sono incoraggiati a portare i loro front-end per utilizzare le nuove strutture.
  • I back-end TCG ora emettono appropriate istruzioni di barriera per le barriere di frontend quando si eseguono programmi multi-thread. Tuttavia, l'emulazione di un'architettura fortemente ordinata (ad es. X86) su uno debolmente ordinato (ad es. ARM o POWER) non funzionerà ancora.
  • tb_flush () è finalmente sicuro per i thread, poiché i programmi multi-thread hanno meno probabilità di bloccarsi quando il buffer di traduzione viene ripristinato
  • la contesa del blocco nel ciclo di esecuzione della cpu principale è stata ridotta migliorando le prestazioni per il codice multi-thread
  • un numero di gare è stato identificato e risolto
  • Gran parte del lavoro TCG si è fusa in questo ciclo in cui i prerequisiti per il supporto dell'emulazione di sistema multi-thread (MTTCG). Mentre il supporto MTTCG completo dovrebbe essere unito nel prossimo ciclo di sviluppo, i programmi multi-thread con linux user beneficeranno già di questo lavoro.

Novità della versione nella versione:

  • Emulazione del sistema:
  • Modifiche incompatibili:
  • Il numero di ponti host PCI consentiti per la macchina pSeries è stato ridotto da 256 a 31 (è possibile configurarne altri configurando manualmente le finestre MMIO).
  • Rimosso il supporto per tftp: // nel livello di blocco, poiché questo è stato interrotto per sempre per file più grandi di 256 KB.
  • Modifiche future incompatibili:
  • Tre opzioni utilizzano nomi diversi nella riga di comando e nel file di configurazione. In particolare:
  • La sezione del file di configurazione "acpi" corrisponde all'opzione della riga di comando "acpitable";
  • La sezione del file di configurazione "boot-opts" corrisponde all'opzione della riga di comando "boot";
  • La sezione del file di configurazione "smp-opts" corrisponde all'opzione della riga di comando "smp".
  • -readconfig sarà standardizzato sul nome per l'opzione della riga di comando.
  • Il comportamento del calcolo automatico della topologia SMP quando alcune opzioni di topologia SMP per -smp vengono omesse (socket, core, thread) cambieranno in futuro. Se l'ABI guest deve essere preservato negli aggiornamenti durante l'utilizzo delle opzioni della topologia SMP, gli utenti devono impostare tutte le opzioni in modo esplicito (socket, core, thread) o ometterle tutte.
  • I dispositivi "allwinner-a10", "pc87312", "ssi-sd" saranno configurati con proprietà esplicite anziché implicitamente. È improbabile che ciò influisca sugli utenti.
  • Il comando QMP blockdev-add è ancora in corso. Non supporta tutti i driver di blocco, manca un blockdev-del corrispondente e altro ancora. Potrebbe cambiare in modo incompatibile.
  • Per x86, specificare una funzione CPUID con "+ feature / -feature" e "feature = on / off" causerà un avvertimento. Il comportamento corrente per questa combinazione ("+ caratteristica / caratteristica" vince "funzione = on / off") verrà modificato in modo che "+ funzionalità" e "-funzione" saranno sinonimi per "funzione = su" e "funzione = off "rispettivamente).
  • ARM:
  • Miglioramenti alla scheda Aspeed.
  • Supporto per trap di semihosting HLT in modalità AArch32 (sia ARM che Thumb).
  • Le tabelle ACPI per il tipo di macchina "virt" supportano ITS.
  • Il dispositivo Cadence GEM ora supporta più code di priorità tramite la proprietà num-priority-queues.
  • La scheda STM32F2xx (Netduino 2) ora include dispositivi ADC e SPI.
  • MIPS:
  • Supporto per CPU 24KEc.
  • PowerPC:
  • Supporto per CPU POWER9.
  • Miglioramenti per la nuova piattaforma "powernv".
  • pSeries:
  • I bridge host PCI possono essere associati ai nodi NUMA.
  • Supporto per più di 1 TiB di memoria ospite.
  • Supporto per più di 64 GiB di MMIO in un bridge host PCI.
  • Supporto per il parametro "-prom-env"
  • s390:
  • Supporto per i modelli di CPU.
  • Supporto per virtio-ccw revisione 2.
  • 86
  • Supporto per diverse nuove funzionalità CPUID correlate alle estensioni del set di istruzioni AVX-512.
  • L'IOAPIC emulato (usato da TCG e, con KVM, se l'opzione "-machine kernel_irqchip" ha il valore "off" o "split") ora ha come valore predefinito la versione 0x20, che supporta i messaggi diretti di fine interruzione.
  • Supporto per la modalità Interrupt esteso (EIM) nel dispositivo intel_iommu. EIM richiede KVM (Linux v4.7 o successivo, per supporto x2APIC) e "-machine kernel-irqchip = split"; è abilitato automaticamente se il remapping degli interrupt è abilitato ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Supporta fino a 288 CPU con i tipi di macchina Q35. 256 o più CPU sono supportate solo se IOMMU ed EIM sono abilitati.
  • Xen:
  • Supporto per scollegare il disco SCSI.
  • Supporto per il dispositivo compatibile SUSE xenlinux scollegare.
  • Emulazione e assegnazione del dispositivo:
  • QEMU ora include uno pseudo-dispositivo del caricatore generico che consente di caricare più immagini o valori in memoria all'avvio. Questo dispositivo è documentato in docs / generic-loader.txt.
  • ACPI:
  • Supporto per hotplugging di dispositivi NVDIMM (_FIT)
  • Dispositivi di rete:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • PCI / PCIe:
  • Il dispositivo EDU di esempio ora supporta MSI.
  • È stata aggiunta la documentazione delle linee guida PCI Express per consigli sulla topologia e PCI vs PCIe.
  • virtio:
  • Nuovo dispositivo vhost-vsock.
  • Supporto iniziale per la gestione elegante degli errori dei guest (ad esempio, QEMU non dovrebbe uscire dagli errori guest).
  • Supporto per il nuovo dispositivo virtio-crypto.
  • Xen:
  • Supporto per la copia di sovvenzione.
  • Sottosistema di crittografia:
  • Supporto per più algoritmi di hash per PBKDF.
  • Supporto per la modalità CTR.
  • GUI:
  • SPICE può utilizzare il rendering OpenGL puro se "gl = on" è specificato.
  • Monitor:
  • Migrazione:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • Rete:
  • Blocca dispositivi e strumenti:
  • Altri comandi QMP supportano nome-nodo (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • L'evento BLOCK_IO_ERROR ora include il nome del nodo.
  • Altri comandi QMP accettano nomi di modelli di dispositivo (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • L'evento DEVICE_TRAY_MOVED ora include l'ID del dispositivo.
  • Throttling ora si applica solo al dispositivo guest e non per bloccare i lavori o il server NBD.
  • supporto drive-backup e blockdev-backup che scrive i backup in formato compresso
  • Il formato LUKS ora può configurare il conteggio dell'iterazione PBKDF.
  • block-stream supporta lo streaming da un file di backup ad un altro file di supporto.
  • Supporto per la replica, per tolleranza di errore passo-passo (COLO) a grana grossa.
  • Nuovo sottocomando "dd" di qemu-img.
  • Il driver DMG può essere compilato su un driver separato, in modo da rendere la dipendenza di QEMU su libbz2 opzionale.
  • Supporto per iSER nell'iniziatore iSCSI di QEMU tramite un iser: // URI.
  • Il client e il server NBD supportano l'estensione NBD_CMD_WRITE_ZEROES.
  • Le immagini raw supportano le opzioni "offset" e "dimensione" per accedere solo a una parte del file o del dispositivo.
  • Tracing:
  • Nuovo back-end di tracciamento "syslog".
  • Supporto per più "-d trace: PATTERN" argomenti della riga di comando.
  • Opzioni CLI:
  • Emulazione in modalità utente
  • Rimosso il supporto di destinazione
  • La destinazione unicore32-linux-user ha implementato una chiamata di sistema diversa ABI dalla Linux principale per questa architettura. Il supporto per questo è stato eliminato.
  • Nuova funzionalità:
  • Aggiunto supporto per più syscalls incluso preadv, pwritev, syslog.
  • Principali miglioramenti della scalabilità per programmi multi-thread (ARM, SPARC, x86).
  • QEMU ora può comprendere e generare operazioni fence e cmpxchg.
  • TCG:
  • Sono state aggiunte nuove primitive TCG per la modellazione sicura delle istruzioni di sincronizzazione architettonica (ad esempio atomics, LL / SC, prefissi LOCK). gli obiettivi arm, aarch64, alpha e x86 ora usano queste primitive per programmi linux-utente multi-thread. I manutentori degli obiettivi del TCG sono incoraggiati a portare i loro front-end per utilizzare le nuove strutture.
  • I back-end TCG ora emettono appropriate istruzioni di barriera per le barriere di frontend quando si eseguono programmi multi-thread. Tuttavia, l'emulazione di un'architettura fortemente ordinata (ad es. X86) su uno debolmente ordinato (ad es. ARM o POWER) non funzionerà ancora.
  • tb_flush () è finalmente sicuro per i thread, poiché i programmi multi-thread hanno meno probabilità di bloccarsi quando il buffer di traduzione viene ripristinato
  • la contesa del blocco nel ciclo di esecuzione della cpu principale è stata ridotta migliorando le prestazioni per il codice multi-thread
  • un numero di gare è stato identificato e risolto
  • Gran parte del lavoro TCG si è fusa in questo ciclo in cui i prerequisiti per il supporto dell'emulazione di sistema multi-thread (MTTCG). Mentre il supporto MTTCG completo dovrebbe essere unito nel prossimo ciclo di sviluppo, i programmi multi-thread con linux user beneficeranno già di questo lavoro.

Novità della versione 2.9.0:

  • Emulazione del sistema:
  • Modifiche incompatibili:
  • Il numero di ponti host PCI consentiti per la macchina pSeries è stato ridotto da 256 a 31 (è possibile configurarne altri configurando manualmente le finestre MMIO).
  • Rimosso il supporto per tftp: // nel livello di blocco, poiché questo è stato interrotto per sempre per file più grandi di 256 KB.
  • Modifiche future incompatibili:
  • Tre opzioni utilizzano nomi diversi nella riga di comando e nel file di configurazione. In particolare:
  • La sezione del file di configurazione "acpi" corrisponde all'opzione della riga di comando "acpitable";
  • La sezione del file di configurazione "boot-opts" corrisponde all'opzione della riga di comando "boot";
  • La sezione del file di configurazione "smp-opts" corrisponde all'opzione della riga di comando "smp".
  • -readconfig sarà standardizzato sul nome per l'opzione della riga di comando.
  • Il comportamento del calcolo automatico della topologia SMP quando alcune opzioni di topologia SMP per -smp vengono omesse (socket, core, thread) cambieranno in futuro. Se l'ABI guest deve essere preservato negli aggiornamenti durante l'utilizzo delle opzioni della topologia SMP, gli utenti devono impostare tutte le opzioni in modo esplicito (socket, core, thread) o ometterle tutte.
  • I dispositivi "allwinner-a10", "pc87312", "ssi-sd" saranno configurati con proprietà esplicite anziché implicitamente. È improbabile che ciò influisca sugli utenti.
  • Il comando QMP blockdev-add è ancora in corso. Non supporta tutti i driver di blocco, manca un blockdev-del corrispondente e altro ancora. Potrebbe cambiare in modo incompatibile.
  • Per x86, specificare una funzione CPUID con "+ feature / -feature" e "feature = on / off" causerà un avvertimento. Il comportamento corrente per questa combinazione ("+ caratteristica / caratteristica" vince "funzione = on / off") verrà modificato in modo che "+ funzionalità" e "-funzione" saranno sinonimi per "funzione = su" e "funzione = off "rispettivamente).
  • ARM:
  • Miglioramenti alla scheda Aspeed.
  • Supporto per trap di semihosting HLT in modalità AArch32 (sia ARM che Thumb).
  • Le tabelle ACPI per il tipo di macchina "virt" supportano ITS.
  • Il dispositivo Cadence GEM ora supporta più code di priorità tramite la proprietà num-priority-queues.
  • La scheda STM32F2xx (Netduino 2) ora include dispositivi ADC e SPI.
  • MIPS:
  • Supporto per CPU 24KEc.
  • PowerPC:
  • Supporto per CPU POWER9.
  • Miglioramenti per la nuova piattaforma "powernv".
  • pSeries:
  • I bridge host PCI possono essere associati ai nodi NUMA.
  • Supporto per più di 1 TiB di memoria ospite.
  • Supporto per più di 64 GiB di MMIO in un bridge host PCI.
  • Supporto per il parametro "-prom-env"
  • s390:
  • Supporto per i modelli di CPU.
  • Supporto per virtio-ccw revisione 2.
  • 86
  • Supporto per diverse nuove funzionalità CPUID correlate alle estensioni del set di istruzioni AVX-512.
  • L'IOAPIC emulato (usato da TCG e, con KVM, se l'opzione "-machine kernel_irqchip" ha il valore "off" o "split") ora ha come valore predefinito la versione 0x20, che supporta i messaggi diretti di fine interruzione.
  • Supporto per la modalità Interrupt esteso (EIM) nel dispositivo intel_iommu. EIM richiede KVM (Linux v4.7 o successivo, per supporto x2APIC) e "-machine kernel-irqchip = split"; è abilitato automaticamente se il remapping degli interrupt è abilitato ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Supporta fino a 288 CPU con i tipi di macchina Q35. 256 o più CPU sono supportate solo se IOMMU ed EIM sono abilitati.
  • Xen:
  • Supporto per scollegare il disco SCSI.
  • Supporto per il dispositivo compatibile SUSE xenlinux scollegare.
  • Emulazione e assegnazione del dispositivo:
  • QEMU ora include uno pseudo-dispositivo del caricatore generico che consente di caricare più immagini o valori in memoria all'avvio. Questo dispositivo è documentato in docs / generic-loader.txt.
  • ACPI:
  • Supporto per hotplugging di dispositivi NVDIMM (_FIT)
  • Dispositivi di rete:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • PCI / PCIe:
  • Il dispositivo EDU di esempio ora supporta MSI.
  • È stata aggiunta la documentazione delle linee guida PCI Express per consigli sulla topologia e PCI vs PCIe.
  • virtio:
  • Nuovo dispositivo vhost-vsock.
  • Supporto iniziale per la gestione elegante degli errori dei guest (ad esempio, QEMU non dovrebbe uscire dagli errori guest).
  • Supporto per il nuovo dispositivo virtio-crypto.
  • Xen:
  • Supporto per la copia di sovvenzione.
  • Sottosistema di crittografia:
  • Supporto per più algoritmi di hash per PBKDF.
  • Supporto per la modalità CTR.
  • GUI:
  • SPICE può utilizzare il rendering OpenGL puro se "gl = on" è specificato.
  • Monitor:
  • Migrazione:
  • Supporto per la tolleranza d'errore basato su lock stepping a grana grossa (COLO).
  • Rete:
  • Blocca dispositivi e strumenti:
  • Altri comandi QMP supportano nome-nodo (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • L'evento BLOCK_IO_ERROR ora include il nome del nodo.
  • Altri comandi QMP accettano nomi di modelli di dispositivo (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • L'evento DEVICE_TRAY_MOVED ora include l'ID del dispositivo.
  • Throttling ora si applica solo al dispositivo guest e non per bloccare i lavori o il server NBD.
  • supporto drive-backup e blockdev-backup che scrive i backup in formato compresso
  • Il formato LUKS ora può configurare il conteggio dell'iterazione PBKDF.
  • block-stream supporta lo streaming da un file di backup ad un altro file di supporto.
  • Supporto per la replica, per tolleranza di errore passo-passo (COLO) a grana grossa.
  • Nuovo sottocomando "dd" di qemu-img.
  • Il driver DMG può essere compilato su un driver separato, in modo da rendere la dipendenza di QEMU su libbz2 opzionale.
  • Supporto per iSER nell'iniziatore iSCSI di QEMU tramite un iser: // URI.
  • Il client e il server NBD supportano l'estensione NBD_CMD_WRITE_ZEROES.
  • Le immagini raw supportano le opzioni "offset" e "dimensione" per accedere solo a una parte del file o del dispositivo.
  • Tracing:
  • Nuovo back-end di tracciamento "syslog".
  • Supporto per più "-d trace: PATTERN" argomenti della riga di comando.
  • Opzioni CLI:
  • Emulazione in modalità utente
  • Rimosso il supporto di destinazione
  • La destinazione unicore32-linux-user ha implementato una chiamata di sistema diversa ABI dalla Linux principale per questa architettura. Il supporto per questo è stato eliminato.
  • Nuova funzionalità:
  • Aggiunto supporto per più syscalls incluso preadv, pwritev, syslog.
  • Principali miglioramenti della scalabilità per programmi multi-thread (ARM, SPARC, x86).
  • QEMU ora può comprendere e generare operazioni fence e cmpxchg.
  • TCG:
  • Sono state aggiunte nuove primitive TCG per la modellazione sicura delle istruzioni di sincronizzazione architettonica (ad esempio atomics, LL / SC, prefissi LOCK). gli obiettivi arm, aarch64, alpha e x86 ora usano queste primitive per programmi linux-utente multi-thread. I manutentori degli obiettivi del TCG sono incoraggiati a portare i loro front-end per utilizzare le nuove strutture.
  • I back-end TCG ora emettono appropriate istruzioni di barriera per le barriere di frontend quando si eseguono programmi multi-thread. Tuttavia, l'emulazione di un'architettura fortemente ordinata (ad es. X86) su uno debolmente ordinato (ad es. ARM o POWER) non funzionerà ancora.
  • tb_flush () è finalmente sicuro per i thread, poiché i programmi multi-thread hanno meno probabilità di bloccarsi quando il buffer di traduzione viene ripristinato
  • la contesa del blocco nel ciclo di esecuzione della cpu principale è stata ridotta migliorando le prestazioni per il codice multi-thread
  • un numero di gare è stato identificato e risolto
  • Gran parte del lavoro TCG si è fusa in questo ciclo in cui i prerequisiti per il supporto dell'emulazione di sistema multi-thread (MTTCG). Mentre il supporto MTTCG completo dovrebbe essere unito nel prossimo ciclo di sviluppo, i programmi multi-thread con linux user beneficeranno già di questo lavoro.

Altri software di sviluppo Fabrice Bellard

TCCBOOT
TCCBOOT

3 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

Commenti a QEMU

I commenti non trovato
Aggiungi commento
Accendere le immagini!