Lançamento do emulador QEMU 9.0.0

Lançado o projeto QEMU 9.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, 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 é próximo ao de um sistema de hardware, graças à execução direta de instruções no 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 Linux compilados para a plataforma x86 em arquiteturas diferentes da x86. Ao longo dos anos de desenvolvimento, o suporte para emulação total foi adicionado a 14 arquiteturas de hardware, e o número de dispositivos de hardware emulados ultrapassou 400. Na preparação da versão 9.0, mais de 2700 alterações de 220 desenvolvedores foram incorporadas.

Melhorias-chave adicionadas no QEMU 9.0:

  • No driver virtio-blk, que fornece um dispositivo de bloco virtual para máquinas virtuais, foi adicionada a compatibilidade com um sistema de filas multicanal (multiqueue), permitindo a divisão de filas para diferentes dispositivos de bloco para garantir acesso multithread em sistemas multicore (filas diferentes de um disco podem ser processadas por diferentes threads de entrada/saída).
  • No dispositivo de bloco usb-storage, foi adicionada a compatibilidade com as propriedades ‘backend_defaults’, ‘logical_block_size’, ‘physical_block_size’, ‘min_io_size’, ‘opt_io_size’ e ‘discard_granularity’.
  • Na biblioteca gdbstub, destinada à depuração remota no GDB usando o protocolo RSP (Remote Serial Protocol), foi adicionado suporte para o modo fork-follow, operação siginfo:read e interceptação de chamadas de sistema no espaço do usuário.
  • Os backends de pré-alocação de memória foram adaptados para funcionar em modo multithread e agora podem processar solicitações simultaneamente de múltiplas threads.
  • Nas ferramentas para migração de máquinas virtuais, foi adicionado o modo “mapped-ram”, aumentando a eficiência na criação de snapshots de máquinas virtuais. A detecção da página de memória nula foi aprimorada, o que acelerou significativamente a migração de máquinas virtuais inativas quando a suporte à multifd está disponível. Na migração baseada em VFIO (Virtual Function I/O), foi implementado suporte para reinicialização a partir de um estado salvo (checkpoint-restart).
  • Reimplementação do dispositivo ESP SCSI (am53c974/dc390).
  • Adicionada a suporte ao algoritmo de criptografia SM4 e possibilitada sua utilização no driver de dispositivo em bloco ‘luks’.
  • O driver ‘luks’ agora suporta a criação e utilização de arquivos com cabeçalhos LUKS armazenados.
  • No emulador da arquitetura ARM, foi adicionada a compatibilidade com as placas L475E-IOT01A IoT, mp3-an536 (MPS3 com firmware AN536) e raspi4b (Raspberry Pi 4 Model B). Implementado o suporte à emulação das extensões de processador ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) e NV2 (Enhanced Nested Virtualization). Ampliadas as capacidades dos emuladores das placas Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx e virt.
  • No emulador da arquitetura RISC-V, foi adicionado o suporte às extensões do conjunto de instruções Zacas, amocas, RVA22, Zaamo, Zalrsc e Ztso. máquinas virtuais Para RISC-V, foi implementado o suporte ao SMBIOS. Para SRAT, SLIT, AIA e PLIC, foi adicionado suporte a ACPI. O suporte a tabelas RHCT foi atualizado.
  • No emulador da arquitetura HPPA até a versão 16, o firmware SeaBIOS-hppa foi atualizado. O tamanho máximo de memória foi aumentado de 3 GB para 3840 MB. Adicionado suporte para a opção ‘—nodefaults’.
  • No emulador da arquitetura LoongArch, foi implementado suporte a aceleração KVM e suporte às extensões vetoriais do conjunto de instruções LSX/LASX.
  • No emulador da arquitetura s390x, foi adicionado o suporte às instruções CVDG, CVB, CVBY e CVBG. A emulação de LAE (Load Address Extended) foi melhorada.
  • No emulador da arquitetura 68k, foi adicionado o dispositivo nubus-virtio-mmio, permitindo o acesso a dispositivos virtio de máquinas q800.
  • Implementada a compilação com a flag ‘-fzero-call-used-regs’, que protege contra vazamentos de informações de funções e reduz o número de blocos adequados para construir gadgets ROP (Return-Oriented Programming) em exploits. Também foi adicionada a compilação com a flag ‘-ftrivial-auto-var-init=zero’ para inicialização automática com valor zero de todas as variáveis armazenadas na pilha.
  • Para executar QEMU com KVM, agora é necessário ter pelo menos o kernel Linux 4.4. Para hosts ARM, essa exigência será elevada para a versão 4.19 no futuro. O suporte para o uso de Windows de 32 bits como sistemas operacionais host foi descontinuado.
  • Adicionado suporte ao OpenBSD 7.4.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster