Foi lançada a versão 6.2 do projeto QEMU. Como emulador, o QEMU permite executar um programa compilado para uma plataforma de hardware em um sistema com uma arquitetura totalmente diferente, por exemplo, rodar 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 é semelhante ao de um sistema físico devido à execução direta de instruções na CPU e ao uso do hipervisor Xen ou do módulo KVM.
O projeto foi inicialmente criado por Fabrice Bellard com o objetivo de permitir a execução de arquivos executáveis Linux compilados para a plataforma x86 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 6.2, mais de 2300 alterações de 189 desenvolvedores foram feitas.
Principais melhorias adicionadas no QEMU 6.2:
- No mecanismo virtio-mem, que permite a adição e remoção dinâmica de memória, máquinas virtuais, foi adicionada suporte completa para dumps de memória de sistemas convidados, operações de cópia antes e depois da migração do ambiente (pre-copy/post-copy) e criação de snapshots do sistema convidado em segundo plano.
- No QMP (QEMU Machine Protocol), foi implementado o tratamento de erros DEVICE_UNPLUG_GUEST_ERROR que ocorrem do lado do sistema convidado em caso de falhas ao realizar operações de conexão dinâmica de hardware.
- A sintaxe dos argumentos de inicialização processados em plugins para o gerador de código clássico TCG (Tiny Code Generator) foi ampliada. O plugin 'cache' agora suporta sistemas multicore.
- No emulador da arquitetura x86, foi implementado suporte para o modelo de CPU Intel Snowridge-v4. Foi adicionada a capacidade de acessar enclaves Intel SGX (Software Guard eXtensions) a partir de sistemas convidados, utilizando o dispositivo /dev/sgx_vepc no lado do sistema hospedeiro e o backend 'memory-backend-epc' no QEMU. Para sistemas convidados protegidos pela tecnologia AMD SEV (Secure Encrypted Virtualization), foi adicionada a possibilidade de um inicialização verificável direta (sem a utilização de um carregador) do kernel (ativada pela definição do parâmetro 'kernel-hashes=on' em 'sev-guest').
- No emulador ARM em sistemas host com chip Apple Silicon, foi implementado suporte ao mecanismo de aceleração de hardware "hvf" ao executar sistemas convidados baseados na arquitetura AArch64. Foi adicionado suporte à emulação do modelo de processadores Fujitsu A64FX. Um novo tipo de máquinas emuladas "kudo-mbc" foi implementado. Para máquinas ‘virt’ foi adicionado suporte à emulação do ITS (Interrupt Translation Service) e a possibilidade de usar mais de 123 CPU em modo de emulação. Para as máquinas emuladas "xlnx-zcu102" e "xlnx-versal-virt", foi adicionado suporte a dispositivos BBRAM e eFUSE. Sistemas baseados no chip Cortex-M55 agora têm suporte ao perfil móvel de extensões de processador MVE.
- No emulador da arquitetura PowerPC, foi adicionado suporte inicial ao modelo de CPU POWER10 DD2.0. Para máquinas emuladas "powernv", o suporte à arquitetura POWER10 foi melhorado, e para as máquinas ‘pseries’, foram adicionadas descrições FORM2 PAPR NUMA.
- No emulador da arquitetura RISC-V, foi adicionado suporte a extensões do conjunto de instruções Zb[abcs]. Para todas as máquinas emuladas, o uso das opções "host-user" e "numa mem" foi permitido. Adicionou-se suporte ao SiFive PWM (modulador de largura de pulso).
- No emulador da arquitetura 68k, houve melhorias no suporte ao barramento NuBus proposto pela Apple, incluindo a capacidade de carregar imagens de ROM e suporte a slots de interrupções.
- No dispositivo em bloco qemu-nbd, o modo de cache das operações de gravação está habilitado por padrão ("writeback" em vez de "writethrough") para corresponder ao comportamento do qemu-img. Uma opção "—selinux-label" foi adicionada para definir rótulos SELinux para soquetes Unix.
Fonte: opennet.ru
