Se ha lanzado QEMU 9.1. Como emulador, QEMU permite ejecutar un programa creado para una plataforma de hardware en un sistema con una arquitectura completamente diferente; por ejemplo, ejecutar una aplicación ARM en un PC compatible con x86. En el modo de virtualización de QEMU, el rendimiento de la ejecución del código en un entorno aislado es similar al de un sistema de hardware debido a la ejecución directa de instrucciones en la CPU y al uso del hipervisor Xen o del módulo KVM. Linuxo el módulo NVMM en NetBSD.
El proyecto fue creado originalmente por Fabrice Bellard para permitir la ejecución de archivos ejecutables compilados para la plataforma x86. Linux En arquitecturas distintas a x86. A lo largo de los años de desarrollo, se añadió compatibilidad con la emulación completa para 14 arquitecturas de hardware, y el número de dispositivos de hardware emulados superó los 400. En la preparación de la versión 9.1, se realizaron más de 2800 cambios por parte de 263 desarrolladores.
Mejoras clave agregadas en QEMU 9.1:
- Guest Migration Toolkit brinda soporte para acelerar la compresión de datos utilizando la tecnología IAA (Intel In-Memory Analytics Accelerator) o UADK (User Space Accelerator Development Kit). Soporte mejorado para la recuperación de fallas de migración en modo poscopia.
- El mecanismo virtio, utilizado para organizar la interacción entre los sistemas invitados y el sistema anfitrión, ha agregado soporte para la función VIRTIO_F_NOTIFICATION_DATA, que permite a los conductores del lado invitado transmitir datos adicionales junto con las notificaciones enviadas. La función se puede utilizar, por ejemplo, para enviar datos de depuración u optimizar el rendimiento.
- En agente invitado para Linux-systems agregó el comando guest-network-get-route y para WindowsSe han añadido los comandos Guest-ssh-* a los sistemas. La interfaz de línea de comandos ahora ofrece opciones de personalización ampliadas para los comandos "permitidos" y "bloqueados".
- El emulador de arquitectura ARM ha agregado soporte para las extensiones de procesador EAT_NMI, FEAT_CSV2_3, FEAT_ETS2, FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8. Al emular la unidad de administración de memoria SMMUv3 (Unidad de administración de memoria del sistema), se implementa soporte para páginas de memoria anidadas y de dos niveles. Para las placas Xilinx Zynq, se agregó soporte para emulación de configuraciones multiprocesador, controlador de pantalla DM163 y controlador de caché.
- El emulador de arquitectura LoongArch brinda la capacidad de cargar directamente imágenes del kernel en formato ELF y agrega soporte para ejecutar hasta 256 CPU usando la extensión extioi. Capacidades de depuración mejoradas.
- El emulador de arquitectura RISC-V agrega soporte para las extensiones de procesador Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha, Zawrs y Smcntrpmf, así como la versión 1.13 de la Especificación de arquitectura de conjunto de instrucciones privilegiadas. Capacidades de depuración mejoradas.
- El emulador de arquitectura SPARC ha agregado soporte para extensiones de procesador FMAF, IMA, VIS3 y VIS4.
- En el emulador de arquitectura x86 para el hipervisor KVM Se ha implementado la capacidad de iniciar sistemas invitados mediante la extensión de procesador AMD SEV-SNP (Secure Nested Paging), que garantiza un funcionamiento seguro con tablas de páginas de memoria anidadas. Se ha implementado la compatibilidad con la emulación de CPU basada en las microarquitecturas Icelake-Server-v7, SapphireRapids-v3 y SierraForest.
- La vulnerabilidad (CVE-2024-7409) se ha corregido en servidor Dispositivos de bloque NBD (Network Block Device), que permiten, mediante manipulaciones en el sistema invitado, lograr una terminación anormal de QEMU durante la operación nbd-server-stop, incluso si el cliente no tiene claves TLS para conectarse al servidor NBD.
Fuente: opennet.ru
