Foi lançado o projeto QEMU 10.1.0. Como um emulador, o QEMU permite executar programas compilados para uma plataforma de hardware em sistemas com uma arquitetura completamente diferente, por exemplo, executar um aplicativo para ARM em um PC compatível com x86. No modo de virtualização, o desempenho da execução de código em um ambiente isolado se aproxima do sistema de hardware devido à execução direta de instruções na CPU e ao uso do hipervisor Xen ou do módulo KVM no Linux, ou do módulo NVMM no NetBSD.
O projeto foi inicialmente criado por Fabrice Bellard com o objetivo de permitir a execução de arquivos executáveis do Linux compilados para a plataforma x86 em arquiteturas diferentes de x86. Ao longo dos anos de desenvolvimento, foi adicionada a suporte à emulação completa para 14 arquiteturas de hardware, com o número de dispositivos de hardware emulados ultrapassando 400. Na preparação da versão 11.0, mais de 2700 mudanças foram feitas por 226 desenvolvedores.
Principais melhorias adicionadas ao QEMU 10.1:
- No VFIO (Virtual Function I/O) foi implementado o suporte inicial ao mapeamento de memória para ambientes virtuais confidenciais, onde a criptografia de memória é usada para proteger contra interferências e análises por parte do administrador do sistema host. Esta mudança permite a organização de passagem de dispositivos em sistemas convidados protegidos por mecanismos Intel TDX (Trusted Domain Extensions) e AMD SEV-SNP (Secure Nested Paging).
- Foi adicionada a possibilidade de usar o mecanismo multifd para acelerar a Live-migração no modo postcopy, onde inicialmente é transferido e iniciado no host de destino, máquina virtual, e depois o conteúdo não utilizado da memória RAM é transferido gradualmente. O modo de Live-migração precopy foi otimizado. O suporte à migração RDMA para IPv6 foi adicionado.
- No QEMU Guest Agent foi adicionada a comando "guest-get-load" para obter informações sobre o nível de carga do sistema (load average) em máquinas virtuais com Windows.
- No virtio-gpu foi adicionada a suporte à substituição de nome no EDID (Extended Display Identification Data).
- No emulador da arquitetura x86, foi implementada a possibilidade de usar o mecanismo Intel TDX (Trusted Domain Extensions) para criptografia da memória RAM de sistemas convidados operando sob o hipervisor KVM. Também foi adicionado suporte à inicialização de sistemas confidenciais máquinas virtuais no formato IGVM (Independent Guest Virtual Machine), cujos mecanismos de proteção utilizam Intel TDX e AMD SEV-SNP.
- No emulador da arquitetura ARM, foi implementado suporte para placas (Analog Devices ‘max78000fthr’, ‘ast2700fc’, Meta ‘catalina-bmc’, NVIDIA ‘gb200-bmc’ e ‘ast2700a0-evb’. Foi adicionada a emulação das extensões CPU FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16 e FEAT_SVE2p1. Na plataforma virtual ARM padrão ‘virt’, foi adicionado suporte à virtualização aninhada com o uso do KVM, bem como suporte ao barramento CXL (Compute Express Link) e conexão a quente de dispositivos PCI usando ACPI.
- No emulador da arquitetura RISC-V, foi implementada a emulação do processador Kunminghu e da plataforma baseada nele. Foi adicionado suporte à extensão da arquitetura do conjunto de instruções Ziccif com a implementação de uma variante atômica da instrução fetch.
- No emulador da arquitetura LoongArch, foi adicionado suporte à emulação do controlador de interrupções irqchip no lado do núcleo.
- Foi adicionado suporte experimental à compilação para a representação WebAssembly (WASM), utilizando o compilador Emscripten.
- Nos componentes para ambientes host, o suporte ao Debian 11 foi descontinuado.
Fonte: opennet.ru
