Sortie de l'émulateur QEMU 6.1

La version du projet QEMU 6.1 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 offrir la possibilité d'exécuter des exécutables Linux compilés pour la plateforme x86 sur des architectures non-x86. Au fil des années de développement, la prise en charge de l'émulation complète a été ajoutée pour 14 architectures matérielles, le nombre de périphériques matériels émulés a dépassé 400. Lors de la préparation de la version 6.1, plus de 3000 221 modifications ont été apportées par XNUMX développeurs.

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

  • La commande "blockdev-reopen" a été ajoutée à QMP (QEMU Machine Protocol) pour modifier les paramètres d'un périphérique bloc déjà créé.
  • Gnutls est utilisé comme pilote de chiffrement prioritaire, qui devance les autres pilotes en termes de performances. Le pilote basé sur libgcrypt qui était auparavant proposé par défaut a été déplacé au rang des options, et le pilote basé sur nettle est laissé comme option de secours, utilisée en l'absence de GnuTLS et Libgcrypt.
  • Ajout de la prise en charge des multiplexeurs PMBus et I2C (pca2, pca9546) à l'émulateur I9548C.
  • Par défaut, la prise en charge des plugins du générateur de code classique TCG (Tiny Code Generator) est activée. Ajout de nouveaux plugins execlog (journal d'exécution) et modélisation du cache (simulation du comportement du cache L1 dans le CPU).
  • L'émulateur ARM a ajouté la prise en charge des cartes basées sur les puces Aspeed (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) et Cortex-M3 (stm32vldiscovery). Ajout de la prise en charge des moteurs de chiffrement matériel et de hachage fournis dans les puces Aspeed. Ajout de la prise en charge de l'émulation des instructions SVE2 (y compris bfloat16), des opérateurs de multiplication matricielle et des instructions de vidage du tampon associatif de traduction (TLB).
  • Dans l'émulateur d'architecture PowerPC pour les machines émulées de la série P, la prise en charge de la détection des pannes lors du branchement à chaud de périphériques dans de nouveaux environnements invités a été ajoutée, la limite du nombre de processeurs a été augmentée et l'émulation de certaines instructions spécifiques aux processeurs POWER10 a été implémentée. . Ajout de la prise en charge des cartes basées sur les puces Genesi/bPlan Pegasos II (pegasos2).
  • L'émulateur RISC-V prend en charge la plateforme OpenTitan et le GPU virtuel virtio-vga (basé sur virgl).
  • L'émulateur s390 a ajouté la prise en charge des extensions CPU et vectorielles de 16e génération.
  • La prise en charge des nouveaux modèles de processeurs Intel a été ajoutée à l'émulateur x86 (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton- v3, Snowridge-v3, Dhyana-v2), qui implémentent l'instruction XSAVES. L'émulateur de chipset Q35 (ICH9) prend en charge le branchement à chaud des périphériques PCI. Émulation améliorée des extensions de virtualisation fournies dans les processeurs AMD. Ajout de l'option bus-lock-ratelimit pour limiter l'intensité du blocage du bus par le système invité.
  • Ajout de la prise en charge de l'utilisation comme accélérateur pour l'hyperviseur NVMM développé par le projet NetBSD.
  • Dans l'interface graphique, la prise en charge de l'authentification par mot de passe lors de l'utilisation du protocole VNC n'est désormais activée que lors de la construction avec un backend cryptographique externe (gnutls, libgcrypt ou nettle).

Source: opennet.ru

Ajouter un commentaire