QEMU 10.1: Melhorias de virtualização, segurança TDX e SEV-SNP e muito mais

QEMU

Há alguns dias o projeto QEMU anunciou o lançamento do nova versão 10.1, que vem carregado com um grande número de melhorias e vários novos recursos que aprimoram esta ferramenta de virtualização com suporte cada vez mais sólido para Intel TDX, AMD SEV-SNP, arquiteturas emergentes como RISC-V e ambientes experimentais como WebAssembly.

O QEMU 10.1, um dos avanços mais significativos que estão por vir, está na área de segurança. Agora, VFIO adiciona suporte inicial para ambientes convidados que utilizam criptografia de memória, abrindo caminho para o encaminhamento de dispositivos em sistemas protegidos com Intel TDX (Trusted Domain Extensions) e AMD SEV-SNP (Secure Nested Paging). Essa melhoria reforça a resistência à adulteração e análise baseadas em host, um passo fundamental para a proteção de máquinas virtuais sensíveis.

Além disso, o emulador x86 integra suporte completo para Intel TDX e permite que você inicialize máquinas protegidas usando o formato IGVM, unificando os recursos de segurança com os do AMD SEV-SNP.

Outro novo recurso do QEMU 10.1 é o migração ao vivo (um dos pilares do QEMU em ambientes de alta disponibilidade), uma vez que Agora é possível usar multifd no modo postcopy, o que acelera o processo de movimentação de uma máquina virtual para o host de destino enquanto os blocos de memória são transferidos em segundo plano.

Também é notável a pré-cópia aprimorada para reduzir o tempo de inatividade e a adição de suporte à migração RDMA via IPv6, expandindo a compatibilidade em redes modernas de alta velocidade.

O QEMU 10.1 introduz um novo comando no seu agente convidado, chamado guest-get-load, que permite verificar a média de carga em máquinas virtuais Windows. Esse recurso aprimora os recursos de monitoramento de sistemas virtualizados sem a necessidade de ferramentas externas.

No campo gráfico, virtio-gpu adiciona suporte para substituição de nomes em EDID, o que facilita a identificação de telas em ambientes virtuais e melhora a experiência visual em configurações complexas.

Avanços em ARM, RISC-V e LoongArch

O suporte para arquiteturas alternativas continua a crescer. Em ARM, placas-mãe foram adicionadas como Dispositivos analógicos max78000fthr, Meta catalina-bmc e NVIDIA gb200-bmc, junto com a emulação de novas extensões CPU (FEAT_SME2, ​​​​FEAT_SME_F16F16, FEAT_SVE2p1, entre outros). Além disso, a plataforma virtual virt agora suporta virtualização aninhada com KVM, suporte a CXL e conexão a quente de dispositivos PCI via ACPI.

No ecossistema RISC-V, QEMU implementa o Emulação do processador Kunminghu e extensão Ziccif para instruções atômicas, enquanto o LoongArch incorporou a emulação do controlador de interrupção irqchip no nível do kernel.

Outro avanço marcante é o Suporte experimental para compilação do QEMU para WebAssembly (WASM) usando Emscripten, o que abre a porta para executar o emulador diretamente em navegadores da web.

Entre as mudanças adicionais, destacam-se: Remoção do suporte ao Debian 11 como um sistema host, refletindo a transição para ambientes mais atualizados e mantidos.

Das outras mudanças que se destacam:

Verificações de gravação corrigidas em pmpcfg no modo Smepmp MML
Loop de tradução infinito corrigido em sistemas big endian.
Correções de CSR do KVM
correções de extensão sstc
Corrigir a ordem do zama16b em isa_edata_arr
Correções no gerenciamento de perfis
Expandir a região PMP até 64
Adicionadas funções nomeadas ausentes
A migração ao vivo do RDMA começa a oferecer suporte ao IPv6
Corrigir fluxo de saída TB ausente para ldff_trans
Erro de migração corrigido quando aia é definido como aplic-imsic
Adicionada a entrada riscv_hwprobe à lista strace do usuário Linux
Tipo de exceção corrigido quando o VU acessa os CSRs do supervisor
Restringir o acesso mideleg/medeleg/medelegh aos corações no modo S
Restringir o acesso do meio aos corações no modo S
O uso da implementação AES integrada foi removido para qualquer aplicativo que não seja o emulador de instruções TCG. Qualquer outro uso do AES requer que o QEMU seja compilado com gcrypt, nettle ou gnutls como provedores criptográficos.

Se você interessado em saber mais sobre isso, você pode conferir os detalhes na lista completa de alterações no link a seguir