QEMU 7.1 implementa melhorias com transferência de memória no Linux
Foi anunciado o lançamento da versão 7.1 do QEMU, que traz uma série de melhorias para diversos emuladores , principalmente alterações para ARM e RISC-V, além de uma melhoria na transferência de memória para Linux. Na preparação para a versão 7.1, mais de 2800 alterações foram feitas por 238 desenvolvedores.
Para quem é novo no QEMU, você deve saber que ele permite executar um programa construÃdo para uma plataforma de hardware em um sistema com uma arquitetura completamente diferente, por exemplo, executando um aplicativo ARM em um PC compatÃvel com x86.
No modo de virtualização em QEMU, o desempenho de execução de código em um ambiente isolado é semelhante ao de um sistema de hardware devido à execução direta de instruções na CPU e ao uso do hypervisor Xen ou módulo KVM.
Principais novos recursos do QEMU 7.1
Nesta nova versão apresentada para Linux, a opção zero-copy-send foi implementada , permitindo a organização de transferências de páginas de memória durante a migração ao vivo sem bufferização intermediária.
Além disso, o QMP (QEMU Machine Protocol) adiciona a capacidade de usar o comando `block-export-add` para exportar imagens NBD com dados de página em um estado "sujo". Novos comandos `query-stats` e `query-stats-schema` também foram adicionados para consultar estatÃsticas de vários subsistemas do QEMU.
Outra mudança notável nesta nova versão do QEMU é a melhoria na compatibilidade do agente convidado com a plataforma Solaris , além da adição dos novos comandos 'guest-get-diskstats' e 'guest-get-cpustats' para exibir o status do disco e da CPU. Informações SMART de NVMe foram adicionadas ao comando 'guest-get-disks', e informações sobre o tipo de barramento NVMe foram adicionadas ao comando 'guest-get-fsinfo'.
Além disso, foi adicionado um novo emulador LoongArch para suportar a versão de 64 bits da arquitetura de conjunto de instruções LoongArch (LA64). O emulador suporta processadores Loongson 3 5000 e pontes norte Loongson 7A1000.
Além disso, destaca-se que o emulador ARM implementou novos tipos de máquinas emuladas: Aspeed AST1030 SoC, Qualcomm e AST2600/AST1030 (fby35), além de adicionar suporte para a emulação de CPUs Cortex-A76 e Neoverse-N1, bem como extensões de processador SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) e comandos para bloquear vazamentos de cache interno durante a execução de instruções especulativas na CPU.
Embora o emulador de arquitetura RISC-V tenha adicionado suporte para as novas extensões de conjunto de instruções (ISAs) definidas na especificação 1.12.0, bem como suporte adicional para a extensão Sdtrig e suporte aprimorado para instruções vetoriais.
Outras mudanças notáveis ​​nesta nova versão incluem:
- Opções de depuração aprimoradas.
- Adicionado suporte a Trusted Platform Module (TPM) à máquina emulada 'virt' e adicionado suporte Ibex SPI à máquina 'OpenTitan'.
- O emulador x86 para KVM adicionou suporte para a virtualização do mecanismo de rastreamento LBR (Last Branch Record).
- Emulação de manipulador de interrupção GICv4 implementada para máquinas 'virt'.
- O emulador de arquitetura HPPA oferece um novo firmware baseado em SeaBIOS v6 que suporta o uso de um teclado PS/2 no menu de inicialização.
- Emulação de porta serial aprimorada.
- Adicionadas fontes de console STI adicionais.
- O emulador de arquitetura MIPS para placas Nios2 (-machine 10m50-ghrd) implementa a emulação do controlador de interrupção vetorial e o conjunto de registros de sombra.
- Tratamento de exceção aprimorado.
- Adicionada a capacidade de usar até 4 dispositivos UART 16550A no emulador de arquitetura OpenRISC para a máquina 'or1k-sim'.
- O emulador de arquitetura 390x oferece suporte para extensões Vector-Enhancements Facility 2 (VEF 2). O BIOS s390-ccw tem a capacidade de inicializar a partir de discos com tamanho de setor diferente de 512 bytes.
- Adicionado suporte para kernels lx106 e códigos de objeto de teste de cache para o emulador de arquitetura Xtensa.
Por fim, se você estiver interessado em saber mais sobre as mudanças e os novos recursos desta nova versão do QEMU 7.1, você pode encontrar detalhes e mais informações no seguinte link.