Foi lançado o projeto QEMU 8.0. 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 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 é próximo ao de um sistema de hardware devido à execução direta de instruções no CPU e à utilização do hipervisor Xen ou do módulo KVM.
Inicialmente, o projeto foi criado por Fabrice Bellard com o objetivo de permitir que executáveis compilados para a plataforma x86 rodassem em arquiteturas diferentes de x86. Ao longo dos anos, foi adicionada suporte à emulação completa para 14 arquiteturas de hardware, e o número de dispositivos de hardware emulados ultrapassou 400. Na preparação da versão 8.0, foram feitas mais de 2800 alterações por 238 desenvolvedores.
Principais melhorias adicionadas no QEMU 8.0:
- O suporte à emulação de sistemas (execução completa do SO, incluindo o uso de hipervisores e Xen) em hosts de 32 bits com arquitetura x86 foi declarado obsoleto e será interrompido em breve. O suporte à emulação no modo user-mode (execução de processos individuais compilados para outro CPU) em hosts x86 de 32 bits continuará. KVM O emulador da arquitetura x86 adicionou suporte para executar sistemas convidados Xen em ambientes baseados no hipervisor KVM e núcleos Linux 5.12+.
- No gerador de código clássico TCG para a arquitetura x86, foi adicionada a suportação dos flags CPUID FSRM, FZRM, FSRS e FSRC. O suporte para o novo modelo de CPU Intel Sapphire Rapids (Intel 7) foi implementado.
- No emulador ARM, foi implementado o suporte para os CPUs Cortex-A55 e Cortex-R52, um novo tipo de máquinas emuladas Olimex STM32 H405 foi adicionado, além do suporte para as extensões de processador FEAT_EVT (Traps de Virtualização Aprimorada), FEAT_FGT (Traps de Granularidade Fina) e AArch32 ARMv8-R. No gdbstub, foi adicionado suporte para registradores de sistema na arquitetura de perfil M (perfil de microcontroladores).
- No emulador da arquitetura RISC-V, a implementação das máquinas emuladas OpenTitan, PolarFire e OpenSBI foi atualizada. O suporte para conjuntos adicionais de instruções de CPU (ISA) e extensões foi adicionado: Smstateen, contadores de depuração icount associados ao cache de eventos PMU em modo virtual, ACPI, extensões Zawrs, Svadu, T-Head e Zicond.
- No emulador da arquitetura HPPA, foi adicionado suporte para o comando fid (Identificar ponto flutuante) e a emulação foi melhorada no modo de 32 bits.
- O suporte para a instrução fid (Floating-Point Identify) foi adicionado ao emulador da arquitetura HPPA e a emulação no modo de 32 bits foi aprimorada.
- O emulador da arquitetura 390x agora suporta o desconexão assíncrona de memória durante a reinicialização de sistemas convidados KVM protegidos. O processamento de dispositivos zPCI pass-through foi aprimorado.
- O mecanismo virtio-mem, que permite a conexão e desconexão dinâmica de memória para máquinas virtuais, implementou a alocação preemptiva de recursos durante a migração ao vivo.
- No VFIO (Virtual Function I/O), foi atualizado o suporte experimental para migração (a segunda edição do protocolo de migração foi ativada).
- No dispositivo de bloco qemu-nbd, a eficiência do funcionamento sobre TCP ao usar TLS foi aumentada.
- O agente para sistemas convidados agora possui suporte inicial para OpenBSD e NetBSD.
Fonte: opennet.ru
