Lanzamento do emulador QEMU 4.1

Presentado lanzamento do proxecto QEMU 4.1. Como emulador, QEMU permítelle executar un programa compilado para unha plataforma de hardware nun sistema cunha arquitectura completamente diferente, por exemplo, executar unha aplicación ARM nun PC compatible con x86. No modo de virtualización en QEMU, o rendemento da execución de código nun ambiente illado é próximo ao sistema nativo debido á execución directa de instrucións na CPU e ao uso do hipervisor Xen ou do módulo KVM.

O proxecto foi creado orixinalmente por Fabrice Bellard para permitir que os executables de Linux construídos para a plataforma x86 se executen en arquitecturas non x86. Ao longo dos anos de desenvolvemento, engadiuse soporte completo de emulación para 14 arquitecturas de hardware, o número de dispositivos de hardware emulados superou os 400. En preparación para a versión 4.1, fixéronse máis de 2000 cambios de 276 desenvolvedores.

Chave mellorasengadido en QEMU 4.1:

  • Engadiuse compatibilidade aos modelos de CPU Hygon Dhyana e Intel SnowRidge ao emulador de arquitectura x86. Engadida a emulación da extensión RDRAND (xerador de números pseudoaleatorios de hardware). Engadiron bandeiras
    md-clear e mds-no para controlar a protección contra ataques MDS (Mostraxe de datos microarquitectónicos) en procesadores Intel. Engadiuse a capacidade de determinar topoloxías de circuítos integrados usando a bandeira "-smp ...,dies=". Implementouse o control de versións para todos os modelos de CPU x86;

  • O controlador de bloque SSH moveuse de usar libssh2 en libsh;
  • O controlador virtio-gpu (GPU virtual desenvolvida como parte do proxecto Virgil) engadiu compatibilidade para mover as operacións de renderizado 2D/3D a un proceso externo de usuario vhost (por exemplo, vhost-user-gpu);
  • O emulador de arquitectura ARM engadiu soporte para a extensión ARMv8.5-RNG para xerar números pseudoaleatorios. Implementouse a compatibilidade coa emulación de FPU para os chips da familia Cortex-M e resolvéronse os problemas coa emulación de FPU para o Cortex-R5F. Propúxose un novo sistema para establecer opcións de compilación, deseñado ao estilo Kconfig. Para SoC Exynos4210, engadiuse soporte para controladores DMA PL330;
  • O emulador de arquitectura MIPS mellorou o soporte para as instrucións MSA ASE cando se usa a orde de bytes big-endian e aliñou o manexo da división por cero casos co hardware de referencia. Aumentouse o rendemento da emulación de instrucións MSA para os cálculos de enteiros e as operacións de permutación;
  • O emulador de arquitectura PowerPC agora admite o reenvío a GPU NVIDIA V100/NVLink2 mediante VFIO. Para pseries, implementouse a aceleración da emulación do controlador de interrupción XIVE e engadiuse soporte para a conexión en quente de pontes PCI. Realizáronse optimizacións na emulación de instrucións vectoriais (Altivec/VSX);
  • Engadiuse un novo modelo de hardware ao emulador de arquitectura RISC-V: "spike". Engadido soporte para ISA 1.11.0. Mellorouse a chamada ao sistema ABI de 32 bits, mellorouse o manexo de instrucións non válidas e mellorouse o depurador integrado. Engadido soporte para a topoloxía da CPU na árbore de dispositivos;
  • O emulador de arquitectura s390 engadiu soporte para emular todas as instrucións vectoriais do grupo "Vector Facility" e engadiu elementos adicionais para admitir os sistemas gen15 (incluíndo soporte adicional para AP Queue Interruption Facility para vfio-ap). Implementouse o soporte da BIOS para o arranque desde ECKD DASD ligado ao sistema invitado a través de vfio-ccw;
  • No emulador de arquitectura SPARC para sistemas sun4m, resolvéronse os problemas co uso da marca "-vga none" para OpenBIOS;
  • O emulador de procesadores da familia Tensilica Xtensa inclúe opcións para MPU (unidade de protección de memoria) e acceso exclusivo;
  • A opción "-salvage" engadiuse ao comando "qemu-img convert" para desactivar a falla do proceso de conversión de imaxes en caso de erros de E/S (por exemplo, pódese usar para restaurar ficheiros qcow2 parcialmente danados). Nun equipo
    “qemu-img rebase” funciona cando aínda non se creou un ficheiro de apoio para o ficheiro de entrada;

  • Engadiuse a capacidade de redirixir a saída organizada mediante a tecnoloxía "semihosting" (permite que o dispositivo emulado use stdout, stderr e stdin para crear ficheiros no lado do host) ao backend de chardev ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • Engadido soporte para o subformato seSparse en modo de só lectura no controlador de bloque VMDK;
  • Engadido soporte para o controlador SiFive GPIO no controlador de emulación GPIO.

Fonte: opennet.ru

Engadir un comentario