Se ha publicado el emulador QEMU 9.2.0 con soporte para Rust y Vulkan

Se ha presentado el lanzamiento del proyecto QEMU 9.2. 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 la ejecución del código en un entorno aislado es comparable al de un sistema físico gracias a la ejecución directa de instrucciones en la CPU y al uso del hipervisor Xen o del módulo KVM en Linux, o del módulo NVMM en NetBSD.

El proyecto fue creado inicialmente por Fabrice Bellard con el objetivo de permitir la ejecución de archivos ejecutables de Linux compilados para la plataforma x86 en arquitecturas diferentes de 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 9.2 se realizaron más de 1700 cambios por parte de 209 desarrolladores.

Mejoras clave añadidas en QEMU 9.2:

  • Se ha añadido soporte experimental para la creación de modelos de dispositivos escritos en el lenguaje Rust. Al compilar QEMU con soporte para Rust, por defecto se utiliza una implementación alternativa del controlador PL011 UART, escrita en Rust, aunque actualmente no se recomienda para su uso general.

    Actualmente, el soporte de Rust en QEMU está desactivado de forma predeterminada y se activará durante la compilación indicando la opción «--enable-rust» al ejecutar el script de configuración. Para compilar con Rust se requieren al menos las versiones rustc 1.63.0 y bindgen 0.60.0 (por ejemplo, en Debian 12 habrá que instalar por separado una versión más reciente de Rust). En el futuro, se planea que el compilador Rust y el generador de enlaces bindgen se conviertan en dependencias de compilación obligatorias.

    Entre los planes relacionados con la promoción de Rust en QEMU se incluye llevar a un estado operativo el controlador HPET (High Precision Event Timer) y el controlador para dispositivos de bloque escritos en Rust, continuar el desarrollo de las envolturas para usar Rust en varios componentes de QEMU (por ejemplo, en controladores de dispositivos de bloque, temporizadores y GPIO), y reescribir en Rust componentes críticos desde el punto de vista de la seguridad del sistema, como virtio.

  • Se ha añadido soporte para aceleración 3D utilizando la API gráfica Vulkan en el dispositivo VirtIO-GPU, que proporciona la funcionalidad de GPU virtual. Esto se implementa a través del controlador Vulkan Venus incluido en Mesa, que permite a la máquina huésped utilizar una GPU virtual para el renderizado 3D sin necesidad de acceso exclusivo directo a la GPU física. Es necesario tener la biblioteca virglrenderer en el sistema host y el controlador Mesa Venus en el sistema huésped. Hay disponible una guía para configurar el soporte de Vulkan en QEMU.
  • Se ha añadido soporte para acelerar las operaciones de compresión de flujos de datos transmitidos simultáneamente en el conjunto de herramientas de migración de huéspedes, utilizando la biblioteca QATzip, que aprovecha el acelerador QAT (QuickAssist Technology) incorporado en los procesadores Intel, proporcionando herramientas para acelerar los cálculos relacionados con la compresión y el cifrado.
  • Se ha añadido soporte para el algoritmo de hash SHA-384 en el backend criptográfico basado en GLib.
  • Se ha añadido soporte para las extensiones de procesador FEAT_EBF16 y FEAT_CMOW, así como extensiones de seguridad utilizadas en las placas xilinx-zynq-a9 en el emulador de arquitectura ARM. Con el componente HVF, que utiliza el conjunto de herramientas Hypervisor.framework para acelerar la ejecución de sistemas huéspedes en computadoras Mac ARM, se brinda soporte para más de 64 GB de memoria. Para los sistemas emulados sbsa-ref y virt, se ha añadido soporte para la traducción de direcciones en dos etapas en SMMU (System Memory Management Unit). Se ha dejado de dar soporte a los tipos de hardware emulado obsoletos akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex y z2.
  • Se ha añadido soporte para un nuevo tipo de configuración de hardware llamado nitro-enclave en el emulador de arquitectura x86, que emula el entorno AWS Nitro Enclave y es capaz de cargar imágenes de sistema en el formato Enclave Image Format.
  • Se ha implementado la posibilidad de activar el soporte para el conjunto de instrucciones AVX10, así como versiones específicas de AVX10: avx10-128, avx10-256 y avx10-512 en el emulador de arquitectura x86 para el hipervisor. KVM Se ha añadido soporte para las extensiones del conjunto de instrucciones Svvptc, Bitmanip (Bit-Manipulation) y CFI (Control Flow Integrity) en el emulador de arquitectura RISC-V, utilizadas en las placas OpenTitan. Se ha añadido soporte para IOMMU en el tipo de sistemas emulados 'virt'. Se ha mejorado el rendimiento de las instrucciones ld y st.
  • La firmware SeaBIOS-hppa en el emulador de arquitectura HPPA se ha actualizado a la versión 17.
  • Se ha añadido soporte para acceso a discos NVMe en el emulador de arquitectura RISC-V.
  • En el emulador de la arquitectura s390x se ha añadido la capacidad de iniciar desde otros dispositivos si no se pudo arrancar desde el dispositivo especificado.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster