Lanzamiento del emulador QEMU 7.1

Se presenta el lanzamiento del proyecto QEMU 7.1. 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.1, se realizaron más de 2800 cambios de 238 desarrolladores.

Mejoras clave agregadas en QEMU 7.1:

  • En la plataforma Linux, se implementa la opción de envío de copia cero, que le permite organizar la transferencia de páginas de memoria durante la migración en vivo sin almacenamiento en búfer intermedio.
  • QMP (Protocolo de máquina QEMU) ha agregado la capacidad de usar el comando block-export-add para exportar imágenes NBD con datos de página en estado "sucio". También se han agregado nuevos comandos 'query-stats' y 'query-stats-schema' para consultar estadísticas de varios subsistemas QEMU.
  • El agente invitado ha mejorado el soporte para la plataforma Solaris y ha agregado nuevos comandos 'guest-get-diskstats' y 'guest-get-cpustats' para mostrar el estado del disco y la CPU. Se agregó salida de información de NVMe SMART al comando 'guest-get-disks' y salida de información sobre el tipo de bus NVMe al comando 'guest-get-fsinfo'.
  • Se agregó un nuevo emulador de LoongArch compatible con la variante de 64 bits de la arquitectura del conjunto de instrucciones de LoongArch (LA64). El emulador admite procesadores Loongson 3 5000 y puentes norte Loongson 7A1000.
  • El emulador ARM implementa nuevos tipos de máquinas emuladas: Aspeed AST1030 SoC, Qaulcomm y AST2600/AST1030 (fby35). Se agregó soporte para la emulación de CPU Cortex-A76 y Neoverse-N1, así como extensiones de procesador SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) y comandos para bloquear fugas del caché interno durante la ejecución especulativa de instrucciones en el UPC. Para las máquinas 'virtuales', se ha implementado la emulación del controlador de interrupciones GICv4.
  • En el emulador de arquitectura x86 para KVM, se agregó soporte para la virtualización del mecanismo de seguimiento LBR (Last Branch Record).
  • El emulador de arquitectura HPPA ofrece nuevo firmware basado en SeaBIOS v6, que admite el uso de un teclado PS/2 en el menú de inicio. Emulación de puerto serie mejorada. Se agregaron fuentes de consola STI adicionales.
  • El emulador de arquitectura MIPS para placas Nios2 (-machine 10m50-ghrd) implementa la emulación de un controlador de interrupción vectorial y un conjunto de registros ocultos. Manejo de excepciones mejorado.
  • El emulador de arquitectura OpenRISC para la máquina 'or1k-sim' ha agregado la capacidad de usar hasta 4 dispositivos UART 16550A.
  • El emulador de arquitectura RISC-V ha agregado soporte para las nuevas extensiones de conjunto de instrucciones (ISA) definidas en la especificación 1.12.0, así como soporte agregado para la extensión Sdtrig y soporte mejorado para instrucciones vectoriales. Capacidades de depuración mejoradas. Se agregó compatibilidad con TPM (Trusted Platform Module) a la máquina emulada 'virt' y se agregó compatibilidad con Ibex SPI a la máquina 'OpenTitan'.
  • El emulador de arquitectura 390x proporciona soporte para extensiones VEF 2 (Vector-Enhancements Facility 2). El BIOS s390-ccw ofrece la posibilidad de arrancar desde discos con un tamaño de sector distinto de 512 bytes.
  • El emulador de arquitectura Xtensa ha agregado soporte para kernels lx106 y códigos objeto para pruebas de caché.

Fuente: opennet.ru

Añadir un comentario