Lanzamento do emulador QEMU 7.2

Preséntase a versión do proxecto QEMU 7.2. Como emulador, QEMU permítelle executar un programa construído para unha plataforma de hardware nun sistema cunha arquitectura completamente diferente, por exemplo, executar unha aplicación ARM nun PC compatible con x86. No modo de virtualización en QEMU, o rendemento da execución de código nun ambiente illado é próximo a un sistema de hardware debido á execución directa de instrucións na CPU e ao uso do hipervisor Xen ou módulo KVM.

O proxecto foi creado orixinalmente por Fabrice Bellard para permitir que os executables de Linux construídos para a plataforma x86 se executen en arquitecturas non x86. Ao longo dos anos de desenvolvemento, engadiuse soporte completo de emulación para 14 arquitecturas de hardware, o número de dispositivos de hardware emulados superou os 400. En preparación para a versión 7.2, fixéronse máis de 1800 cambios de 205 desenvolvedores.

Melloras clave engadidas en QEMU 7.2:

  • O emulador x86 do xerador de código TCG clásico engadiu soporte para instrucións AVX, AVX2, F16C, FMA3 e VAES, así como optimizacións de rendemento relacionadas co uso de instrucións SSE. Para KVM, engadiuse soporte para un mecanismo para rastrexar as saídas de máquinas virtuais ("notificar vmexit"), que permite evitar erros na CPU que poden provocar bloqueos.
  • O emulador ARM admite as extensións de procesador e CPU Cortex-A35 ETS (Sincronización de tradución mellorada), PMUv3p5 (Extensións PMU 3.5), GTG (Gránulo de tradución para convidados 4KB, 16KB, 64KB), HAFDBS (control de hardware da bandeira de acceso e estado "sucio"). e E0PD (evitando o acceso EL0 a mapas de enderezos particionados).
  • O emulador LoongArch engade soporte para fw_cfg DMA, memoria de conexión en quente e emulación de dispositivos TPM (Trusted Platform Module).
  • O emulador de arquitectura OpenRISC implementa a plataforma 'virt' para probar dispositivos e utilizalos en sistemas de integración continua. Implementouse o soporte para a execución multiproceso do xerador de código clásico TCG (Tiny Code Generator).
  • O emulador da arquitectura RISC-V nas máquinas emuladas "virt" ten a capacidade de cargar firmware desde pflash en modo S. Mellorouse o traballo coa árbore de dispositivos.
  • O emulador 390x ofrece soporte para MSA5 (Extensión de mensaxes-seguridade-axuda 5 coa instrución PRNO para xerar números pseudoaleatorios), instrucións KIMD/KLM (implementación de SHA-512) e interpretación zPCI estendida para sistemas convidados baseados no hipervisor KVM .
  • Os backends para traballar con memoria proporcionan unha asignación previa de memoria tendo en conta a arquitectura NUMA.
  • Reforzouse a comprobación de cabeceiras dos dispositivos de bloque cifrado LUKS e engadiuse a posibilidade de crear imaxes LUKS en macOS.
  • O backend 9pfs, que permite o uso do sistema de ficheiros de rede Plan 9 para acceder a unha máquina virtual a outra, pasou a usar o hash GHashTable na táboa de identificadores, o que nalgunhas situacións levou a un aumento de 6-12 veces no rendemento.
  • Engadíronse novos fluxos de backends de netdev e dgram.
  • Engadiuse o soporte de FreeBSD ao axente para hóspedes baseados en ARM.
  • As compilacións de GUI para macOS ofrecen a posibilidade de incluír interfaces baseadas en Cocoa e SDL/GTK nun ficheiro executable.
  • O submódulo incorporado "slirp" foi eliminado, no seu lugar recoméndase utilizar a biblioteca do sistema libslirp.
  • Debido á falta de capacidade de proba, a compatibilidade con sistemas host con procesadores MIPS de 32 bits que usan a orde de bytes de Big Endian quedou en desuso.

Fonte: opennet.ru

Engadir un comentario