Lanzamiento del emulador QEMU 7.0

Se presenta el lanzamiento del proyecto QEMU 7.0. Como emulador, QEMU le 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.

El proyecto fue creado originalmente por Fabrice Bellard para permitir que los ejecutables de Linux creados para la plataforma x86 se ejecutaran en arquitecturas que no son x86. A lo largo de los años de desarrollo, se agregó soporte completo de emulación para 14 arquitecturas de hardware, la cantidad de dispositivos de hardware emulados superó los 400. En preparación para la versión 7.0, se realizaron más de 2500 cambios de 225 desarrolladores.

Mejoras clave agregadas en QEMU 7.0:

  • El emulador x86 agrega soporte para el conjunto de instrucciones Intel AMX (Advanced Matrix Extensions) implementado en los procesadores de servidor Intel Xeon Scalable. AMX ofrece nuevos registros personalizados TMM "TILE" e instrucciones para manipular datos en estos registros, como TMUL (Tile matrix MULtiply) para la multiplicación de matrices.
  • Proporcionó la capacidad de registrar eventos ACPI desde el sistema invitado a través de la interfaz ACPI ERST.
  • Se ha mejorado la compatibilidad con las etiquetas de seguridad en el módulo virtiofs, que se utiliza para reenviar parte del sistema de archivos del entorno host al sistema invitado. Se corrigió la vulnerabilidad CVE-2022-0358, que permitía elevar sus privilegios en el sistema al crear archivos ejecutables en directorios reenviados a través de virtiofs, pertenecientes a otro grupo y equipados con la bandera SGID.
  • Se ha mejorado la flexibilidad de realizar copias de seguridad de imágenes activas del sistema en curso (se crea una instantánea, después de lo cual se aplica un filtro de copia antes de escribir (CBW) para actualizar el estado de la instantánea, copiando datos de áreas en las que el sistema invitado escribe). Se agregó soporte para imágenes en formatos distintos a qcow2. La capacidad de acceder a una instantánea con una copia de seguridad no se proporciona directamente, sino a través del controlador de dispositivo de bloque de acceso a la instantánea. Se han ampliado las posibilidades de controlar el funcionamiento del filtro CBW, por ejemplo, ciertos mapas de bits se pueden excluir del procesamiento.
  • El emulador ARM para máquinas 'virt' agregó soporte para virtio-mem-pci, detección de topología de CPU invitada y habilitación de PAuth cuando se usa un hipervisor KVM con un acelerador hvf. Se agregó compatibilidad con la emulación del controlador Flash OSPI y SLCR de PMC en el emulador de placa 'xlnx-versal-virt'. Se han agregado nuevos modelos de control CRF y APU para máquinas emuladas 'xlnx-zynqmp'. Se agregó la emulación de las extensiones FEAT_LVA2, FEAT_LVA (espacio grande de direcciones virtuales) y FEAT_LPA (espacio grande de direcciones físicas).
  • Classic TCG (Tiny Code Generator) ha eliminado la compatibilidad con hosts con CPU ARMv4 y ARMv5 que no admiten el acceso a la memoria no alineado y no tienen suficiente RAM para ejecutar QEMU.
  • El emulador de arquitectura RISC-V agrega compatibilidad con el hipervisor KVM e implementa las extensiones vectoriales Vector 1.0, así como las instrucciones Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx y zhinx{min}. Se agregó soporte para cargar archivos binarios OpenSBI (RISC-V Supervisor Binary Interface) para máquinas 'spike' emuladas. Para máquinas 'virt' emuladas, se implementa la capacidad de usar hasta 32 núcleos de procesador y soporte para AIA.
  • El emulador de arquitectura HPPA proporciona hasta 16 vCPU y un controlador de gráficos mejorado para entornos de usuario HP-UX VDE/CDE. Se agregó la capacidad de cambiar el orden de arranque de los dispositivos SCSI.
  • Se agregó soporte para usar hasta 4 núcleos de CPU, cargar una imagen initrd externa y generar automáticamente un árbol de dispositivos para un núcleo de arranque en el emulador de arquitectura OpenRISC para placas 'sim'.
  • El emulador de arquitectura PowerPC para máquinas 'pseries' emuladas ha implementado la capacidad de ejecutar sistemas invitados bajo el control de un hipervisor KVM anidado. Se agregó soporte para el dispositivo spapr-nvdimm. Se agregó soporte para el controlador de interrupción XIVE2 y los controladores PHB5 para máquinas emuladas 'powernv', soporte mejorado para XIVE y PHB 3/4.
  • Se ha agregado soporte para extensiones z390 (Miscellaneous-Instruction-Extensions Facility 15) al emulador de arquitectura s3x.

Fuente: opennet.ru

Añadir un comentario