La version du projet QEMU 10.2.0 a été présentée. En tant qu'émulateur, QEMU permet d'exécuter un programme compilé pour une plateforme matérielle sur un système avec une architecture complètement différente, par exemple, exécuter une application ARM sur un PC compatible x86. En mode virtualisation, la performance d'exécution du code dans un environnement isolé est proche de celle d'un système matériel grâce à l'exécution directe des instructions sur le CPU et à l'utilisation de l'hyperviseur Xen ou du module KVM sur Linux, ou du module NVMM sur NetBSD.
À l'origine, le projet a été créé par Fabrice Bellard dans le but de permettre l'exécution de fichiers exécutables Linux compilés pour la plateforme x86 sur des architectures différentes de x86. Au fil des ans, le développement a ajouté le support complet de l'émulation pour 14 architectures matérielles, et le nombre de dispositifs matériels émulés a dépassé 400. Pour la préparation de la version 10.2.0, plus de 2200 modifications ont été apportées par 188 développeurs.
Améliorations clés ajoutées dans QEMU 10.2 :
- Dans le backend 9pfs, qui permet d'utiliser le système de fichiers en réseau Plan 9 pour l'accès d'une machine virtuelle à une autre, la prise en charge de FreeBSD a été ajoutée.
- Un nouveau mode de migration en direct ‘cpr-exec’ a été ajouté, permettant de réduire la consommation des ressources lors de la mise à jour. machines virtuelles et potentiellement de réutiliser les états et connexions existants lors de la mise à jour.
- La boucle principale de traitement des événements dans QEMU a été modifiée pour utiliser l'interface d'entrée/sortie asynchrone io_uring sur les systèmes qui la supportent, ce qui améliore les performances.
- L'émulation en mode utilisateur a été améliorée, permettant d'exécuter des processus distincts compilés pour un autre CPU. L'appel système fchmodat2 a été implémenté, le support des drapeaux MADV_DONTDUMP et MADV_DODUMP a été ajouté, et le support des architectures aarch64, hppa et microblaze a été amélioré.
- Dans l'émulateur d'architecture ARM, le support du modèle de carte amd-versal2-virt avec la mise en œuvre du SoC virtuel AMD Versal a été ajouté. Le support des cartes ‘AST2600’, ‘AST2700’, ‘AST1030’ et ‘xlnx-zynqmp’ a été amélioré. L'émulation des extensions CPU FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC et FEAT_GCS a été mise en œuvre.
- Dans l'émulateur de l'architecture HPPA, la possibilité d'émuler la station de travail HP 715/64, le contrôleur SCSI NCR 53c710 et le contrôleur d'entrée/sortie HP LASI a été ajoutée.
- L'émulateur de l'architecture PowerPC prend désormais en charge les CPU PowerNV11 et PPE42. Pour le matériel pSeries, un mécanisme FADUMP (Firmware-Assisted Dump) a été mis en œuvre pour créer des dumps d'état après un plantage du système.
- Dans l'émulateur de l'architecture RISC-V, l'API MonitorDef HMP a été implémentée, OpenSBI (Open Supervisor Binary Interface) a été mis à jour jusqu'à la version 1.7, et une grande quantité de corrections a été apportée.
- Dans l'émulateur de l'architecture s390x, pour améliorer les performances, la technologie de substitution des interruptions virtuelles via irqfd a été mise en œuvre pour virtio-pci.
Source : opennet.ru
