QEMU

Software captura de pantalla:
QEMU
Detalles de software:
Versión: 2.12.0 Actualizado
Fecha de carga: 22 Jun 18
Promotor: Fabrice Bellard
Licencia: Libre
Popularidad: 51

Rating: nan/5 (Total Votes: 0)

QEMU es un software de virtualización de código abierto y muy rápido que se centra en la traducción dinámica para lograr un rendimiento razonable, al tiempo que es fácil de transferir a nuevas CPU (procesadores) de host.


Un potente emulador de máquina y virtualizador

También se lo conoce como un emulador de máquina, diseñado para emular un sistema completo, que incluye un procesador y sus periféricos. La parte de emulación admite sistemas operativos y programas creados para una sola plataforma de hardware, pero se ejecuta en la parte superior de una computadora diferente con una arquitectura diferente.

Por otro lado, cuando la aplicación se usa como un virtualizador, puede lograr rendimientos casi nativos ejecutando el código de invitado directamente en el procesador host. Admite el hipervisor Xen y el módulo kernel KVM (Kernel Virtual Machine).


Admite la virtualización de numerosas plataformas de hardware

Si se prefiere KVM, la aplicación podrá virtualizar máquinas x86 (32 bits), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL o 32 y SPARC. Puede emular los sistemas Windows XP, FreeDOS y SunOS, así como Virtio, concentradores raíz USB, redes, entrada, video y dispositivos de almacenamiento.

Después de VirtualBox y VMware, QEMU es el tercer software de virtualización más grande para plataformas Linux, pero el primero y más poderoso para el ecosistema de código abierto. Su característica clave es la capacidad de ejecutarse como una máquina virtual nativa en arquitecturas de 64 bits o 32 bits, o como un emulador puro.


Sistemas operativos compatibles

Es un software de línea de comandos y se ejecuta en sistemas operativos basados ​​en Linux, así como en Microsoft Windows y varios sabores de UNIX. Se proporciona un archivo de origen en la sección de descarga dedicada, que permite a los usuarios configurar, compilar e instalar el programa en cualquier distribución de Linux, así como en los sistemas OpenBSD, Solaris, AIX, MinGW y Cygwin.


Línea de fondo

Si desea probar el software, probar varios sistemas operativos o simplemente ejecutar aplicaciones que no son compatibles con su plataforma, QEMU proporciona a los usuarios una de las máquinas más rápidas de virtualización y emulación.

Qué hay nuevo en este lanzamiento:

  • Emulación del sistema:
  • Cambios incompatibles:
  • El número de puentes de host PCI permitidos para la máquina pSeries se redujo de 256 a 31 (se puede configurar más al configurar las ventanas de MMIO manualmente).
  • Se eliminó la compatibilidad con tftp: // en la capa de bloques, ya que se ha roto para siempre para archivos de más de 256 KB.
  • Cambios incompatibles futuros:
  • Tres opciones usan diferentes nombres en la línea de comando y en el archivo de configuración. En particular:
  • El & quot; acpi & quot; la sección del archivo de configuración coincide con la opción de línea de comando & quot; acpitable & quot ;;
  • El & quot; boot-opts & quot; la sección del archivo de configuración coincide con la opción de línea de comando & quot; boot & quot ;;
  • El & quot; smp-opts & quot; la sección del archivo de configuración coincide con la opción de línea de comando & quot; smp & quot;.
  • -readconfig estandarizará el nombre para la opción de línea de comando.
  • El comportamiento del cálculo automático de la topología SMP cuando se omiten algunas opciones de topología SMP para -smp (sockets, cores, hilos) en el futuro. Si el ABI de invitado necesita preservarse en las actualizaciones mientras usa las opciones de topología de SMP, los usuarios deben establecer las opciones explícitamente (sockets, cores, hilos) u omitir todas ellas.
  • Dispositivos & quot; allwinner-a10 & quot ;, & quot; pc87312 & quot ;, & quot; ssi-sd & quot; se configurará con propiedades explícitas en lugar de implícitamente. Es poco probable que esto afecte a los usuarios.
  • El comando QMP blockdev-add sigue siendo un trabajo en progreso. No es compatible con todos los controladores de bloque, carece de un blockdev-del correspondiente, y más. Podría cambiar de manera incompatible.
  • Para x86, especificando una función CPUID con & quot; + función / -feature & quot; y & quot; función = activar / desactivar & quot; causará una advertencia. El comportamiento actual de esta combinación (& quot; + función / -fecha & quot; gana sobre & quot; función = activado / desactivado & quot;) se modificará para que & quot; + función & quot; y & quot; -feature & quot; serán sinónimos de & quot; feature = on & quot; y & quot; feature = off & quot; respectivamente).
  • ARM:
  • Mejoras en el tablero de Aspeed.
  • Soporte para trampas de semihosting HLT en modo AArch32 (tanto ARM como Thumb).
  • Las tablas de ACPI para & quot; virt & quot; soporte de tipo de máquina ITS.
  • El dispositivo Cadence GEM ahora admite múltiples colas de prioridad a través de la propiedad num-priority-queues.
  • La placa STM32F2xx (Netduino 2) ahora incluye dispositivos ADC y SPI.
  • MIPS:
  • Soporte para CPU 24KEc.
  • PowerPC:
  • Soporte para CPU POWER9.
  • Mejoras para el nuevo & quot; powernv & quot; plataforma.
  • pSeries:
  • Puentes de host PCI pueden asociarse a nodos NUMA.
  • Soporte para más de 1 TiB de memoria de invitado.
  • Admite más de 64 GiB de ventana MMIO en un puente de host PCI.
  • Soporte para & quot; -prom-env & quot; parámetro
  • s390:
  • Soporte para modelos de CPU.
  • Soporte para virtio-ccw revisión 2.
  • x86:
  • Compatibilidad con varias características nuevas de CPUID relacionadas con las extensiones del conjunto de instrucciones AVX-512.
  • El IOAPIC emulado (utilizado por TCG y, con KVM, si la opción & quot; kernel_irqchip del kernel & quot; tiene el valor & quot; off & quot; o & quot; split & quot;) ahora está predeterminado en la versión 0 x 20, que admite el extremo dirigido de interrumpir mensajes.
  • Soporte para el modo de interrupción extendida (EIM) en el dispositivo intel_iommu. EIM requiere KVM (Linux v4.7 o posterior, para compatibilidad con x2APIC) y & quot; -machine kernel-irqchip = split & quot ;; se habilita automáticamente si la reasignación de interrupciones está habilitada (& quot; -machine kernel-irqchip = split -dispositivo intel_iommu, intremap = on & quot;).
  • Admite hasta 288 CPU con los tipos de máquina Q35. 256 o más CPU solo son compatibles si IOMMU y EIM están habilitados.
  • Xen:
  • Soporte para desconectar el disco SCSI.
  • Desenchufe el dispositivo compatible con SUSE xenlinux.
  • Emulación y asignación del dispositivo:
  • QEMU ahora incluye un pseudo-dispositivo de cargador genérico que le permite cargar múltiples imágenes o valores en la memoria al inicio. Este dispositivo está documentado en docs / generic-loader.txt.
  • ACPI:
  • Soporte para conexión en caliente de dispositivos NVDIMM (_FIT)
  • Dispositivos de red:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • PCI / PCIe:
  • El dispositivo EDU de muestra ahora es compatible con MSI.
  • Se ha agregado documentación de PCI Express Guidelines para obtener información sobre topología y PCI frente a PCIe.
  • virtio:
  • Nuevo dispositivo vhost-vsock.
  • Soporte inicial para el manejo elegante de los errores de los invitados (es decir, QEMU no debe salir de los errores de los invitados).
  • Soporte para el nuevo dispositivo virtio-crypto.
  • Xen:
  • Soporte para copia de concesión.
  • Subsistema criptográfico:
  • Soporte para más algoritmos hash para PBKDF.
  • Soporte para el modo CTR.
  • GUI:
  • SPICE puede usar el renderizado puro de OpenGL si & quot; gl = on & quot; está especificado.
  • Monitor:
  • Migración:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • Red:
  • Bloquear dispositivos y herramientas:
  • Más comandos QMP soportan nombre-nodo (bloqueo-flujo, bloqueo-confirmación, bloqueo-respaldo-copia, bloqueo-espejo-espejada, bloqueo-detección-instantánea-eliminación-sincronización-interna, bloqueo-detección-instantánea-sincronización-interna, cambio-respaldo-archivo , drive-backup, drive-mirror, nbd-server-add).
  • El evento BLOCK_IO_ERROR ahora incluye el nombre del nodo.
  • Más comandos QMP aceptan nombres de modelo de dispositivo (block_set_io_throttle, blockdev-change-medium, expulse, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • El evento DEVICE_TRAY_MOVED ahora incluye la identificación del dispositivo.
  • La aceleración ahora se aplica únicamente al dispositivo invitado y no a los trabajos ni al servidor NBD.
  • drive-backup y blockdev-backup soportan la escritura de copias de seguridad en formato comprimido.
  • El formato LUKS ahora puede configurar el recuento de iteraciones de PBKDF.
  • block-stream admite la transmisión desde un archivo de respaldo a otro archivo de respaldo.
  • Compatibilidad con la replicación para la tolerancia a errores de paso de bloqueo de grano grueso (COLO).
  • Nuevo & quot; dd & quot; subcomando de qemu-img.
  • El controlador DMG se puede compilar en un controlador separado, para hacer que la dependencia de QEMU en libbz2 sea opcional.
  • Soporte para iSER en el iniciador iSCSI de QEMU a través de un iser: // URI.
  • El cliente y el servidor NBD admiten la extensión NBD_CMD_WRITE_ZEROES.
  • Soporte de imágenes en bruto & quot; desplazamiento & quot; y & quot; tamaño & quot; opciones para acceder solo a una parte del archivo o dispositivo.
  • Rastreo:
  • Nuevo back-end de rastreo & quot; syslog & quot;.
  • Soporte para múltiples & quot; -d trace: PATTERN & quot; argumentos de línea de comandos.
  • Opciones de CLI:
  • Emulación en modo de usuario
  • Se eliminó la asistencia de destino
  • El objetivo unicore32-linux-user implementó una llamada al sistema diferente ABI desde la línea principal Linux para esta arquitectura. Se ha eliminado el soporte para este.
  • Nueva funcionalidad:
  • Se agregó soporte para más syscalls incluyendo preadv, pwritev, syslog.
  • Mejoras de escalabilidad importantes para programas de subprocesos múltiples (ARM, SPARC, x86).
  • QEMU ahora puede comprender y generar operaciones de valla y cmpxchg.
  • TCG:
  • Se han agregado nuevas primitivas TCG para modelar de forma segura las instrucciones de sincronización arquitectónica (por ejemplo, atómico, LL / SC, prefijos LOCK). los objetivos de brazo, aarch64, alfa y x86 ahora usan estas primitivas para programas de usuario de Linux de subprocesos múltiples. Se alienta a los mantenedores de objetivos de TCG a portar sus interfaces para utilizar las nuevas instalaciones.
  • Los backends TCG ahora emiten instrucciones de barrera apropiadas para las barreras frontend al ejecutar programas de subprocesos múltiples. Sin embargo, emular una arquitectura fuertemente ordenada (por ejemplo, x86) en una orden débilmente ordenada (por ejemplo, ARM o POWER) no funcionará aún.
  • tb_flush () finalmente es seguro para subprocesos, lo que significa que los programas multihilo son menos propensos a fallar cuando se restaura el buffer de traducción
  • la contención de bloqueo en el ciclo de ejecución principal de la CPU se ha reducido, lo que mejora el rendimiento del código de subprocesos múltiples
  • se identificaron y corrigieron varias razas
  • Una gran parte del trabajo de TCG se fusionó en este ciclo en el que los requisitos previos para admitir la emulación de sistema de subprocesos múltiples (MTTCG). Si bien se espera que la compatibilidad total con MTTCG se fusione en el próximo ciclo de desarrollo, los programas de usuarios de Linux con múltiples subprocesos ya se beneficiarán de este trabajo.

Qué hay de nuevo en la versión:

  • Emulación del sistema:
  • Cambios incompatibles:
  • El número de puentes de host PCI permitidos para la máquina pSeries se redujo de 256 a 31 (se puede configurar más al configurar las ventanas de MMIO manualmente).
  • Se eliminó la compatibilidad con tftp: // en la capa de bloques, ya que se ha roto para siempre para archivos de más de 256 KB.
  • Cambios incompatibles futuros:
  • Tres opciones usan diferentes nombres en la línea de comando y en el archivo de configuración. En particular:
  • La sección del archivo de configuración "acpi" coincide con la opción de línea de comando "acpitable";
  • La sección del archivo de configuración "boot-opts" coincide con la opción de línea de comando "boot";
  • La sección del archivo de configuración "smp-opts" coincide con la opción de línea de comando "smp".
  • -readconfig estandarizará el nombre para la opción de línea de comando.
  • El comportamiento del cálculo automático de la topología SMP cuando se omiten algunas opciones de topología SMP para -smp (sockets, cores, hilos) en el futuro. Si el ABI de invitado necesita preservarse en las actualizaciones mientras usa las opciones de topología de SMP, los usuarios deben establecer las opciones explícitamente (sockets, núcleos, hilos) u omitir todas ellas.
  • Los dispositivos "allwinner-a10", "pc87312", "ssi-sd" se configurarán con propiedades explícitas en lugar de implícitamente. Es poco probable que esto afecte a los usuarios.
  • El comando QMP blockdev-add sigue siendo un trabajo en progreso. No es compatible con todos los controladores de bloque, carece de un blockdev-del correspondiente, y más. Podría cambiar de manera incompatible.
  • Para x86, especificar una característica CPUID con "+ función / -feature" y "feature = on / off" causará una advertencia. El comportamiento actual de esta combinación ("+ función / -feature" gana con "feature = on / off") se cambiará de modo que "+ feature" y "-feature" serán sinónimos para "feature = on" y "feature" = apagado "respectivamente).
  • ARM:
  • Mejoras en el tablero de Aspeed.
  • Soporte para trampas de semihosting HLT en modo AArch32 (tanto ARM como Thumb).
  • Las tablas ACPI para el tipo de máquina "virt" son compatibles con ITS.
  • El dispositivo Cadence GEM ahora admite múltiples colas de prioridad a través de la propiedad num-priority-queues.
  • La placa STM32F2xx (Netduino 2) ahora incluye dispositivos ADC y SPI.
  • MIPS:
  • Soporte para CPU 24KEc.
  • PowerPC:
  • Soporte para CPU POWER9.
  • Mejoras para la nueva plataforma "powernv".
  • pSeries:
  • Puentes de host PCI pueden asociarse a nodos NUMA.
  • Soporte para más de 1 TiB de memoria de invitado.
  • Admite más de 64 GiB de ventana MMIO en un puente de host PCI.
  • Soporte para el parámetro "-prom-env"
  • s390:
  • Soporte para modelos de CPU.
  • Soporte para virtio-ccw revisión 2.
  • x86:
  • Compatibilidad con varias características nuevas de CPUID relacionadas con las extensiones del conjunto de instrucciones AVX-512.
  • El IOAPIC emulado (utilizado por TCG y, con KVM, si la opción "-machine kernel_irqchip" tiene el valor "off" o "split") ahora tiene por defecto la versión 0x20, que admite mensajes dirigidos al final de la interrupción.
  • Soporte para el modo de interrupción extendida (EIM) en el dispositivo intel_iommu. EIM requiere KVM (Linux v4.7 o posterior, para soporte x2APIC) y "-machine kernel-irqchip = split"; se habilita automáticamente si la reasignación de interrupciones está habilitada ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Admite hasta 288 CPU con los tipos de máquina Q35. 256 o más CPU solo son compatibles si IOMMU y EIM están habilitados.
  • Xen:
  • Soporte para desconectar el disco SCSI.
  • Desenchufe el dispositivo compatible con SUSE xenlinux.
  • Emulación y asignación del dispositivo:
  • QEMU ahora incluye un pseudo-dispositivo de cargador genérico que le permite cargar múltiples imágenes o valores en la memoria al inicio. Este dispositivo está documentado en docs / generic-loader.txt.
  • ACPI:
  • Soporte para conexión en caliente de dispositivos NVDIMM (_FIT)
  • Dispositivos de red:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • PCI / PCIe:
  • El dispositivo EDU de muestra ahora es compatible con MSI.
  • Se ha agregado documentación de PCI Express Guidelines para obtener información sobre topología y PCI frente a PCIe.
  • virtio:
  • Nuevo dispositivo vhost-vsock.
  • Soporte inicial para el manejo elegante de los errores de los invitados (es decir, QEMU no debe salir de los errores de los invitados).
  • Soporte para el nuevo dispositivo virtio-crypto.
  • Xen:
  • Soporte para copia de concesión.
  • Subsistema criptográfico:
  • Soporte para más algoritmos hash para PBKDF.
  • Soporte para el modo CTR.
  • GUI:
  • SPICE puede usar un renderizado OpenGL puro si se especifica "gl = on".
  • Monitor:
  • Migración:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • Red:
  • Bloquear dispositivos y herramientas:
  • Más comandos QMP soportan nombre-nodo (bloqueo-flujo, bloqueo-confirmación, bloqueo-respaldo-copia, bloqueo-espejo-espejada, bloqueo-detección-instantánea-eliminación-sincronización-interna, bloqueo-detección-instantánea-sincronización-interna, cambio-respaldo-archivo , drive-backup, drive-mirror, nbd-server-add).
  • El evento BLOCK_IO_ERROR ahora incluye el nombre del nodo.
  • Más comandos QMP aceptan nombres de modelo de dispositivo (block_set_io_throttle, blockdev-change-medium, expulse, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • El evento DEVICE_TRAY_MOVED ahora incluye la identificación del dispositivo.
  • La aceleración ahora se aplica únicamente al dispositivo invitado y no a los trabajos ni al servidor NBD.
  • drive-backup y blockdev-backup soportan la escritura de copias de seguridad en formato comprimido.
  • El formato LUKS ahora puede configurar el recuento de iteraciones de PBKDF.
  • block-stream admite la transmisión desde un archivo de respaldo a otro archivo de respaldo.
  • Compatibilidad con la replicación para la tolerancia a errores de paso de bloqueo de grano grueso (COLO).
  • Nuevo subcomando de "dd" de qemu-img.
  • El controlador DMG se puede compilar en un controlador separado, para hacer que la dependencia de QEMU en libbz2 sea opcional.
  • Soporte para iSER en el iniciador iSCSI de QEMU a través de un iser: // URI.
  • El cliente y el servidor NBD admiten la extensión NBD_CMD_WRITE_ZEROES.
  • Las imágenes en bruto admiten las opciones de "desplazamiento" y "tamaño" para acceder solo a una parte del archivo o dispositivo.
  • Rastreo:
  • Nuevo back-end de rastreo "syslog".
  • Soporte para múltiples argumentos de línea de comandos "-d trace: PATTERN".
  • Opciones de CLI:
  • Emulación en modo de usuario
  • Se eliminó la asistencia de destino
  • El objetivo unicore32-linux-user implementó una llamada al sistema diferente ABI desde la línea principal Linux para esta arquitectura. Se ha eliminado el soporte para este.
  • Nueva funcionalidad:
  • Se agregó soporte para más syscalls incluyendo preadv, pwritev, syslog.
  • Mejoras de escalabilidad importantes para programas de subprocesos múltiples (ARM, SPARC, x86).
  • QEMU ahora puede comprender y generar operaciones de valla y cmpxchg.
  • TCG:
  • Se han agregado nuevas primitivas TCG para modelar de forma segura las instrucciones de sincronización arquitectónica (por ejemplo, atómico, LL / SC, prefijos LOCK). los objetivos de brazo, aarch64, alfa y x86 ahora usan estas primitivas para programas de usuario de Linux de subprocesos múltiples. Se alienta a los mantenedores de objetivos de TCG a portar sus interfaces para utilizar las nuevas instalaciones.
  • Los backends TCG ahora emiten instrucciones de barrera apropiadas para las barreras frontend al ejecutar programas de subprocesos múltiples. Sin embargo, emular una arquitectura fuertemente ordenada (por ejemplo, x86) en una orden débilmente ordenada (por ejemplo, ARM o POWER) no funcionará aún.
  • tb_flush () finalmente es seguro para subprocesos, lo que significa que los programas multihilo son menos propensos a fallar cuando se restaura el buffer de traducción
  • la contención de bloqueo en el ciclo de ejecución principal de la CPU se ha reducido, lo que mejora el rendimiento del código de subprocesos múltiples
  • se identificaron y corrigieron varias razas
  • Una gran parte del trabajo de TCG se fusionó en este ciclo en el que los requisitos previos para admitir la emulación de sistema de subprocesos múltiples (MTTCG). Si bien se espera que la compatibilidad total con MTTCG se fusione en el próximo ciclo de desarrollo, los programas de usuarios de Linux con múltiples subprocesos ya se beneficiarán de este trabajo.

Qué hay de nuevo en la versión 2.9.0:

  • Emulación del sistema:
  • Cambios incompatibles:
  • El número de puentes de host PCI permitidos para la máquina pSeries se redujo de 256 a 31 (se puede configurar más al configurar las ventanas de MMIO manualmente).
  • Se eliminó la compatibilidad con tftp: // en la capa de bloques, ya que se ha roto para siempre para archivos de más de 256 KB.
  • Cambios incompatibles futuros:
  • Tres opciones usan diferentes nombres en la línea de comando y en el archivo de configuración. En particular:
  • La sección del archivo de configuración "acpi" coincide con la opción de línea de comando "acpitable";
  • La sección del archivo de configuración "boot-opts" coincide con la opción de línea de comando "boot";
  • La sección del archivo de configuración "smp-opts" coincide con la opción de línea de comando "smp".
  • -readconfig estandarizará el nombre para la opción de línea de comando.
  • El comportamiento del cálculo automático de la topología SMP cuando se omiten algunas opciones de topología SMP para -smp (sockets, cores, hilos) en el futuro. Si el ABI de invitado necesita preservarse en las actualizaciones mientras usa las opciones de topología de SMP, los usuarios deben establecer las opciones explícitamente (sockets, núcleos, hilos) u omitir todas ellas.
  • Los dispositivos "allwinner-a10", "pc87312", "ssi-sd" se configurarán con propiedades explícitas en lugar de implícitamente. Es poco probable que esto afecte a los usuarios.
  • El comando QMP blockdev-add sigue siendo un trabajo en progreso. No es compatible con todos los controladores de bloque, carece de un blockdev-del correspondiente, y más. Podría cambiar de manera incompatible.
  • Para x86, especificar una característica CPUID con "+ función / -feature" y "feature = on / off" causará una advertencia. El comportamiento actual de esta combinación ("+ función / -feature" gana con "feature = on / off") se cambiará de modo que "+ feature" y "-feature" serán sinónimos para "feature = on" y "feature" = apagado "respectivamente).
  • ARM:
  • Mejoras en el tablero de Aspeed.
  • Soporte para trampas de semihosting HLT en modo AArch32 (tanto ARM como Thumb).
  • Las tablas ACPI para el tipo de máquina "virt" son compatibles con ITS.
  • El dispositivo Cadence GEM ahora admite múltiples colas de prioridad a través de la propiedad num-priority-queues.
  • La placa STM32F2xx (Netduino 2) ahora incluye dispositivos ADC y SPI.
  • MIPS:
  • Soporte para CPU 24KEc.
  • PowerPC:
  • Soporte para CPU POWER9.
  • Mejoras para la nueva plataforma "powernv".
  • pSeries:
  • Puentes de host PCI pueden asociarse a nodos NUMA.
  • Soporte para más de 1 TiB de memoria de invitado.
  • Admite más de 64 GiB de ventana MMIO en un puente de host PCI.
  • Soporte para el parámetro "-prom-env"
  • s390:
  • Soporte para modelos de CPU.
  • Soporte para virtio-ccw revisión 2.
  • x86:
  • Compatibilidad con varias características nuevas de CPUID relacionadas con las extensiones del conjunto de instrucciones AVX-512.
  • El IOAPIC emulado (utilizado por TCG y, con KVM, si la opción "-machine kernel_irqchip" tiene el valor "off" o "split") ahora tiene por defecto la versión 0x20, que admite mensajes dirigidos al final de la interrupción.
  • Soporte para el modo de interrupción extendida (EIM) en el dispositivo intel_iommu. EIM requiere KVM (Linux v4.7 o posterior, para soporte x2APIC) y "-machine kernel-irqchip = split"; se habilita automáticamente si la reasignación de interrupciones está habilitada ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Admite hasta 288 CPU con los tipos de máquina Q35. 256 o más CPU solo son compatibles si IOMMU y EIM están habilitados.
  • Xen:
  • Soporte para desconectar el disco SCSI.
  • Desenchufe el dispositivo compatible con SUSE xenlinux.
  • Emulación y asignación del dispositivo:
  • QEMU ahora incluye un pseudo-dispositivo de cargador genérico que le permite cargar múltiples imágenes o valores en la memoria al inicio. Este dispositivo está documentado en docs / generic-loader.txt.
  • ACPI:
  • Soporte para conexión en caliente de dispositivos NVDIMM (_FIT)
  • Dispositivos de red:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • PCI / PCIe:
  • El dispositivo EDU de muestra ahora es compatible con MSI.
  • Se ha agregado documentación de PCI Express Guidelines para obtener información sobre topología y PCI frente a PCIe.
  • virtio:
  • Nuevo dispositivo vhost-vsock.
  • Soporte inicial para el manejo elegante de los errores de los invitados (es decir, QEMU no debe salir de los errores de los invitados).
  • Soporte para el nuevo dispositivo virtio-crypto.
  • Xen:
  • Soporte para copia de concesión.
  • Subsistema criptográfico:
  • Soporte para más algoritmos hash para PBKDF.
  • Soporte para el modo CTR.
  • GUI:
  • SPICE puede usar un renderizado OpenGL puro si se especifica "gl = on".
  • Monitor:
  • Migración:
  • Compatibilidad con la tolerancia a fallas basada en pasos de bloqueo de grano grueso (COLO).
  • Red:
  • Bloquear dispositivos y herramientas:
  • Más comandos QMP soportan nombre-nodo (bloqueo-flujo, bloqueo-confirmación, bloqueo-respaldo-copia, bloqueo-espejo-espejada, bloqueo-detección-instantánea-eliminación-sincronización-interna, bloqueo-detección-instantánea-sincronización-interna, cambio-respaldo-archivo , drive-backup, drive-mirror, nbd-server-add).
  • El evento BLOCK_IO_ERROR ahora incluye el nombre del nodo.
  • Más comandos QMP aceptan nombres de modelo de dispositivo (block_set_io_throttle, blockdev-change-medium, expulse, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • El evento DEVICE_TRAY_MOVED ahora incluye la identificación del dispositivo.
  • La aceleración ahora se aplica únicamente al dispositivo invitado y no a los trabajos ni al servidor NBD.
  • drive-backup y blockdev-backup soportan la escritura de copias de seguridad en formato comprimido.
  • El formato LUKS ahora puede configurar el recuento de iteraciones de PBKDF.
  • block-stream admite la transmisión desde un archivo de respaldo a otro archivo de respaldo.
  • Compatibilidad con la replicación para la tolerancia a errores de paso de bloqueo de grano grueso (COLO).
  • Nuevo subcomando de "dd" de qemu-img.
  • El controlador DMG se puede compilar en un controlador separado, para hacer que la dependencia de QEMU en libbz2 sea opcional.
  • Soporte para iSER en el iniciador iSCSI de QEMU a través de un iser: // URI.
  • El cliente y el servidor NBD admiten la extensión NBD_CMD_WRITE_ZEROES.
  • Las imágenes en bruto admiten las opciones de "desplazamiento" y "tamaño" para acceder solo a una parte del archivo o dispositivo.
  • Rastreo:
  • Nuevo back-end de rastreo "syslog".
  • Soporte para múltiples argumentos de línea de comandos "-d trace: PATTERN".
  • Opciones de CLI:
  • Emulación en modo de usuario
  • Se eliminó la asistencia de destino
  • El objetivo unicore32-linux-user implementó una llamada al sistema diferente ABI desde la línea principal Linux para esta arquitectura. Se ha eliminado el soporte para este.
  • Nueva funcionalidad:
  • Se agregó soporte para más syscalls incluyendo preadv, pwritev, syslog.
  • Mejoras de escalabilidad importantes para programas de subprocesos múltiples (ARM, SPARC, x86).
  • QEMU ahora puede comprender y generar operaciones de valla y cmpxchg.
  • TCG:
  • Se han agregado nuevas primitivas TCG para modelar de forma segura las instrucciones de sincronización arquitectónica (por ejemplo, atómico, LL / SC, prefijos LOCK). los objetivos de brazo, aarch64, alfa y x86 ahora usan estas primitivas para programas de usuario de Linux de subprocesos múltiples. Se alienta a los mantenedores de objetivos de TCG a portar sus interfaces para utilizar las nuevas instalaciones.
  • Los backends de TCG ahora emiten instrucciones de barrera apropiadas para barreras de frontend cuando se ejecutan programas de subprocesos múltiples. Sin embargo, emular una arquitectura fuertemente ordenada (por ejemplo, x86) en una orden débilmente ordenada (por ejemplo, ARM o POWER) no funcionará aún.
  • tb_flush () finalmente es seguro para subprocesos, lo que significa que los programas multihilo son menos propensos a fallar cuando se restaura el buffer de traducción
  • la contención de bloqueo en el ciclo de ejecución principal de la CPU se ha reducido, lo que mejora el rendimiento del código de subprocesos múltiples
  • se identificaron y corrigieron varias razas
  • Una gran parte del trabajo de TCG se fusionó en este ciclo en el que los requisitos previos para admitir la emulación de sistema de subprocesos múltiples (MTTCG). Si bien se espera que la compatibilidad total con MTTCG se fusione en el próximo ciclo de desarrollo, los programas de usuarios de Linux con múltiples subprocesos ya se beneficiarán de este trabajo.

Otro software de desarrollador Fabrice Bellard

KQEMU
KQEMU

2 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

Comentarios a la QEMU

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!