La sortie de la nouvelle version de QEMU 8.1 a été annoncée, à laquelle ont participé environ 250 développeurs pour cette version, qui a apporté plus de 2900 modifications.
Pour ceux qui ne sont pas familiers avec QEMU, sachez qu’il vous permet d’exécuter un programme conçu pour une plate-forme matérielle sur un système avec une architecture complètement différente, par exemple en exécutant une application ARM sur un PC compatible x86.
En mode virtualisation dans QEMU, les performances d’exécution de code dans un environnement sandbox sont similaires à celles d’un système matériel en raison de l’exécution directe des instructions sur le CPU et de l’utilisation de l’hyperviseur Xen ou du module KVM.
Principales nouveautés de QEMU 8.1
Dans cette nouvelle version de QEMU 8.1, l’une de ses principales nouveautés est que les extensions pour les machines virtuelles KVM offrent désormais la possibilité d’utiliser des balises mémoire dans les systèmes invités lorsque le système hôte s’exécute sur des processeurs ARM prenant en charge l’extension. MTE, qui permet de lier les balises à chaque opération d’allocation de mémoire et orchestre l’accès à la mémoire pour vérifier le pointeur qui doit être associé à la balise correcte.
Un autre des changements qui se démarquent sont les capacités étendues des modules virtio , car désormais dans cette nouvelle version de QEMU 8.1, la prise en charge du cryptage asymétrique a été ajoutée à cryptodev-vhost-user , ainsi que la prise en charge des dispositifs de sécurité. déconnexion et migration du mode x-ignore-shared vers virtio-mem, ainsi que l’ajout d’un nouveau périphérique utilisateur vhost pour VIRTIO SCMI.
En plus de cela, il convient également de noter que VFIO a amélioré et stabilisé la prise en charge de la migration en direct, car il prend désormais en charge le transfert de données depuis le périphérique VFIO pendant que la machine virtuelle est en cours d’exécution. La migration en direct vers VFIO n’est plus considérée comme une fonctionnalité expérimentale.
En outre, nous pouvons constater que la prise en charge a été ajoutée pour le processeur Veyron V1 , ainsi que pour les jeux d’instructions des processeurs BF16 et Zfa dans l’émulateur d’architecture RISC-V.
La prise en charge SMT a été ajoutée au générateur de code TCG classique pour l’architecture PowerPC, ce qui permet d’exécuter jusqu’à 8 threads sur chaque cœur de processeur sur les systèmes pseries et powernv et également la possibilité de démonter Zcm*, Z*inx, XWindowCondOps et Xthead.
Ajout de la prise en charge des processeurs Intel Xeon basés sur la microarchitecture Granite Rapids dans l’émulateur x86, ajout également de la prise en charge des instructions scalaires v68/v73 et HVX v68/v69 dans l’émulateur de processeur Qualcomm Hexagon. HVX prend en charge gdbstub pour le débogage à distance dans GDB.
Parmi les autres changements qui ressortent de cette nouvelle version :
- Prise en charge améliorée de l’hyperviseur KVM.
- Les structures au format SMBIOS 3.0 sont activées par défaut
- Ajout d’un nouveau backend audio (« -audiodev pipewire ») qui fonctionne avec le serveur multimédia PipeWire.
- Ajout de la prise en charge multi-touch à l’interface graphique basée sur GTK.
- Les émulateurs ARM, PowerPC et RISC-V utilisent les instructions d’accélération du chiffrement AES fournies par le processeur hôte.
- L’émulateur PCIe introduit de nouvelles commandes QMP (QEMU Machine Protocol) pour remplacer les événements CXL (Compute Express Link), DRAM et module de mémoire.
- L’émulateur d’architecture MIPS prend en charge les processeurs Ingenic XBurstR1 et XBurstR2, ainsi que les instructions du processeur MXU.
- L’émulateur d’architecture PowerPC ajoute la prise en charge de l’émulation du modèle de processeur Power9 DD2.2, ainsi que la possibilité de profiler la PUISSANCE du processeur.
- L’émulateur d’architecture SPARC a été déplacé pour utiliser la fonction tcg_gen_lookup_and_goto_ptr() pour améliorer les performances.
- Émulation améliorée des adaptateurs réseau e1000e et igb. Ajout de l’émulation du pilote CANFD.
- La commande guest-exec prend désormais en charge “stdout”, “stderr” et “merged” dans le paramètre capture-output.
- Implémentation de l’option « –enable-download » dans le script de configuration pour rechercher et télécharger les dépendances de build Python manquantes.
- Exigences plus élevées pour les versions Python (3.8+) et Xen (4.7.1+).
Enfin, si vous souhaitez en savoir plus sur les changements et les nouveautés présentés dans cette nouvelle version de QEMU 8.1, vous pouvez vérifier les détails et plus encore sur le lien suivant.