Sortie de l'émulateur QEMU 7.0

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

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

  • L'émulateur d'architecture x86 a ajouté la prise en charge du jeu d'instructions Intel AMX (Advanced Matrix Extensions) implémenté dans les processeurs de serveur Intel Xeon Scalable. AMX propose de nouveaux registres TMM "TILE" configurables et des instructions pour manipuler les données dans ces registres, comme TMUL (Tile Matrix MULtiply) pour la multiplication matricielle.
  • La possibilité de consigner les événements ACPI du système invité via l'interface ACPI ERST est fournie.
  • Le module virtiofs, utilisé pour transmettre une partie du système de fichiers de l'environnement hôte vers le système invité, a amélioré la prise en charge des étiquettes de sécurité. La vulnérabilité CVE-2022-0358 a été corrigée, ce qui vous permet d'augmenter vos privilèges dans le système en créant des fichiers exécutables dans des répertoires transmis via des virtiofs appartenant à un autre groupe et équipés du drapeau SGID.
  • Flexibilité accrue pour la sauvegarde des images système actives (un instantané est créé, après quoi un filtre de copie avant écriture (CBW) est appliqué pour mettre à jour l'état de l'instantané, en copiant les données des zones dans lesquelles le système invité écrit). Ajout de la prise en charge des images dans des formats autres que qcow2. Il est possible d'accéder à un instantané avec une sauvegarde non pas directement, mais via le pilote de périphérique de blocage d'accès aux instantanés. Les capacités de contrôle du fonctionnement du filtre CBW ont été étendues, par exemple, vous pouvez exclure certains bitmaps du traitement.
  • L'émulateur ARM pour les machines « virt » ajoute la prise en charge de virtio-mem-pci, détectant la topologie du processeur pour l'invité et activant PAuth lors de l'utilisation de l'hyperviseur KVM avec l'accélérateur hvf. L'émulateur de carte 'xlnx-versal-virt' a ajouté la prise en charge de l'émulation du contrôleur de mémoire PMC SLCR et OSPI Flash. De nouveaux modèles de contrôle CRF et APU ont été ajoutés pour les machines émulées « xlnx-zynqmp ». Ajout de l'émulation des extensions FEAT_LVA2, FEAT_LVA (Large Virtual Address space) et FEAT_LPA (Large Physical Address space).
  • Le Tiny Code Generator (TCG) classique a cessé de prendre en charge les hôtes dotés de processeurs ARMv4 et ARMv5, qui ne prennent pas en charge l'accès à la mémoire non aligné et ne disposent pas de suffisamment de RAM pour exécuter QEMU.
  • L'émulateur d'architecture RISC-V ajoute la prise en charge de l'hyperviseur KVM et implémente les extensions vectorielles Vector 1.0, ainsi que les instructions Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx et zhinx{min}. Ajout de la prise en charge du chargement des fichiers binaires OpenSBI (RISC-V Supervisor Binary Interface) pour les machines émulées « spike ». Pour les machines « virtuelles » émulées, la possibilité d'utiliser jusqu'à 32 cœurs de processeur et la prise en charge AIA sont implémentées.
  • L'émulateur d'architecture HPPA offre la possibilité d'utiliser jusqu'à 16 processeurs virtuels et améliore le pilote graphique pour les environnements utilisateur HP-UX VDE/CDE. Ajout de la possibilité de modifier l'ordre de démarrage des périphériques SCSI.
  • Dans l'émulateur d'architecture OpenRISC pour les cartes « sim », la prise en charge a été ajoutée pour l'utilisation de jusqu'à 4 cœurs de processeur, le chargement d'une image initrd externe et la génération automatique d'une arborescence de périphériques pour le noyau chargé.
  • L'émulateur d'architecture PowerPC pour les machines émulées « pseries » a la capacité d'exécuter des systèmes invités exécutant un hyperviseur KVM imbriqué. Ajout de la prise en charge du périphérique spapr-nvdimm. Pour les machines émulées « powernv », la prise en charge du contrôleur d'interruption XIVE2 et des contrôleurs PHB5 a été ajoutée, et la prise en charge de XIVE et PHB 3/4 a été améliorée.
  • La prise en charge des extensions z390 (Miscellaneous-Instruction-Extensions Facility 15) a été ajoutée à l'émulateur d'architecture s3x.

Source: opennet.ru

Ajouter un commentaire