O QEMU 9.0, o popular emulador de máquina de código aberto e software de virtualização, foi lançado recentemente, trazendo uma série de novos recursos e melhorias significativas para uma variedade de arquiteturas, incluindo ARM, RISC-V, LoongArch, s390x e HPPA.
Uma das principais adições nesta versão é o suporte a várias filas para o driver de bloco virtio-blk, possibilitando o processamento de diferentes filas de um único disco por diferentes threads de E/S. Além disso, agora é possível lidar simultaneamente com a pré-alocação de back-ends de memória usando vários threads em alguns casos, o que melhora a eficiência. O recurso "mapped-ram" foi introduzido, permitindo instantâneos de máquina virtual mais eficientes. Além disso, houve melhorias no suporte à reinicialização de ponto de verificação para VFIO e na detecção de página zero.
Para a arquitetura RISC-V, o QEMU 9.0 adiciona suporte para várias extensões ISA, como Zacas, amocas, perfis RVA22, Zaamo, Zalrsc e Ztso, além de oferecer suporte SMBIOS para máquinas virtuais RISC-V e suporte ACPI para SRAT, SLIT, AIA e PLIC. O suporte a tabelas RHCT também foi atualizado.
No caso de ARM, foram adicionados suportes de placa para dispositivos como o nó IoT B-L475E-IOT01A, mp3-an536 (MPS3 dev board + firmware AN536) e o modelo Raspberry Pi 4B. No entanto, é importante observar que a modelagem PCI ou Ethernet para o Raspberry Pi 4 Model B ainda não está disponível, mas está prevista para uma versão futura. No entanto, os controladores SPI e BSC i2c agora são suportados para as placas Raspberry Pi. Além disso, o suporte a ARM foi expandido para incluir suporte adicional a controladores e temporizadores de E/S/USB/SPI/ETHERNET para placas como Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx e virt, além de recursos arquitetônicos como ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) e NV2 (Enhanced Nested Virtualization).
Outra novidade do QEMU 9.0 é o suporte à aceleração KVM para a arquitetura LoongArch, incluindo extensões vetoriais LSX/LASX, e a atualização do firmware SeaBIOS-hppa para a versão 16 para a arquitetura HPPA. Além disso, foram adicionados suporte de emulação para instruções CVDG, CVB, CVBY e CVBG, e melhorias na emulação LAE (Load Address Extended) para a arquitetura s390x.
Por fim, houve várias melhorias no gdbstub, como captura de syscalls no modo de usuário, suporte para modos fork-follow e suporte para siginfo:read. Para obter mais detalhes sobre todas as mudanças, você pode consultar a lista completa no site oficial do QEMU, onde também é possível baixar o QEMU 9.0, se desejar compilá-lo a partir das fontes.