Sortie de l'émulateur QEMU 8.0

La version du projet QEMU 8.0 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 8.0, plus de 2800 modifications ont été apportées par 238 développeurs.

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

  • Déclaré obsolète et le support de l'émulation système (lancement de l'intégralité de l'OS, y compris avec l'implication des hyperviseurs KVM et Xen) sur les hôtes x32 86 bits sera bientôt interrompu. La prise en charge de l'émulation en mode utilisateur (exécution de processus distincts conçus pour un processeur différent) sur les hôtes x32 86 bits se poursuivra.
  • Ajout de la prise en charge de l'exécution d'invités Xen dans un environnement basé sur l'hyperviseur KVM et les noyaux Linux 86+ dans l'émulateur d'architecture x5.12.
  • Ajout de la prise en charge des drapeaux CPUID FSRM, FZRM, FSRS et FSRC dans le générateur de code TCG classique pour l'architecture x86. Prise en charge implémentée du nouveau modèle de processeur Intel Sapphire Rapids (Intel 7).
  • L'émulateur ARM a implémenté la prise en charge des processeurs Cortex-A55 et Cortex-R52, ajouté un nouveau type de machine émulée Olimex STM32 H405, ajouté la prise en charge de FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) et du processeur AArch32 ARMv8-R extensions. Ajout de la prise en charge des registres système dans gdbstub pour l'architecture de profil M (profil de microcontrôleur).
  • L'implémentation des machines émulées OpenTitan, PolarFire et OpenSBI a été mise à jour dans l'émulateur d'architecture RISC-V. Ajout de la prise en charge de jeux d'instructions de processeur (ISA) et d'extensions supplémentaires : Smstateen, compteurs de débogage icount, événements liés au cache PMU en mode virtuel, extensions ACPI, Zawrs, Svadu, T-Head et Zicond.
  • La prise en charge de l'instruction fid (Floating-Point Identify) a été ajoutée à l'émulateur d'architecture HPPA et l'émulation a été améliorée en mode 32 bits.
  • L'émulateur d'architecture 390x prend en charge le détachement de mémoire asynchrone lors du redémarrage des invités KVM sécurisés. Amélioration de la gestion des périphériques zPCI transférés.
  • Le mécanisme virtio-mem, qui vous permet de brancher et de débrancher à chaud la mémoire des machines virtuelles, implémente la préallocation lors de la migration en direct.
  • Le support expérimental pour la migration a été mis à jour dans VFIO (Virtual Function I/O) (la deuxième édition du protocole de migration est impliquée).
  • Le périphérique de bloc qemu-nbd a amélioré les performances sur TCP lors de l'utilisation de TLS.
  • Le support initial pour OpenBSD et NetBSD a été ajouté à l'agent invité.

Source: opennet.ru

Ajouter un commentaire