Lanzamento do emulador QEMU 4.0

Formado lanzamento do proxecto QEMU 4.0. 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.0, fixéronse máis de 3100 cambios de 220 desenvolvedores.

Chave mellorasengadido en QEMU 4.0:

  • Engadiuse compatibilidade ás extensións de instrucións ARMv8+ ao emulador de arquitectura ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT e BTI. Engadido soporte para emular placas Musca e MPS2. Mellora a emulación ARM PMU (unidade de xestión de enerxía). Á plataforma virtude engadiu a posibilidade de usar máis de 255 GB de RAM e compatibilidade con imaxes de arranque u-boot co tipo "noload";

  • No emulador de arquitectura x86 no motor de aceleración da virtualización HAX (Intel Hardware Accelerated Execution) engadiu soporte para hosts compatibles con POSIX como Linux e NetBSD (anteriormente só se admitía a plataforma Darwin). No emulador de chipset Q35 (ICH9) para os principais portos PCIe, agora pódese declarar opcionalmente a velocidade máxima (16GT/s) e o número de liñas de conexión (x32) definidas na especificación PCIe 4.0 (para garantir a compatibilidade, é 2.5GT). instalado de forma predeterminada para tipos máis antigos de máquinas QEMU /s e x1). É posible cargar imaxes Xen PVH coa opción "-kernel";
  • O emulador de arquitectura MIPS engadiu soporte para a emulación multiproceso usando o xerador de código clásico TCG (Tiny Code Generator). Tamén se engadiu soporte para a emulación da CPU I7200 (nanoMIPS32 ISA) e I6500 (MIPS64R6 ISA), a capacidade de procesar solicitudes de tipo de CPU usando o QMP (QEMU Management Protocol), engadiu soporte para os rexistros de configuración SAARI e SAAR. Mellorouse o rendemento das máquinas virtuais co tipo Fulong 2E. Implementación actualizada da Unidade de Comunicación Interthread;
  • No emulador de arquitectura PowerPC, engadiuse soporte para emular o controlador de interrupción XIVE, ampliouse o soporte para POWER9 e, para a serie P, engadiuse a capacidade de conectar en quente pontes de host PCI (PHB, ponte de host PCI). A protección contra ataques Spectre e Meltdown está activada por defecto;
  • Compatibilidade coa emulación PCI e USB engadiuse ao emulador de arquitectura RISC-V. O servidor de depuración integrado (gdbserver) agora admite a especificación de listas de rexistro en ficheiros XML. Engadido soporte para os campos mstatus TSR, TW e TVM;
  • O emulador de arquitectura s390 engadiu soporte para o modelo de CPU z14 GA 2, así como soporte para emular extensións de instrucións para operacións vectoriais e de punto flotante. A capacidade de conectar dispositivos en quente engadiuse a vfio-ap;
  • O emulador de procesadores da familia Tensilica Xtensa mellorou o soporte SMP para Linux e engadiu soporte para FLIX (extensión de instrucións de lonxitude flexible);
  • A opción '-display spice-app' engadiuse á interface gráfica para configurar e lanzar unha versión do cliente de acceso remoto de Spice cun deseño similar á interface QEMU GTK;
  • Engadido soporte para o control de acceso mediante as opcións tls-authz/sasl-authz á implementación do servidor VNC;
  • QMP (QEMU Management Protocol) engadiu soporte para a execución de comandos centralizado/externo (fóra de banda) e implementou comandos adicionais para traballar con dispositivos de bloque;
  • Engadiuse a VFIO unha implementación da interface EDID para os mdevs (vGPU Intel) compatibles, o que lle permite cambiar a resolución da pantalla mediante as opcións xres e yres;
  • Engadiuse un novo dispositivo "xen-disk" para Xen, que pode crear de forma independente un backend de disco para Xen PV (sen acceder a xenstore). Aumentouse o rendemento do backend do disco Xen PV e engadiuse a posibilidade de cambiar o tamaño do disco;
  • Ampliáronse as capacidades de diagnóstico e rastrexo nos dispositivos de bloque de rede e mellorouse a compatibilidade do cliente con implementacións problemáticas do servidor NBD. Engadíronse opcións “--bitmap”, “--list” e “--tls-authz” a qemu-nbd;
  • Engadido soporte para o modo PCI IDE ao IDE emulado/vía dispositivo;
  • Engadido soporte para usar o algoritmo lzfse para comprimir imaxes dmg. Para o formato qcow2, engadiuse soporte para conectar ficheiros de datos externos. As operacións de desempaquetado de qcow2 móvense a un fío separado. Engadido soporte para a operación "blockdev-create" nas imaxes vmdk;
  • O dispositivo de bloques virtio-blk engadiu soporte para as operacións DISCARD (informando sobre a liberación de bloques) e WRITE_ZEROES (poñendo a cero un rango de bloques lóxicos);
  • O dispositivo pvrdma admite servizos RDMA Management Datagram (MAD);
  • Enviado cambios, violando a compatibilidade con versións anteriores. Por exemplo, en lugar da opción "handle" en "-fsdev" e "-virtfs", debería usar as opcións "local" ou "proxy". Elimináronse as opcións “-virtioconsole” (substituída por “-device virtconsole”), “-no-frame”, “-clock”, “-enable-hax” (substituída por “-accel hax”). Eliminouse o dispositivo "ivshmem" (debe usar "ivshmem-doorbell" e "ivshmem-plain"). O soporte para a creación con SDL1.2 descontinuouse (cómpre usar SDL2).

Fonte: opennet.ru

Engadir un comentario