Sortie de l'émulateur QEMU 6.2

La version du projet QEMU 6.2 est présentée. En tant qu'émulateur, QEMU 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, exécutez une application ARM sur un PC compatible x86. En mode virtualisation dans QEMU, les performances d'exécution de code dans un environnement isolé sont proches d'un système matériel du fait de l'exécution directe des instructions sur le CPU et de l'utilisation de l'hyperviseur Xen ou du module KVM.

Le projet a été créé à l'origine par Fabrice Bellard pour permettre aux exécutables Linux conçus pour la plate-forme x86 de s'exécuter sur des architectures non x86. Au fil des années de développement, une prise en charge complète de l'émulation a été ajoutée pour 14 architectures matérielles, le nombre de périphériques matériels émulés a dépassé 400. En préparation de la version 6.2, plus de 2300 modifications ont été apportées par 189 développeurs.

Améliorations clés ajoutées dans QEMU 6.2 :

  • Le mécanisme virtio-mem, qui vous permet de brancher et de déconnecter à chaud la mémoire des machines virtuelles, a ajouté une prise en charge complète des vidages de mémoire invité, des opérations de copie avant et après la migration de l'environnement (pré-copie/post-copie) et de la création d'instantanés de le système invité en arrière-plan.
  • QMP (QEMU Machine Protocol) implémente la gestion des erreurs DEVICE_UNPLUG_GUEST_ERROR qui se produisent du côté du système invité en cas d'échec lors des opérations de branchement à chaud.
  • La syntaxe des arguments de chargement traités dans les plugins du générateur de code classique TCG (Tiny Code Generator) a été étendue. Ajout de la prise en charge des systèmes multicœurs au plugin de cache.
  • L'émulateur d'architecture x86 prend en charge le modèle de processeur Intel Snowridge-v4. Ajout de la prise en charge de l'accès aux enclaves Intel SGX (Software Guard eXtensions) à partir d'invités à l'aide du périphérique /dev/sgx_vepc côté hôte et du backend « memory-backend-epc » dans QEMU. Pour les systèmes invités protégés à l'aide de la technologie AMD SEV (Secure Encrypted Virtualization), la possibilité de lancer directement le noyau de manière vérifiable (sans utiliser de chargeur de démarrage) a été ajoutée (activée en définissant le paramètre « kernel-hashes=on » dans « sev-guest »). ).
  • L'émulateur ARM sur les systèmes hôtes dotés d'une puce Apple Silicon implémente la prise en charge du mécanisme d'accélération matérielle « hvf » lors de l'exécution de systèmes invités basés sur l'architecture AArch64. Ajout de la prise en charge de l'émulation du modèle de processeur Fujitsu A64FX. Un nouveau type de machine émulée « kudo-mbc » a été implémenté. Pour les machines « virt », ajout de la prise en charge de l'émulation ITS (Interrupt Translation Service) et de la possibilité d'utiliser plus de 123 processeurs en mode émulation. Ajout de la prise en charge des périphériques BBRAM et eFUSE pour les machines émulées "xlnx-zcu102" et "xlnx-versal-virt". Pour les systèmes basés sur la puce Cortex-M55, la prise en charge du profil mobile des extensions de processeur MVE est fournie.
  • La prise en charge initiale du modèle de processeur POWER10 DD2.0 a été ajoutée à l'émulateur d'architecture PowerPC. Pour les machines émulées « powernv », la prise en charge de l'architecture POWER10 a été améliorée, et pour les machines « pseries », des descriptions FORM2 PAPR NUMA ont été ajoutées.
  • Ajout de la prise en charge des extensions du jeu d'instructions Zb[abcs] à l'émulateur d'architecture RISC-V. Pour toutes les machines émulées, les options « host-user » et « numa mem » sont autorisées. Ajout de la prise en charge de SiFive PWM (modulateur de largeur d'impulsion).
  • L'émulateur 68k a amélioré la prise en charge du NuBus d'Apple, notamment la possibilité de démarrer des images ROM et la prise en charge des emplacements d'interruption.
  • Le périphérique de bloc qemu-nbd a le mode de mise en cache en écriture activé par défaut (« écriture différée » au lieu de « écriture directe ») pour correspondre au comportement de qemu-img. Ajout de l'option "--selinux-label" pour l'étiquetage des sockets SELinux Unix.

Source: opennet.ru

Ajouter un commentaire