Qemu 8.2 llega con mejoras de soporte, mejoras en emuladores y mas
La nueva versión de Qemu 8.2 ya fue liberada y llega con una variedad de cambios importantes tanto para los emuladores, así como también con la adición de nuevo soporte.
Para quienes desconocen de QEMU, deben saber que este 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 una PC compatible con x86.
En el modo de virtualización en QEMU, el rendimiento de la ejecución de 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 el uso del hipervisor Xen o módulo KVM.
Principales novedades de QEMU 8.2
En esta nueva versión que se presenta de Qemu 8.2 se ha implementado el soporte para los nuevos dispositivos:
- Virtio-sound permite emular una tarjeta de sonido para grabar y reproducir sonido en el sistema invitado usando un backend de audio( la opción CONFIG_SND_VIRTIO debe estar habilitada para el invitado).
- Hv-balloon permite devolver páginas de memoria no utilizadas al sistema host durante la operación y solicitar páginas adicionales en caso de escasez de memoria (esto lo hace con la ayuda de la implementación del protocolo de memoria dinámica para Hyper-V), el nuevo dispositivo puede considerarse como una alternativa a virtio-balloon para sistemas invitados de Windows, utilizando un backend que admite el protocolo de memoria dinámica en el lado del host.
- Un dispositivo de almacenamiento flash universal para emular una unidad flash
Además de ello también se destaca la adición de una interfaz gráfica virtual «colinabo» que recuerda a la VirGL disponible anteriormente y que también permite usar una GPU virtual en el sistema invitado para renderizado 3D.
Por la parte de las mejoras en los emuladores, Qemu 8.2 añadir en x86, al emular un entorno de hipervisor Xen basado en KVM, soporte para la consola PV y dispositivos de red, así como comandos simplificados para dispositivos de bloque y de red. El generador de códigos TCG clásico ahora admite instrucciones SHA.
En ARM se implementa la emulación de CPU Cortex-A710 y Neoverse-N2, así como tambien soporte para extensiones de procesador PACQARMA3, EPAC, Pauth2, FPAC, FPACCOMBINE, TIDCP1, MOPS, HBC y HPMN0 y que además ahora ya cuenta con el soporte para la simulación de dispositivos CFU/CFI y TRNG para la placa Xilinx Versal.
Para el caso del emulador RISC-V, Qemu 8.2 implementa un conjunto de instrucciones criptográficas vectoriales, junto con el soporte para IRQ virtuales y filtrado de IRQ, además de que se ha estabilizado el soporte para las extensiones Zicond.
Por otra parte en VFIO se agrega el soporte para el modo de migración P2P e implementa la capacidad de distribuir dinámicamente MSI-X, se han realizado preparativos para la transición al nuevo backend de IOMMUFD.
Virtio-mem implementa un modo «dynamic-memslots=on» para asignar dinámicamente múltiples ranuras de memoria en lugar de asignar estáticamente una ranura grande. El uso de este modo permite reducir el consumo de memoria en dispositivos virtio-mem grandes que asignan una pequeña cantidad de memoria a la VM.
De los demás cambios que se destacan de esta nueva versión:
- El comando dump-guest-memory ahora admite salida en el formato kdump estándar.
- Se agregó soporte para la emulación UFS usando los nuevos dispositivos ufs y ufs-lu.
- El emulador de arquitectura HPPA proporciona emulación de una CPU PA-RISC 2.0 de 64 bits y emulación del sistema C3700, incluido el controlador de memoria Astro y los puentes PCI Elroy.
- Se agregó soporte para extensiones de virtualización AIA (Advanced Interrupt Architecture) a través de KVM.
- El emulador de arquitectura LoongArch implementa la emulación de la CPU Loongson LA132. Se agregó soporte para la extensión del conjunto de instrucciones LASX y la instrucción PRELDX.
- El emulador de arquitectura s390x ha agregado soporte para vfio-ap para reenviar el adaptador criptográfico a sistemas invitados protegidos.
- El emulador Tricore ha agregado soporte para procesadores TC37x (ISA 1.6.2) e instrucciones CRCN, FTOU, FTOHP, HPTOF.
- El controlador NBD implementa el soporte para una extensión de protocolo que utiliza compensaciones de 64 bits al manipular datos de gran tamaño para mejorar el rendimiento.
Finalmente si estás interesado en poder conocer más al respecto de los cambios y novedades que se presentan en esta nueva versión de QEMU 8.2 puedes consultar los detalles y más en el siguiente enlace.