Lançamento do emulador QEMU 7.2

Foi apresentado o lançamento do projeto QEMU 7.2. Como emulador, o QEMU permite executar um programa compilado para uma plataforma de hardware em um sistema com uma arquitetura completamente diferente, por exemplo, executar um aplicativo ARM em um PC compatível com x86. No modo de virtualização no QEMU, o desempenho de execução de código em um ambiente isolado é próximo ao de um sistema de hardware devido à execução direta de instruções na CPU e ao uso do hipervisor Xen ou módulo KVM.

O projeto foi originalmente criado por Fabrice Bellard para permitir que executáveis ​​Linux construídos para a plataforma x86 rodassem em arquiteturas não x86. Ao longo dos anos de desenvolvimento, o suporte de emulação completo foi adicionado para 14 arquiteturas de hardware, o número de dispositivos de hardware emulados ultrapassou 400. Na preparação para a versão 7.2, mais de 1800 alterações foram feitas por 205 desenvolvedores.

Principais melhorias adicionadas no QEMU 7.2:

  • O emulador x86 no gerador de código TCG clássico adicionou suporte para instruções AVX, AVX2, F16C, FMA3 e VAES, bem como otimizações de desempenho relacionadas ao uso de instruções SSE. Para KVM, foi adicionado suporte para um mecanismo de rastreamento de saídas de máquinas virtuais (“notify vmexit”), que permite contornar erros na CPU que podem levar a travamentos.
  • O emulador ARM suporta CPU Cortex-A35 e extensões de processador ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (controle de hardware de sinalizador de acesso e estado “sujo”) e E0PD (impedindo o acesso EL0 a mapas de endereços particionados).
  • O emulador LoongArch adiciona suporte para fw_cfg DMA, memória hot-plug e emulação de dispositivo TPM (Trusted Platform Module).
  • O emulador de arquitetura OpenRISC implementa a plataforma ‘virt’ para testar dispositivos e usá-los em sistemas de integração contínua. Foi implementado suporte para execução multithread do gerador de código clássico TCG (Tiny Code Generator).
  • O emulador da arquitetura RISC-V nas máquinas emuladas 'virt' tem a capacidade de carregar firmware do pflash no modo S. Trabalho aprimorado com árvore de dispositivos.
  • O emulador 390x fornece suporte para MSA5 (Message-Security-Assist Extension 5 com a instrução PRNO para gerar números pseudo-aleatórios), instruções KIMD/KLM (implementação de SHA-512) e interpretação zPCI estendida para sistemas convidados baseados no hipervisor KVM .
  • Backends para trabalhar com memória fornecem pré-alocação de memória levando em consideração a arquitetura NUMA.
  • A verificação de cabeçalho de dispositivos de bloco criptografados LUKS foi reforçada e a capacidade de criar imagens LUKS no macOS foi adicionada.
  • O backend 9pfs, que permite o uso do sistema de arquivos de rede Plan 9 para acessar uma máquina virtual para outra, passou a usar o hash GHashTable na tabela de identificadores, o que em algumas situações levou a um aumento de desempenho de 6 a 12 vezes.
  • Adicionado novo fluxo e dgram de back-end do netdev.
  • O suporte FreeBSD foi adicionado ao agente para convidados baseados em ARM.
  • As compilações de GUI para macOS oferecem a capacidade de incluir interfaces baseadas em Cocoa e SDL/GTK em um arquivo executável.
  • O submódulo integrado “slirp” foi removido; em vez disso, é recomendado usar a biblioteca do sistema libslirp.
  • Devido à falta de capacidade de teste, o suporte para sistemas host com processadores MIPS de 32 bits usando ordem de bytes Big Endian foi descontinuado.

Fonte: opennet.ru

Adicionar um comentário