QEMU

Logiciel capture d'écran:
QEMU
Détails logiciels:
Version: 2.12.0 Mise à jour
Date de transfert: 22 Jun 18
Développeur: Fabrice Bellard
Licence: Gratuit
Popularité: 51

Rating: nan/5 (Total Votes: 0)

QEMU est un logiciel de virtualisation open source et très rapide qui se concentre sur la traduction dynamique pour atteindre des performances raisonnables, tout en étant facile à porter vers de nouveaux processeurs hôtes (processeurs).


Un puissant émulateur de machine et virtualiseur

Il est également connu sous le nom d'émulateur de machine, conçu pour émuler un système complet, y compris un processeur et ses périphériques. La partie d'émulation prend en charge les systèmes d'exploitation et les programmes créés pour une plate-forme matérielle unique, mais s'exécutant sur un ordinateur différent avec une architecture différente.

D'un autre côté, lorsque l'application est utilisée comme virtualiseur, elle peut atteindre des performances presque natives en exécutant le code invité directement sur le processeur hôte. Il prend en charge l'hyperviseur Xen et le module noyau KVM (Kernel Virtual Machine).


Prise en charge de la virtualisation de nombreuses plates-formes matérielles

Si KVM est préféré, l'application pourra virtualiser des machines x86 (32 bits), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL, ou 32, et SPARC. Il peut émuler les systèmes Windows XP, FreeDOS et SunOS, ainsi que Virtio, les concentrateurs USB, les périphériques réseau, d'entrée, de vidéo et de stockage.

Après VirtualBox et VMware, QEMU est le troisième logiciel de virtualisation pour les plateformes Linux, mais le premier et le plus puissant pour l'écosystème open source. Sa principale caractéristique est la possibilité de fonctionner en tant que machine virtuelle native sur des architectures 64 bits ou 32 bits, ou en tant qu'émulateur pur.


Systèmes d'exploitation pris en charge

Il s'agit d'un logiciel de ligne de commande fonctionnant sur des systèmes d'exploitation basés sur Linux, ainsi que Microsoft Windows et diverses versions UNIX. Une archive source est fournie dans la section de téléchargement dédiée, permettant aux utilisateurs de configurer, compiler et installer le programme dans n'importe quelle distribution Linux, ainsi que sur les systèmes OpenBSD, Solaris, AIX, MinGW et Cygwin.


Ligne de fond

Que vous souhaitiez tester des logiciels, essayer différents systèmes d'exploitation ou simplement exécuter des applications qui ne sont pas prises en charge sur votre plate-forme, QEMU fournit aux utilisateurs l'une des machines de virtualisation et d'émulation les plus rapides.

Quoi de neuf dans cette version:

  • Émulation du système:
  • Modifications incompatibles:
  • Le nombre de ponts hôtes PCI autorisés pour la machine pSeries a été réduit de 256 à 31 (d'autres peuvent être configurés en configurant manuellement les fenêtres MMIO).
  • Suppression de la prise en charge de tftp: // dans la couche de blocs, car elle a été rompue à jamais pour les fichiers de plus de 256 Ko.
  • Futures modifications incompatibles:
  • Trois options utilisent des noms différents sur la ligne de commande et dans le fichier de configuration. En particulier:
  • Le "acpi" section de fichier de configuration correspond à l'option de ligne de commande & quot; acpitable & quot ;;
  • Les "boot-opt" & quot; section de fichier de configuration correspond à l'option de ligne de commande & quot; boot & quot ;;
  • Les "smp-opt" & quot; section de fichier de configuration correspond à l'option de ligne de commande & quot; smp & quot;.
  • -readconfig va normaliser le nom de l'option de ligne de commande.
  • Comportement du calcul automatique de la topologie SMP lorsque certaines options de topologie SMP pour -smp sont omises (sockets, cœurs, threads) changeront dans le futur. Si ABI invité doit être conservé lors des mises à niveau tout en utilisant les options de topologie SMP, les utilisateurs doivent soit définir ensemble toutes les options explicitement (sockets, noyaux, threads), soit les omettre tous.
  • Dispositifs "allwinner-a10", "pc87312", "ssi-sd", sera configuré avec des propriétés explicites au lieu d'implicitement. Ceci est peu susceptible d'affecter les utilisateurs.
  • La commande QMP blockdev-add est toujours un travail en cours. Il ne supporte pas tous les pilotes de bloc, il manque un blockdev-del correspondant, et plus encore. Cela pourrait changer de manière incompatible.
  • Pour x86, en spécifiant une fonctionnalité CPUID avec à la fois "& feature" / "feature" & quot; et "feature = on / off" provoquera un avertissement. Le comportement actuel pour cette combinaison ("feature +" / "feature" gagne sur "feature = on / off") sera modifié de sorte que "+ feature" et "-feature" sera synonyme de "feature = on" et "feature = off" respectivement).
  • ARM:
  • Améliorations de la carte Aspeed.
  • Prise en charge des trappes semi-holographiques HLT en mode AArch32 (ARM et Thumb).
  • Les tables ACPI pour le "virt" support de type de machine ITS.
  • Le périphérique Cadence GEM prend désormais en charge plusieurs files d'attente de priorité via la propriété num-priority-queues.
  • La carte STM32F2xx (Netduino 2) inclut désormais des périphériques ADC et SPI.
  • MIPS:
  • Prise en charge des processeurs 24KEc.
  • PowerPC:
  • Prise en charge des processeurs POWER9.
  • Améliorations pour le nouveau "powernv" plate-forme.
  • pSeries:
  • Les ponts hôtes PCI peuvent être associés aux nœuds NUMA.
  • Prise en charge de plus de 1 TiB de mémoire invité.
  • Prise en charge de plus de 64 GiB de fenêtre MMIO dans un pont hôte PCI.
  • Support pour le "-prom-env" paramètre
  • s390:
  • Prise en charge des modèles de processeur.
  • Support pour virtio-ccw révision 2.
  • x86:
  • Prise en charge de plusieurs nouvelles fonctionnalités CPUID liées aux extensions d'ensembles d'instructions AVX-512.
  • L'IOAPIC émulé (utilisé par TCG et, avec KVM, si l'option "-machine kernel_irqchip" a la valeur "off" ou "split") est maintenant par défaut à la version 0x20, qui prend en charge la fin de interrompre les messages.
  • Prise en charge du mode EIM (Extended Interrupt Mode) dans le périphérique intel_iommu. EIM nécessite KVM (Linux v4.7 ou plus récent, pour la prise en charge de x2APIC) et "-machine kernel-irqchip = split"; il est activé automatiquement si le remappage d'interruption est activé ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Prise en charge de jusqu'à 288 processeurs avec les types de machine Q35. 256 processeurs ou plus ne sont supportés que si IOMMU et EIM sont activés.
  • Xen:
  • Prise en charge de la déconnexion du disque SCSI.
  • Prise en charge des périphériques compatibles SUSE xenlinux.
  • Émulation et affectation de périphérique:
  • QEMU inclut maintenant un pseudo-périphérique de chargeur générique qui vous permet de charger plusieurs images ou valeurs dans la mémoire au démarrage. Cet appareil est documenté dans docs / generic-loader.txt.
  • ACPI:
  • Prise en charge de la connexion à chaud de périphériques NVDIMM (_FIT)
  • Périphériques réseau:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • PCI / PCIe:
  • L'exemple de périphérique EDU prend désormais en charge MSI.
  • La documentation relative aux directives PCI Express a été ajoutée pour vous donner des conseils sur la topologie et PCI vs PCIe.
  • virtio:
  • Nouvel appareil vhost-vsock.
  • Prise en charge initiale de la gestion gracieuse des erreurs invitées (par exemple, QEMU ne doit pas quitter les erreurs invité).
  • Prise en charge du nouveau périphérique virtio-crypto.
  • Xen:
  • Prise en charge de la copie de subvention.
  • Sous-système Crypto:
  • Prise en charge de plus d'algorithmes de hachage pour PBKDF.
  • Prise en charge du mode CTR.
  • GUI:
  • SPICE peut utiliser un rendu OpenGL pur si "gl = on" est spécifié.
  • Moniteur:
  • Migration:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • Réseau:
  • Bloquer les périphériques et les outils:
  • Plus de commandes QMP supportent le nom de noeud (block-stream, block-commit, blockdev-sauvegarde, blockdev-miroir, blockdev-snapshot-delete-interne-sync, blockdev-snapshot-internal-sync, dossier de modification) , drive-backup, lecteur-miroir, nbd-server-add).
  • L'événement BLOCK_IO_ERROR inclut désormais le nom du noeud.
  • D'autres commandes QMP acceptent les noms de modèles de périphériques (block_set_io_throttle, blockdev-change-medium, éjecter, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray) / li>
  • L'événement DEVICE_TRAY_MOVED inclut désormais l'ID de périphérique.
  • La limitation s'applique désormais uniquement au périphérique invité et ne bloque pas les tâches ou le serveur NBD.
  • drive-backup et blockdev-backup prennent en charge l'écriture de sauvegardes au format compressé.
  • Le format LUKS peut maintenant configurer le nombre d'itérations PBKDF.
  • block-stream prend en charge la diffusion depuis un fichier de sauvegarde vers un autre fichier de sauvegarde.
  • Prise en charge de la réplication, pour la tolérance aux pannes de verrouillage à pas grossier (COLO).
  • Nouveau & quot; dd & quot; sous-console de qemu-img.
  • Le pilote DMG peut être compilé avec un pilote séparé, afin de rendre la dépendance de QEMU sur libbz2 optionnelle.
  • Prise en charge d'iSER dans l'initiateur iSCSI de QEMU via un iser: // URI.
  • Le client et le serveur NBD supportent l'extension NBD_CMD_WRITE_ZEROES.
  • Support d'images brutes "offset" et "taille" options pour accéder uniquement à une partie du fichier ou de l'appareil.
  • Suivi:
  • Nouveau backend de traçage & quot; syslog & quot;.
  • Prise en charge de plusieurs "-d trace: PATTERN" arguments de ligne de commande.

  • Options
  • CLI:
  • Emulation en mode utilisateur
  • Support de la cible supprimée
  • La cible utilisateur unicore32-linux a implémenté un appel système ABI différent de celui de Linux pour cette architecture. Le support pour cela a été abandonné.
  • Nouvelle fonctionnalité:
  • Ajout du support pour plus de syscalls, y compris preadv, pwritev, syslog.
  • Améliorations majeures de l'évolutivité pour les programmes multithread (ARM, SPARC, x86).
  • QEMU peut maintenant comprendre et générer des opérations fence et cmpxchg.
  • TCG:
  • De nouvelles primitives TCG ont été ajoutées pour modéliser en toute sécurité des instructions de synchronisation architecturale (par exemple atomiques, LL / SC, préfixes LOCK). Les cibles arm, aarch64, alpha et x86 utilisent maintenant ces primitives pour les programmes linux multi-thread. Les mainteneurs de cibles TCG sont encouragés à porter leurs frontaux pour utiliser les nouvelles installations.
  • Les backends TCG émettent maintenant des instructions de barrière appropriées pour les barrières frontales lors de l'exécution de programmes multithread. Toutefois, l'émulation d'une architecture fortement ordonnée (par exemple, x86) sur une architecture faiblement ordonnée (par exemple, ARM ou POWER) ne fonctionnera pas encore.
  • tb_flush () est finalement thread-safe, ce qui signifie que les programmes multithread sont moins susceptibles de planter lorsque le tampon de traduction est réinitialisé

  • Le conflit de verrous
  • dans la boucle d'exécution principale de cpu a été réduit, ce qui améliore les performances du code multithread
  • un certain nombre de races ont été identifiées et réparées
  • Une grande partie du travail TCG a fusionné dans ce cycle où les prérequis pour la prise en charge de l'émulation de système multi-thread (MTTCG). Alors que la prise en charge complète de MTTCG devrait être fusionnée au cours du cycle de développement suivant, les programmes utilisateurs Linux multi-threads bénéficieront déjà de ce travail.

Quoi de neuf dans la version:

  • Emulation système:
  • Modifications incompatibles:
  • Le nombre de ponts hôtes PCI autorisés pour la machine pSeries a été réduit de 256 à 31 (d'autres peuvent être configurés en configurant manuellement les fenêtres MMIO).
  • Suppression de la prise en charge de tftp: // dans la couche de blocs, car elle a été rompue à jamais pour les fichiers de plus de 256 Ko.
  • Futures modifications incompatibles:
  • Trois options utilisent des noms différents sur la ligne de commande et dans le fichier de configuration. En particulier:
  • La section du fichier de configuration "acpi" correspond à l'option de ligne de commande "acpitable";
  • La section du fichier de configuration "boot-opts" correspond à l'option de la ligne de commande "boot";
  • La section du fichier de configuration "smp-opts" correspond à l'option "smp" de la ligne de commande.
  • -readconfig va normaliser le nom de l'option de ligne de commande.
  • Comportement du calcul automatique de la topologie SMP lorsque certaines options de topologie SMP pour -smp sont omises (sockets, cœurs, threads) changeront dans le futur. Si ABI invité doit être conservé lors des mises à niveau en utilisant les options de topologie SMP, les utilisateurs doivent soit définir ensemble toutes les options explicitement (sockets, noyaux, threads), soit les omettre tous.
  • Les périphériques "allwinner-a10", "pc87312", "ssi-sd" seront configurés avec des propriétés explicites plutôt qu'implicitement. Ceci est peu susceptible d'affecter les utilisateurs.
  • La commande QMP blockdev-add est toujours un travail en cours. Il ne supporte pas tous les pilotes de bloc, il manque un blockdev-del correspondant, et plus encore. Cela pourrait changer de manière incompatible.
  • Pour x86, spécifier une fonction CPUID avec "+ feature / -feature" et "feature = on / off" provoquera un avertissement. Le comportement actuel de cette combinaison ("+ feature / -feature" gagne sur "feature = on / off") sera modifié de sorte que "+ feature" et "-feature" seront synonymes de "feature = on" et "feature" = "off" respectivement.
  • ARM:
  • Améliorations de la carte Aspeed.
  • Prise en charge des trappes semi-holographiques HLT en mode AArch32 (ARM et Thumb).
  • Les tables ACPI pour le type de machine "virt" supportent les ITS.
  • Le périphérique Cadence GEM prend désormais en charge plusieurs files d'attente de priorité via la propriété num-priority-queues.
  • La carte STM32F2xx (Netduino 2) inclut désormais des périphériques ADC et SPI.
  • MIPS:
  • Prise en charge des processeurs 24KEc.
  • PowerPC:
  • Prise en charge des processeurs POWER9.
  • Améliorations pour la nouvelle plate-forme "powernv".
  • pSeries:
  • Les ponts hôtes PCI peuvent être associés aux nœuds NUMA.
  • Prise en charge de plus de 1 TiB de mémoire invité.
  • Prise en charge de plus de 64 GiB de fenêtre MMIO dans un pont hôte PCI.
  • Prise en charge du paramètre "-prom-env"
  • s390:
  • Prise en charge des modèles de processeur.
  • Support pour virtio-ccw révision 2.
  • x86:
  • Prise en charge de plusieurs nouvelles fonctionnalités CPUID liées aux extensions d'ensembles d'instructions AVX-512.
  • L'IOAPIC émulé (utilisé par TCG et, avec KVM, si l'option "-machine kernel_irqchip" a la valeur "off" ou "split") prend par défaut la version 0x20, qui supporte les messages de fin d'interruption.
  • Prise en charge du mode EIM (Extended Interrupt Mode) dans le périphérique intel_iommu. EIM nécessite KVM (Linux v4.7 ou plus récent, pour le support x2APIC) et "-machine kernel-irqchip = split"; il est activé automatiquement si le remappage d'interruption est activé ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Prise en charge de jusqu'à 288 processeurs avec les types de machine Q35. 256 processeurs ou plus ne sont supportés que si IOMMU et EIM sont activés.
  • Xen:
  • Prise en charge de la déconnexion du disque SCSI.
  • Prise en charge des périphériques compatibles SUSE xenlinux.
  • Émulation et affectation de périphérique:
  • QEMU inclut maintenant un pseudo-périphérique de chargeur générique qui vous permet de charger plusieurs images ou valeurs dans la mémoire au démarrage. Cet appareil est documenté dans docs / generic-loader.txt.
  • ACPI:
  • Prise en charge de la connexion à chaud de périphériques NVDIMM (_FIT)
  • Périphériques réseau:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • PCI / PCIe:
  • L'exemple de périphérique EDU prend désormais en charge MSI.
  • La documentation relative aux directives PCI Express a été ajoutée pour vous donner des conseils sur la topologie et PCI vs PCIe.
  • virtio:
  • Nouvel appareil vhost-vsock.
  • Prise en charge initiale de la gestion gracieuse des erreurs invitées (par exemple, QEMU ne doit pas quitter les erreurs invité).
  • Prise en charge du nouveau périphérique virtio-crypto.
  • Xen:
  • Prise en charge de la copie de subvention.
  • Sous-système Crypto:
  • Prise en charge de plus d'algorithmes de hachage pour PBKDF.
  • Prise en charge du mode CTR.
  • GUI:
  • SPICE peut utiliser un rendu OpenGL pur si "gl = on" est spécifié.
  • Moniteur:
  • Migration:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • Réseau:
  • Bloquer les périphériques et les outils:
  • Plus de commandes QMP supportent le nom de noeud (block-stream, block-commit, blockdev-sauvegarde, blockdev-miroir, blockdev-snapshot-delete-interne-sync, blockdev-snapshot-internal-sync, dossier de modification) , drive-backup, lecteur-miroir, nbd-server-add).
  • L'événement BLOCK_IO_ERROR inclut désormais le nom du noeud.
  • D'autres commandes QMP acceptent les noms de modèles de périphériques (block_set_io_throttle, blockdev-change-medium, éjecter, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray) / li>
  • L'événement DEVICE_TRAY_MOVED inclut désormais l'ID de périphérique.
  • La limitation s'applique désormais uniquement au périphérique invité et ne bloque pas les tâches ou le serveur NBD.
  • drive-backup et blockdev-backup prennent en charge l'écriture de sauvegardes au format compressé.
  • Le format LUKS peut maintenant configurer le nombre d'itérations PBKDF.
  • block-stream prend en charge la diffusion depuis un fichier de sauvegarde vers un autre fichier de sauvegarde.
  • Prise en charge de la réplication, pour la tolérance aux pannes de verrouillage à pas grossier (COLO).
  • Nouveau sous-groupe "dd" de qemu-img.
  • Le pilote DMG peut être compilé avec un pilote séparé, afin de rendre la dépendance de QEMU sur libbz2 optionnelle.
  • Prise en charge d'iSER dans l'initiateur iSCSI de QEMU via un iser: // URI.
  • Le client et le serveur NBD supportent l'extension NBD_CMD_WRITE_ZEROES.
  • Les images brutes prennent en charge les options "offset" et "size" pour accéder uniquement à une partie du fichier ou du périphérique.
  • Suivi:
  • Nouveau backend de traçage "syslog".
  • Prise en charge de plusieurs arguments de ligne de commande "-d trace: PATTERN".

  • Options
  • CLI:
  • Emulation en mode utilisateur
  • Support de la cible supprimée
  • La cible utilisateur unicore32-linux a implémenté un appel système ABI différent de celui de Linux pour cette architecture. Le support pour cela a été abandonné.
  • Nouvelle fonctionnalité:
  • Ajout du support pour plus de syscalls, y compris preadv, pwritev, syslog.
  • Améliorations majeures de l'évolutivité pour les programmes multithread (ARM, SPARC, x86).
  • QEMU peut maintenant comprendre et générer des opérations fence et cmpxchg.
  • TCG:
  • De nouvelles primitives TCG ont été ajoutées pour modéliser en toute sécurité des instructions de synchronisation architecturale (par exemple atomiques, LL / SC, préfixes LOCK). Les cibles arm, aarch64, alpha et x86 utilisent maintenant ces primitives pour les programmes linux multi-thread. Les mainteneurs de cibles TCG sont encouragés à porter leurs frontaux pour utiliser les nouvelles installations.
  • Les backends TCG émettent maintenant des instructions de barrière appropriées pour les barrières frontales lors de l'exécution de programmes multithread. Toutefois, l'émulation d'une architecture fortement ordonnée (par exemple, x86) sur une architecture faiblement ordonnée (par exemple, ARM ou POWER) ne fonctionnera pas encore.
  • tb_flush () est finalement thread-safe, ce qui signifie que les programmes multithread sont moins susceptibles de planter lorsque le tampon de traduction est réinitialisé

  • Le conflit de verrous
  • dans la boucle d'exécution principale de cpu a été réduit, ce qui améliore les performances du code multithread
  • un certain nombre de races ont été identifiées et réparées
  • Une grande partie du travail TCG a fusionné dans ce cycle où les prérequis pour la prise en charge de l'émulation de système multi-thread (MTTCG). Alors que la prise en charge complète de MTTCG devrait être fusionnée au cours du cycle de développement suivant, les programmes utilisateurs Linux multi-threads bénéficieront déjà de ce travail.

Nouveautés dans la version 2.9.0:

  • Emulation système:
  • Modifications incompatibles:
  • Le nombre de ponts hôtes PCI autorisés pour la machine pSeries a été réduit de 256 à 31 (d'autres peuvent être configurés en configurant manuellement les fenêtres MMIO).
  • Suppression de la prise en charge de tftp: // dans la couche de blocs, car elle a été rompue à jamais pour les fichiers de plus de 256 Ko.
  • Futures modifications incompatibles:
  • Trois options utilisent des noms différents sur la ligne de commande et dans le fichier de configuration. En particulier:
  • La section du fichier de configuration "acpi" correspond à l'option de ligne de commande "acpitable";
  • La section du fichier de configuration "boot-opts" correspond à l'option de la ligne de commande "boot";
  • La section du fichier de configuration "smp-opts" correspond à l'option "smp" de la ligne de commande.
  • -readconfig va normaliser le nom de l'option de ligne de commande.
  • Comportement du calcul automatique de la topologie SMP lorsque certaines options de topologie SMP pour -smp sont omises (sockets, cœurs, threads) changeront dans le futur. Si ABI invité doit être conservé lors des mises à niveau en utilisant les options de topologie SMP, les utilisateurs doivent soit définir ensemble toutes les options explicitement (sockets, noyaux, threads), soit les omettre tous.
  • Les périphériques "allwinner-a10", "pc87312", "ssi-sd" seront configurés avec des propriétés explicites plutôt qu'implicitement. Ceci est peu susceptible d'affecter les utilisateurs.
  • La commande QMP blockdev-add est toujours un travail en cours. Il ne supporte pas tous les pilotes de bloc, il manque un blockdev-del correspondant, et plus encore. Cela pourrait changer de manière incompatible.
  • Pour x86, spécifier une fonction CPUID avec "+ feature / -feature" et "feature = on / off" provoquera un avertissement. Le comportement actuel de cette combinaison ("+ feature / -feature" gagne sur "feature = on / off") sera modifié de sorte que "+ feature" et "-feature" seront synonymes de "feature = on" et "feature" = "off" respectivement.
  • ARM:
  • Améliorations de la carte Aspeed.
  • Prise en charge des trappes semi-holographiques HLT en mode AArch32 (ARM et Thumb).
  • Les tables ACPI pour le type de machine "virt" supportent les ITS.
  • Le périphérique Cadence GEM prend désormais en charge plusieurs files d'attente de priorité via la propriété num-priority-queues.
  • La carte STM32F2xx (Netduino 2) inclut désormais des périphériques ADC et SPI.
  • MIPS:
  • Prise en charge des processeurs 24KEc.
  • PowerPC:
  • Prise en charge des processeurs POWER9.
  • Améliorations pour la nouvelle plate-forme "powernv".
  • pSeries:
  • Les ponts hôtes PCI peuvent être associés aux nœuds NUMA.
  • Prise en charge de plus de 1 TiB de mémoire invité.
  • Prise en charge de plus de 64 GiB de fenêtre MMIO dans un pont hôte PCI.
  • Prise en charge du paramètre "-prom-env"
  • s390:
  • Prise en charge des modèles de processeur.
  • Support pour virtio-ccw révision 2.
  • x86:
  • Prise en charge de plusieurs nouvelles fonctionnalités CPUID liées aux extensions d'ensembles d'instructions AVX-512.
  • L'IOAPIC émulé (utilisé par TCG et, avec KVM, si l'option "-machine kernel_irqchip" a la valeur "off" ou "split") prend par défaut la version 0x20, qui supporte les messages de fin d'interruption.
  • Prise en charge du mode EIM (Extended Interrupt Mode) dans le périphérique intel_iommu. EIM nécessite KVM (Linux v4.7 ou plus récent, pour le support x2APIC) et "-machine kernel-irqchip = split"; il est activé automatiquement si le remappage d'interruption est activé ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Prise en charge de jusqu'à 288 processeurs avec les types de machine Q35. 256 processeurs ou plus ne sont supportés que si IOMMU et EIM sont activés.
  • Xen:
  • Prise en charge de la déconnexion du disque SCSI.
  • Prise en charge des périphériques compatibles SUSE xenlinux.
  • Émulation et affectation de périphérique:
  • QEMU inclut maintenant un pseudo-périphérique de chargeur générique qui vous permet de charger plusieurs images ou valeurs dans la mémoire au démarrage. Cet appareil est documenté dans docs / generic-loader.txt.
  • ACPI:
  • Prise en charge de la connexion à chaud de périphériques NVDIMM (_FIT)
  • Périphériques réseau:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • PCI / PCIe:
  • L'exemple de périphérique EDU prend désormais en charge MSI.
  • La documentation relative aux directives PCI Express a été ajoutée pour vous donner des conseils sur la topologie et PCI vs PCIe.
  • virtio:
  • Nouvel appareil vhost-vsock.
  • Prise en charge initiale de la gestion gracieuse des erreurs invitées (par exemple, QEMU ne doit pas quitter les erreurs invité).
  • Prise en charge du nouveau périphérique virtio-crypto.
  • Xen:
  • Prise en charge de la copie de subvention.
  • Sous-système Crypto:
  • Prise en charge de plus d'algorithmes de hachage pour PBKDF.
  • Prise en charge du mode CTR.
  • GUI:
  • SPICE peut utiliser un rendu OpenGL pur si "gl = on" est spécifié.
  • Moniteur:
  • Migration:
  • Prise en charge de la tolérance aux pannes basée sur le verrouillage de verrouillage à granularité grossière (COLO).
  • Réseau:
  • Bloquer les périphériques et les outils:
  • Plus de commandes QMP supportent le nom de noeud (block-stream, block-commit, blockdev-sauvegarde, blockdev-miroir, blockdev-snapshot-delete-interne-sync, blockdev-snapshot-internal-sync, dossier de modification) , drive-backup, lecteur-miroir, nbd-server-add).
  • L'événement BLOCK_IO_ERROR inclut désormais le nom du noeud.
  • D'autres commandes QMP acceptent les noms de modèles de périphériques (block_set_io_throttle, blockdev-change-medium, éjecter, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray) / li>
  • L'événement DEVICE_TRAY_MOVED inclut désormais l'ID de périphérique.
  • La limitation s'applique désormais uniquement au périphérique invité et ne bloque pas les tâches ou le serveur NBD.
  • drive-backup et blockdev-backup prennent en charge l'écriture de sauvegardes au format compressé.
  • Le format LUKS peut maintenant configurer le nombre d'itérations PBKDF.
  • block-stream prend en charge la diffusion depuis un fichier de sauvegarde vers un autre fichier de sauvegarde.
  • Prise en charge de la réplication, pour la tolérance aux pannes de verrouillage à pas grossier (COLO).
  • Nouveau sous-groupe "dd" de qemu-img.
  • Le pilote DMG peut être compilé avec un pilote séparé, afin de rendre la dépendance de QEMU sur libbz2 optionnelle.
  • Prise en charge d'iSER dans l'initiateur iSCSI de QEMU via un iser: // URI.
  • Le client et le serveur NBD supportent l'extension NBD_CMD_WRITE_ZEROES.
  • Les images brutes prennent en charge les options "offset" et "size" pour accéder uniquement à une partie du fichier ou du périphérique.
  • Suivi:
  • Nouveau backend de traçage "syslog".
  • Prise en charge de plusieurs arguments de ligne de commande "-d trace: PATTERN".

  • Options
  • CLI:
  • Emulation en mode utilisateur
  • Support de la cible supprimée
  • La cible utilisateur unicore32-linux a implémenté un appel système ABI différent de celui de Linux pour cette architecture. Le support pour cela a été abandonné.
  • Nouvelle fonctionnalité:
  • Ajout du support pour plus de syscalls, y compris preadv, pwritev, syslog.
  • Améliorations majeures de l'évolutivité pour les programmes multithread (ARM, SPARC, x86).
  • QEMU peut maintenant comprendre et générer des opérations fence et cmpxchg.
  • TCG:
  • De nouvelles primitives TCG ont été ajoutées pour modéliser en toute sécurité des instructions de synchronisation architecturale (par exemple atomiques, LL / SC, préfixes LOCK). Les cibles arm, aarch64, alpha et x86 utilisent maintenant ces primitives pour les programmes linux multi-thread. Les mainteneurs de cibles TCG sont encouragés à porter leurs frontaux pour utiliser les nouvelles installations.
  • Les backends TCG émettent maintenant des instructions de barrière appropriées pour les barrières frontales lors de l'exécution de programmes multithread. Toutefois, l'émulation d'une architecture fortement ordonnée (par exemple, x86) sur une architecture faiblement ordonnée (par exemple, ARM ou POWER) ne fonctionnera pas encore.
  • tb_flush () est finalement thread-safe, ce qui signifie que les programmes multithread sont moins susceptibles de planter lorsque le tampon de traduction est réinitialisé

  • Le conflit de verrous
  • dans la boucle d'exécution principale de cpu a été réduit, ce qui améliore les performances du code multithread
  • un certain nombre de races ont été identifiées et réparées
  • Une grande partie du travail TCG a fusionné dans ce cycle où les prérequis pour la prise en charge de l'émulation de système multi-thread (MTTCG). Alors que la prise en charge complète de MTTCG devrait être fusionnée au cours du cycle de développement suivant, les programmes utilisateurs Linux multi-threads bénéficieront déjà de ce travail.

D'autres logiciels de développeur Fabrice Bellard

Tiny C Compiler
Tiny C Compiler

3 Jun 15

KQEMU
KQEMU

2 Jun 15

TCCBOOT
TCCBOOT

3 Jun 15

Commentaires à QEMU

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!