Se ha presentado el lanzamiento del proyecto QEMU 10.1.0. Como emulador, QEMU permite ejecutar un programa compilado para una plataforma de hardware en un sistema con una arquitectura completamente diferente, por ejemplo, ejecutar una aplicación para ARM en un PC compatible con x86. En modo de virtualización, el rendimiento de ejecución de código en un entorno aislado se aproxima al de un sistema físico gracias a la ejecución directa de instrucciones en la CPU y a la utilización del hipervisor Xen o del módulo KVM en Linux, o del módulo NVMM en NetBSD.
El proyecto fue inicialmente creado por Fabrice Bellard con el objetivo de permitir la ejecución de archivos ejecutables de Linux compilados para la plataforma x86 en arquitecturas diferentes a x86. A lo largo de los años de desarrollo, se ha añadido soporte para la emulación completa de 14 arquitecturas de hardware, y el número de dispositivos de hardware emulados ha superado los 400. En la preparación de la versión 11.0, se han realizado más de 2700 cambios por 226 desarrolladores.
Mejoras clave añadidas en QEMU 10.1:
- En VFIO (Entrada/Salida de Función Virtual) se ha implementado el soporte inicial para el mapeo de memoria en entornos de invitados confidenciales que utilizan cifrado de memoria para protegerse de la intervención y análisis por parte del administrador del sistema anfitrión. Este cambio permite la asignación de dispositivos a sistemas invitados protegidos mediante los mecanismos de Intel TDX (Extensiones de Dominio Confiables) y AMD SEV-SNP (Pagos Anidados Seguros).
- Se ha añadido la posibilidad de utilizar el mecanismo multifd para acelerar la migración en vivo en modo postcopy, donde inicialmente se transfiere y se inicia en el host de destino, máquina virtualy luego se traslada gradualmente el contenido no utilizado de la memoria RAM. Se ha optimizado el modo de migración en vivo precopy. Se ha añadido soporte para migración RDMA para IPv6.
- En el QEMU Guest Agent, se ha añadido el comando «guest-get-load» para obtener información sobre el nivel de carga del sistema (promedio de carga) en máquinas virtuales con Windows.
- En virtio-gpu se ha añadido soporte para la sustitución de nombre en EDID (Datos de Identificación de Pantalla Extendida).
- En el emulador de arquitectura x86 se ha implementado la posibilidad de utilizar el mecanismo Intel TDX (Extensiones de Dominio Confiables) para cifrar la memoria RAM de los sistemas invitados que funcionan bajo la supervisión del hipervisor KVM. También se ha añadido soporte para la inicialización de entornos confidenciales máquinas virtuales en formato IGVM (Máquina Virtual Huésped Independiente), para cuya protección se utilizan los mecanismos Intel TDX y AMD SEV-SNP.
- En el emulador de arquitectura ARM se ha implementado el soporte para placas (Analog Devices ‘max78000fthr’, ‘ast2700fc’, Meta ‘catalina-bmc’, NVIDIA ‘gb200-bmc’ y ‘ast2700a0-evb’. Se ha añadido la emulación de las extensiones de CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 y FEAT_SVE2p1. En la plataforma virtual ARM estándar ‘virt’ se ha añadido soporte para virtualización anidada al utilizar KVM, así como soporte para el bus CXL (Compute Express Link) y la conexión en caliente de dispositivos PCI mediante ACPI.
- En el emulador de arquitectura RISC-V se ha implementado la emulación del procesador Kunminghu y la plataforma basada en él. Se ha añadido soporte para la extensión del conjunto de instrucciones Ziccif con la implementación de una variante atómica de la instrucción fetch.
- En el emulador de arquitectura LoongArch se ha añadido soporte para la emulación del controlador de interrupciones irqchip del lado del núcleo.
- Se ha añadido soporte experimental para la compilación en formato WebAssembly (WASM), utilizando el compilador Emscripten.
- En los componentes para entornos host se ha descontinuado el soporte para Debian 11.
Fuente: opennet.ru
