La version du projet QEMU 10.1.0 a été présentée. En tant qu'émulateur, QEMU vous permet d'exécuter un programme compilé pour une plate-forme matérielle sur un système avec une architecture complètement différente, par exemple, d'exécuter une application ARM sur un PC compatible x86. En mode virtualisation dans QEMU, les performances d'exécution de code en environnement isolé sont proches du 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 sous Linux, ou du module NVMM sous Linux. NetBSD.
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 11.0, plus de 2700 modifications ont été apportées par 226 développeurs.
Améliorations clés ajoutées dans QEMU 10.1 :
- VFIO (Virtual Function I/O) introduit la prise en charge initiale du mappage mémoire pour les environnements invités sensibles qui utilisent le chiffrement de la mémoire pour se protéger contre les manipulations et analyses de l'administrateur système hôte. Cette modification permet la transmission de périphériques vers des systèmes invités protégés par Intel TDX (Trusted Domain Extensions) et AMD SEV-SNP (Secure Nested Paging).
- Ajout de la possibilité d'utiliser le mécanisme multifd pour accélérer la migration en direct en mode postcopy, dans lequel la base de données est d'abord transférée vers l'hôte cible puis lancée. machine virtuelleLe système migre ensuite progressivement le contenu de la RAM inutilisée. Le mode de migration à chaud (précopie) a été optimisé. La prise en charge de la migration RDMA pour IPv6 a été ajoutée.
- L'agent invité QEMU inclut désormais la commande « guest-get-load » pour obtenir des informations sur la charge moyenne des machines virtuelles Windows.
- virtio-gpu a ajouté la prise en charge de la substitution de nom dans EDID (Extended Display Identification Data).
- L'émulateur d'architecture x86 prend désormais en charge le mécanisme Intel TDX (Trusted Domain Extensions) pour le chiffrement de la RAM des systèmes invités exécutés sous l'hyperviseur KVM. La prise en charge de l'initialisation des données confidentielles a également été ajoutée. machines virtuelles au format IGVM (Independent Guest Virtual Machine), pour la protection duquel sont utilisés les mécanismes Intel TDX et AMD SEV-SNP.
- L'émulateur d'architecture ARM prend désormais en charge les cartes Analog Devices « max78000fthr », « ast2700fc », Meta « catalina-bmc », NVIDIA « gb200-bmc » et « ast2700a0-evb ». L'émulation des extensions CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 et FEAT_SVE2p1 a été ajoutée. La prise en charge de la virtualisation imbriquée avec KVM a été ajoutée à la plateforme ARM virtuelle standard « virt », ainsi que la prise en charge du bus CXL (Compute Express Link) et du branchement à chaud de périphériques PCI via ACPI.
- L'émulateur d'architecture RISC-V implémente l'émulation du processeur Kunminghu et d'une plateforme basée sur celui-ci. La prise en charge de l'extension d'architecture du jeu d'instructions Ziccif, avec l'implémentation d'une version atomique de l'instruction fetch, a été ajoutée.
- L'émulateur d'architecture LoongArch prend désormais en charge l'émulation côté noyau du contrôleur d'interruption irqchip.
- Ajout d'un support expérimental pour la compilation vers une représentation WebAssembly (WASM) à l'aide du compilateur Emscripten.
- La prise en charge de Debian 11 a été abandonnée dans les composants de l'environnement hôte.
Source: opennet.ru
