El Quick Emulator ( QEMU ) [ 3 ] es un emulador y virtualizador de máquinas virtuales gratuito y de código abierto . Como monitor de máquinas virtuales (VMM), admite varios hipervisores , incluyendo la máquina virtual basada en kernel (KVM) de Linux , Xen , HVF de macOS, Hyper-V de Windows y otros. [ 4 ] También es capaz de emular diversas arquitecturas de conjuntos de instrucciones en cualquier host compatible mediante su traductor binario JIT, conocido como Tiny Code Generator (TCG). Esto le permite emular sistemas completos o ejecutar programas individuales compilados para una arquitectura de procesador en cualquier otra. QEMU admite la emulación de x86 , ARM , PowerPC , RISC-V y muchas otras. [ 5 ]
Licencias
QEMU es software libre desarrollado originalmente por Fabrice Bellard ; la primera versión preliminar se publicó en 2003. [ 6 ] Los diferentes componentes de QEMU están licenciados bajo la Licencia Pública General de GNU (GPL), la licencia BSD , la Licencia Pública General Reducida de GNU (LGPL) u otras licencias compatibles con GPL. [ 7 ]
Modos de funcionamiento
QEMU tiene múltiples modos de funcionamiento: [ 8 ]
- Emulación en modo usuario. En este modo, QEMU ejecuta programas individuales de Linux o Darwin / macOS compilados para un conjunto de instrucciones diferente . Las llamadas al sistema se procesan para detectar el orden de bytes y las discrepancias entre 32 y 64 bits. La compilación y depuración cruzadas rápidas son los principales objetivos de la emulación en modo usuario.
- Emulación de sistema. En el modo de emulación de sistema, QEMU emula un sistema informático completo, incluidos los periféricos . Puede utilizarse para proporcionar alojamiento virtual de varios ordenadores virtuales en un único ordenador. QEMU puede arrancar muchos sistemas operativos invitados , incluidos Linux , Solaris , Microsoft Windows , DOS y BSD ; [ 9 ] admite la emulación de varios conjuntos de instrucciones, incluidos x86 , x86-64 , MIPS , ARMv7 , ARMv8 , PowerPC , RISC-V , SPARC , ETRAX CRIS y MicroBlaze .
- Compatibilidad con hipervisores. En el modo de compatibilidad con hipervisores, QEMU actúa como gestor de máquinas virtuales (VMM) o como backend de emulación de dispositivos para máquinas virtuales que se ejecutan bajo un hipervisor . El más común es KVM de Linux , pero el proyecto admite varios hipervisores, incluidos Xen , HVF de Apple, WHPX de Windows y NVMM de NetBSD. [ 10 ]
Características
QEMU admite la emulación de diversas arquitecturas, incluyendo x86 , MIPS64 (hasta Release 6), [ 11 ] SPARC (sun4m y sun4u), ARM (Integrator/CP y Versatile/PB), SuperH , PowerPC ( PReP y Power Macintosh ), ETRAX CRIS , MicroBlaze y RISC-V . Permite guardar el estado de la máquina virtual mientras todos los programas se están ejecutando. Los sistemas operativos invitados no necesitan parches para ejecutarse dentro de QEMU.
La máquina virtual puede interactuar con diversos tipos de hardware físico del host, incluyendo discos duros, unidades de CD-ROM , tarjetas de red , interfaces de audio y dispositivos USB del usuario . Los dispositivos USB pueden emularse por completo o utilizarse los del host, aunque esto último requiere privilegios de administrador y no funciona con algunos dispositivos.
Las imágenes de disco virtual se pueden almacenar en formato QCOW , lo que reduce significativamente su tamaño. Las imágenes QCOW solo ocupan el espacio de disco realmente utilizado, no la capacidad total configurada. Esto significa que un disco configurado de 120 GB puede ocupar solo unos cientos de megabytes en el host, ya que QCOW no almacena el espacio de disco no utilizado en el archivo de imagen.
El formato QCOW2 también permite la creación de imágenes superpuestas, que son archivos que almacenan únicamente los cambios realizados a partir de un archivo de imagen base original (sin modificar). Esto permite revertir el contenido del disco emulado a un estado anterior. Por ejemplo, una imagen base podría contener una instalación nueva de un sistema operativo que funcione correctamente, y las imágenes superpuestas se pueden usar para registrar los cambios. Si el sistema invitado se vuelve inutilizable (debido a un ataque de virus, destrucción accidental del sistema, etc.), el usuario puede eliminar la superposición y usar una imagen de disco emulada anterior. [ 12 ]
QEMU puede emular tarjetas de red (de distintos modelos) que comparten la conectividad del sistema anfitrión mediante la traducción de direcciones de red, lo que permite al sistema invitado utilizar la misma red que el anfitrión. Las tarjetas de red virtuales también pueden conectarse a tarjetas de red de otras instancias de QEMU o a interfaces TAP locales . La conectividad de red también puede lograrse mediante la interconexión de una interfaz TUN/TAP utilizada por QEMU con una interfaz Ethernet no virtual del sistema operativo anfitrión, utilizando las funciones de interconexión de dicho sistema operativo.
QEMU integra varios servicios para permitir la comunicación entre el sistema anfitrión y el invitado; por ejemplo: un servidor SMB integrado y redirección de puertos de red (para permitir conexiones entrantes a la máquina virtual). También puede arrancar núcleos Linux sin un gestor de arranque .
QEMU no depende de la presencia de métodos de salida gráfica en el sistema anfitrión. En su lugar, proporciona acceso a la pantalla del sistema operativo invitado mediante un servidor VNC integrado . También puede utilizar una línea serie emulada sin pantalla, con los sistemas operativos compatibles.
Es posible simular múltiples CPU ejecutando SMP .
QEMU no requiere derechos de administrador para ejecutarse, a menos que se utilicen módulos del kernel adicionales para mejorar la velocidad (como KQEMU ) o se empleen ciertos modos de su modelo de conectividad de red.
Generador de código pequeño
Desde la versión 0.10.0 de QEMU, el Tiny Code Generator (TCG) reemplazó al sistema DynGen anterior , que dependía de GCC 3.x para funcionar. [ 13 ] [ 14 ]
A medida que QEMU se ejecuta, los bloques básicos del código objetivo se traducen a una representación intermedia independiente de la máquina conocida como operaciones TCG [ 15 ] . Estas operaciones pasan luego por una simple optimización antes de ser enviadas al backend, que generará el código objetivo para la arquitectura del host. TCG requiere código específico para cada arquitectura en la que se ejecuta, de modo que el JIT sepa a qué traducir las operaciones TCG . Si no hay código JIT específico disponible para la arquitectura, TCG recurre a un modo de intérprete lento llamado Intérprete TCG (TCI).
Acelerador
KQEMU era un módulo del kernel de Linux , también escrito por Fabrice Bellard , que aceleraba notablemente la emulación de invitados x86 o x86-64 en plataformas con la misma arquitectura de CPU. Esto funcionaba ejecutando código en modo usuario (y opcionalmente algo de código del kernel) directamente en la CPU del ordenador anfitrión, y utilizando la emulación de procesador y periféricos solo para el código en modo kernel y en modo real . KQEMU podía ejecutar código de muchos sistemas operativos invitados incluso si la CPU del anfitrión no admitía la virtualización asistida por hardware . KQEMU era inicialmente un producto de código cerrado disponible gratuitamente, pero a partir de la versión 1.3.0pre10 (febrero de 2007), [ 16 ] se relicenciaba bajo la Licencia Pública General de GNU . Las versiones de QEMU a partir de la 0.12.0 ( a partir de agosto de 2009 ) admiten una gran cantidad de memoria, lo que los hace incompatibles con KQEMU. [ 17 ] Las versiones más recientes de QEMU han eliminado por completo la compatibilidad con KQEMU.
QVM86 era un reemplazo directo, con licencia GNU GPLv2, para el entonces software de código cerrado KQEMU. Los desarrolladores de QVM86 cesaron su desarrollo en enero de 2007.
La máquina virtual basada en el kernel ( KVM ) se ha convertido en la solución de virtualización asistida por hardware basada en Linux para su uso con QEMU tras la falta de soporte para KQEMU y QVM86. QEMU también puede usar KVM en otras arquitecturas como ARM y MIPS . [ 18 ]
El gestor de ejecución acelerada por hardware de Intel ( HAXM ) es una alternativa de código abierto [ 19 ] a KVM para la virtualización asistida por hardware basada en x86 en NetBSD, Linux, Windows y macOS utilizando Intel VT . A partir de 2013Intel solicita principalmente su uso con QEMU para el desarrollo de Android. [ 20 ] A partir de la versión 2.9.0, el QEMU oficial incluye soporte para HAXM, bajo el nombre Hax . [ 21 ]
QEMU también admite los siguientes aceleradores: [ 21 ]
- hvf , de Apple,
Hypervisor.frameworkbasado en Intel VT. - whpx , la plataforma de hipervisor de Windows de Microsoft basada en Intel VT o AMD-V.
- tcg , el generador de código pequeño propio de QEMU . Este es el predeterminado.
Formatos de imagen de disco compatibles
QEMU admite varios formatos de imagen de disco . [ 22 ]
- Imágenes sin procesar (
.img) la imagen más simple que contiene el contenido sector por sector de un disco - QCOW2 (
.qcow2) - formato nativo de QEMU que admite varias características como instantáneas, compresión y cifrado. - Imagen de disco virtual de VirtualBox (
.vdi) - Disco de máquina virtual VMware (
.vmdk) - PC virtual Disco duro virtual (
.vhd, .vhdx)
Es capaz de ofrecer acceso de solo lectura con varios otros formatos, entre ellos:
- Bochs - formato nativo del emulador Bochs
- Linux cloop - Imagen de bucle comprimido de Linux
- Formato de imagen de disco universal de macOS (
.dmg) - Imagen de disco de Parallels
.hdd( ,.hds) - Imágenes de CD/DVD (
.iso) que contienen el contenido sector por sector de un disco óptico (por ejemplo, sistemas operativos de arranque en vivo) [ 23 ]
QEMU también puede acceder directamente a los dispositivos y particiones del host, lo que le permite trabajar con otras tecnologías de almacenamiento como iSCSI , LVM , LUKS , NBD , NVMe y ZFS .
También permite exportar un sistema de archivos a un dispositivo VFAT virtual.
Modelo de objetos QEMU
El modelo de objetos QEMU (QOM) proporciona un marco para registrar tipos que los usuarios pueden crear e instanciar objetos a partir de esos tipos. [ 24 ]
QOM ofrece las siguientes características:
- Sistema para el registro dinámico de tipos
- Compatibilidad con la herencia simple de tipos
- Herencias múltiples de interfaces sin estado
Emulación paralela
Las soluciones de virtualización que utilizan QEMU pueden ejecutar múltiples CPU virtuales en paralelo. Para la emulación en modo usuario, QEMU asigna los hilos emulados a los hilos del host. QEMU puede ejecutar un hilo del host para cada CPU virtual emulada (vCPU) para una emulación completa del sistema. Esto depende de que el sistema invitado esté actualizado para admitir la emulación de sistemas en paralelo, actualmente ARM, Alpha, HP-PA, PowerPC, RISC-V, s390x, x86 y Xtensa. De lo contrario, se utiliza un único hilo para emular todas las CPU virtuales (vCPU), que ejecuta cada vCPU de forma rotativa.
Integración
VirtualBox
VirtualBox , lanzado por primera vez en enero de 2007, utilizaba algunos de los dispositivos de hardware virtual de QEMU y tenía un recompilador dinámico integrado basado en QEMU. Al igual que con KQEMU, VirtualBox ejecuta casi todo el código invitado de forma nativa en el host a través del VMM (Virtual Machine Manager) y utiliza el recompilador solo como mecanismo de reserva, por ejemplo, cuando el código invitado se ejecuta en modo real . [ 25 ] Además, VirtualBox realizaba un gran análisis y parcheo de código utilizando un desensamblador integrado para minimizar la recompilación. VirtualBox es gratuito y de código abierto (disponible bajo GPL ), excepto por ciertas características.
Xen-HVM
Xen , un monitor de máquinas virtuales, puede ejecutarse en modo HVM (máquina virtual de hardware), utilizando las extensiones de virtualización de hardware x86 Intel VT-x o AMD-V y las extensiones de virtualización ARM Cortex-A7 y Cortex-A15 . [ 26 ] Esto significa que, en lugar de dispositivos paravirtualizados, se expone un conjunto real de hardware virtual a la DomU, lo que le permite utilizar controladores de dispositivos reales.
QEMU incluye varios componentes: emuladores de CPU, dispositivos emulados, dispositivos genéricos, descripciones de máquinas, interfaz de usuario y un depurador. Los dispositivos emulados y genéricos en QEMU conforman sus modelos de dispositivos para la virtualización de E/S. [ 27 ] Comprenden un IDE PIIX3 (con algunas capacidades PIIX4 rudimentarias), vídeo emulado Cirrus Logic o VGA simple, emulación de red RTL8139 o E1000 y soporte ACPI. [ 28 ] El soporte APIC lo proporciona Xen.
Xen-HVM utiliza la emulación de dispositivos basada en el proyecto QEMU para proporcionar virtualización de E/S a las máquinas virtuales (VM). El hardware se emula mediante un demonio de "modelo de dispositivo" de QEMU que se ejecuta como backend en Dom0. A diferencia de otros modos de QEMU, como la traducción dinámica o KVM, el hipervisor gestiona completamente las CPU virtuales, pausándolas cuando sea necesario mientras QEMU se encarga de la emulación de E/S mapeada en memoria.
KVM
KVM (Kernel-based Virtual Machine) es un módulo del kernel de FreeBSD y Linux que permite a un programa del espacio de usuario acceder a las funciones de virtualización de hardware de varios procesadores, con lo que QEMU puede ofrecer virtualización para máquinas virtuales x86, PowerPC y S/390. Cuando la arquitectura de destino es la misma que la del host, QEMU puede utilizar funciones específicas de KVM, como la aceleración. [ 29 ]
Win4Lin Pro Escritorio
A principios de 2005, Win4Lin presentó Win4Lin Pro Desktop, basado en una versión optimizada de QEMU y KQEMU, que aloja versiones NT de Windows. En junio de 2006, [ 30 ] Win4Lin lanzó Win4Lin Virtual Desktop Server, basado en el mismo código fuente. Win4Lin Virtual Desktop Server ofrece sesiones de Microsoft Windows a clientes ligeros desde un servidor Linux.
En septiembre de 2006, Win4Lin anunció un cambio de nombre de la empresa a Virtual Bridges con el lanzamiento de Win4BSD Pro Desktop, una adaptación del producto a FreeBSD y PC-BSD. El soporte para Solaris llegó en mayo de 2007 con el lanzamiento de Win4Solaris Pro Desktop y Win4Solaris Virtual Desktop Server. [ 31 ]
SerialICE
SerialICE es una herramienta de depuración de firmware basada en QEMU que ejecuta el firmware del sistema dentro de QEMU mientras accede al hardware real a través de una conexión serial a un sistema host. Esto puede usarse como un reemplazo económico para los emuladores de hardware en circuito (ICE). [ 32 ]
WinUAE
WinUAE introdujo soporte para las placas CyberStorm PPC y Blizzard 603e utilizando el núcleo QEMU PPC en la versión 3.0.0. [ 33 ]
Unicornio
Unicorn es un marco de emulación de CPU basado en el emulador de CPU "TCG" de QEMU. A diferencia de QEMU, Unicorn se centra únicamente en la CPU : no proporciona emulación de periféricos y el código binario sin procesar (fuera del contexto de un archivo ejecutable o una imagen del sistema) se puede ejecutar directamente. Unicorn es seguro para subprocesos y cuenta con múltiples enlaces e interfaces de instrumentación. [ 34 ]
Emulador de PC Limbo x86
Limbo es una máquina virtual basada en QEMU para Android, compatible con arquitecturas x86 y ARM64 . [ 35 ] Es uno de los pocos programas de máquinas virtuales disponibles para Android capaces de emular Microsoft Windows, [ 36 ] aunque fue diseñado para emular Linux y DOS. A diferencia de otros emuladores basados en QEMU, no requiere que los usuarios escriban comandos para su uso, sino que cuenta con una interfaz de usuario para configurar los ajustes de la máquina virtual.
Es más popular en países en desarrollo de Asia como India, Malasia y Tailandia en YouTube debido al alto uso del sistema operativo Android. [ 37 ] Limbo fue eliminado de Google Play Store por razones desconocidas entre febrero de 2019 y diciembre de 2020, aunque todavía se puede instalar desde el sitio web del desarrollador con una instalación de APK (paquete de Android). [ 38 ] Limbo tiende a tener problemas con respecto a su calidad de audio y reproducción. No se han encontrado soluciones para estos problemas hasta 2024. [ 39 ] En general, Limbo es menos conocido que otros programas de máquinas virtuales, lo que resulta en menos información disponible sobre su solución de problemas.
Es necesario instalar una aplicación conocida como "Hacker's Keyboard" para usar muchas funciones de teclado que un teclado Android básico no puede realizar en Limbo x86, como las teclas Ctrl, Alt, Supr y las teclas de función. [ 40 ] Se recomienda instalar Hacker's Keyboard con un archivo APK, ya que la versión de Google Play indica que no funciona con versiones más recientes de Android. [ 41 ]
Plataformas de hardware emuladas
x86
QEMU puede emular las arquitecturas i386 y x86_64 . Además de la unidad central de procesamiento (CPU) (que también es configurable y puede emular varios modelos de CPU de Intel, incluidos, a fecha de 3 de marzo de 2018, Sandy Bridge , [ 42 ] Ivy Bridge , [ 43 ] Haswell , [ 44 ] Broadwell [ 45 ] [ 46 ] y Skylake [ 44 ] ), se emulan los siguientes dispositivos:
- Unidad de CD / DVD-ROM que utiliza una imagen ISO
- Unidad de disquete
- Controlador ATA o controlador Serial ATA AHCI
- Tarjeta gráfica : Cirrus CLGD 5446 PCI VGA , tarjeta gráfica VGA estándar con Bochs- VBE , Red Hat QXL VGA
- Tarjeta de red : Realtek 8139C+ PCI, NE2000 PCI, NE2000 ISA, PCnet , E1000 (PCI Intel Gigabit Ethernet) y E1000E (PCIe Intel Gigabit Ethernet) [ 47 ] [ 48 ]
- Interfaz de disco NVMe
- Puerto serie
- Puerto paralelo
- Altavoz de PC
- Chipsets i440FX/PIIX3 o Q35/ICH9
- Ratón y teclado PS/2
- Controlador SCSI : LSI MegaRAID SAS 1078, LSI53C895A, NCR53C9x, como los que se encuentran en los controladores AMD PCscsi y Tekram DC-390.
- Tarjeta de sonido : Sound Blaster 16 , AudioPCI ES1370 , ICH AC'97 , Gravis Ultrasound e Intel HD Audio [ 49 ]
- Temporizador de vigilancia (Intel 6300 ESB PCI o iB700 ISA)
- Controladores USB 1.x/2.x/3.x ( UHCI , EHCI , xHCI )
- Dispositivos USB: Audio, adaptador Bluetooth, HID (teclado/ratón/tableta), MTP , interfaz serie, lector de tarjetas inteligentes CAC , almacenamiento ( transferencia masiva y SCSI conectado por USB ), tableta Wacom
- Dispositivos VirtIO paravirtualizados: dispositivo de bloques, tarjeta de red, controlador SCSI, dispositivo de vídeo, interfaz serie, controlador balloon , controlador de sistema de archivos 9pfs
- Dispositivos Xen paravirtualizados: dispositivo de bloques, tarjeta de red, consola, búfer de fotogramas y dispositivo de entrada.
La implementación de BIOS utilizada por QEMU a partir de la versión 0.12 es SeaBIOS . La implementación de BIOS VGA de SeaBIOS también se utiliza a partir de la versión 2.0.0. El firmware UEFI para QEMU es OVMF. [ 50 ]
PowerPC
PowerMac
QEMU emula los siguientes periféricos de PowerMac :
- Puente PCI UniNorth
- Tarjeta gráfica compatible con PCI-VGA que admite las extensiones VESA Bochs.
- Dos interfaces PMAC-IDE con soporte para disco duro y CD-ROM.
- Adaptador PCI NE2000
- Memoria RAM no volátil
- VIA-CUDA con teclado y ratón ADB .
OpenBIOS se utiliza como firmware.
DEBERES
QEMU emula los siguientes periféricos PREP :
- puente PCI
- Tarjeta gráfica compatible con PCI VGA con extensiones VESA Bochs
- Dos interfaces IDE con soporte para disco duro y CD-ROM
- Unidad de disquete
- Adaptador de red NE2000
- Interfaz serie
- Memoria RAM no volátil PREP
- Teclado y ratón compatibles con PC
En el objetivo PREP, se utiliza Open Hack'Ware , una BIOS compatible con Open-Firmware .
Sistema IBM p
QEMU puede emular la interfaz paravirtual sPAPR con los siguientes periféricos:
- Puente PCI, para acceso a dispositivos VirtIO, gráficos compatibles con VGA, USB, etc.
- Adaptador de red de E/S virtual, controlador SCSI e interfaz serie.
- Memoria RAM no volátil sPAPR
En el objetivo sPAPR, se utiliza otra BIOS compatible con Open-Firmware, denominada SLOF.
BRAZO

QEMU emula el conjunto de instrucciones ARMv7 (y hasta ARMv5TEJ) con extensión NEON. [ 51 ] Emula sistemas completos como la placa Integrator/CP, la placa base Versatile, la placa base RealView Emulation, las PDA basadas en XScale, la PDA Palm Tungsten|E, las tabletas de Internet Nokia N800 y Nokia N810 , etc. QEMU también impulsa el emulador de Android que forma parte del SDK de Android (la mayoría de las implementaciones actuales de Android están basadas en ARM). A partir de la versión 2.0.0 de su SDK Bada, Samsung ha elegido QEMU para ayudar al desarrollo en dispositivos 'Wave' emulados.
En las versiones 1.5.0 y 1.6.0, se emulan los procesadores Samsung Exynos 4210 (Cortex-A9 de doble núcleo) y Versatile Express ARM Cortex-A9 ARM Cortex-A15 . En la versión 1.6.0, se emulan las instrucciones de 32 bits de la arquitectura ARMv8 (AArch64), pero no se admiten las instrucciones de 64 bits.
El SoC Zynq basado en Xilinx Cortex A9 incluye los siguientes componentes:
- CPU ARM Cortex-A9 Zynq-7000
- Zynq-7000 ARM Cortex-A9 MPCore
- Contador de temporizador triple
- Controlador de memoria DDR
- Controlador DMA (PL330)
- Controlador de memoria estática (memoria flash NAND/NOR)
- Controlador periférico SD/SDIO (SDHCI)
- Controlador Ethernet Gigabit Zynq
- Controlador USB (EHCI – Solo compatible con host)
- Controlador UART Zynq
- Controladores SPI y QSPI
- Controlador I2C
QEMU puede emular CPUs de 64 bits con perfil "A " que comúnmente ejecutan Linux, como ARM Cortex-A53 , ARM Cortex-A57 y ARM Cortex-A72 . [ 52 ] Esto le permite emular Raspberry Pi 3 y 4. [ 53 ]
SPARC
QEMU es compatible con arquitecturas SPARC de 32 y 64 bits .
Cuando el firmware de la JavaStation (arquitectura sun4m) se actualizó a la versión 0.8.1, [ 54 ] Proll —un reemplazo de PROM— fue reemplazado por OpenBIOS en la versión 0.8.2.
SPARC32
QEMU emula los siguientes periféricos sun4m/sun4c/sun4d :
- IOMMU o unidades de E/S
- Búfer de trama TCX (tarjeta gráfica)
- Ethernet Lance (Am7990)
- Memoria RAM no volátil M48T02/M48T08
- E/S esclavas: temporizadores, controladores de interrupciones, puertos serie Zilog , teclado y lógica de encendido/reinicio.
- Controlador SCSI ESP con soporte para disco duro y CD-ROM
- Unidad de disquete (no disponible en el SS-600MP)
- Dispositivo de sonido CS4231 (solo en SS-5, aún no funciona)
SPARC64
QEMU emula una máquina Sun4u (similar a un PC UltraSPARC), una máquina Sun4v (similar a un PC T1) o una máquina Niagara (T1) genérica con los siguientes periféricos:
- Puente PCI UltraSparc III APB
- Tarjeta PCI compatible con VGA con extensiones VESA Bochs
- Ratón y teclado PS/2
- Memoria RAM no volátil M48T59
- Puertos serie compatibles con PC
- 2 interfaces PCI IDE con soporte para disco duro y CD-ROM
- Disco flexible
MicroBlaze
QEMU admite los siguientes periféricos:
- MicroBlaze con o sin MMU, incluyendo periféricos de temporizador AXI y controlador de interrupciones.
- Controlador de memoria externa AXI
- Controlador AXI DMA
- Ethernet Xilinx AXI
- AXI Ethernet Lite
- AXI UART 16650 y UARTLite
- Controlador AXI SPI
LatticeMico32
Periféricos compatibles: Del SoC Milkymist
- UART
- VGA
- Tarjeta de memoria
- Ethernet
- pfu
- minutero
CRIS
OpenRISC
Otros
Existen árboles externos que admiten los siguientes objetivos:
Véase también
Referencias
- ↑ " [ ANUNCIO ] Lanzamiento de QEMU 11.0.2 Stable" . 27 de junio de 2026 . Consultado el 1 de julio de 2026 .
- ↑ "Licencia" . QEMU .
- ↑ "Glosario" . Instituto Nacional de Estándares y Tecnología . Consultado el 24 de abril de 2023 .
- ↑ "Aceleradores de virtualización" . qemu.org .
- ↑ "Arquitecturas invitadas compatibles para emulación" . qemu.org .
- ↑ Jokela, AC (22 de julio de 2023). "Historia, uso y detalles técnicos de QEMU" . tinycomputers.io . Consultado el 23 de marzo de 2026 .
- ↑ "Licencia - QEMU" . wiki.qemu.org .
- ↑ "Acerca de QEMU" . qemu.readthedocs.io .
- ↑ "Lista de compatibilidad con QEMU OS" . www.claunia.com . Archivado del original el 13 de mayo de 2014. Consultado el 21 de marzo de 2024. Se registraron cambios frecuentes en el archivo durante los años previos a su desconexión.
{{cite web}}: CS1 mantenimiento: postscript ( enlace ) - ↑ "Arquitecturas de host compatibles" . Archivado del original el 23/09/2023 . Consultado el 29/09/2023 .
- ↑ "QEMU PRIP 1 - soporte para MIPS64 Release 6 - PRPL" . wiki.prplfoundation.org . Archivado del original el 21/04/2017 . Consultado el 22/12/2014 .
- ↑ "libvirt: Cadenas de imágenes de disco" . libvirt.org . Consultado el 16 de abril de 2026 .
- ↑ " [ Qemu-devel ] ANUNCIO: Lanzamiento 0.10.0 de QEMU" . lists.gnu.org .
- ↑ Filardo, Nathaniel (11 de septiembre de 2007). "Portando QEMU al Plan 9: Aspectos internos de QEMU y estrategia de puerto" (PDF) . gsoc.cat-v.org .-- una revisión de cómo funcionaba el antiguo dyngen
- ↑ "Representación intermedia de TCG" .
- ↑ Corbet, Jonathan (6 de febrero de 2007). "KQEMU 1.3.0pre10 publicado - bajo la GPL [ LWN.net ] " . Lwn.net . Consultado el 3 de enero de 2009 .
- ↑ Liguori, Anthony (10 de agosto de 2009). " [ Qemu-devel ] [ PATCH 1/2 ] Reparar el soporte de memoria grande eliminando kqemu" . Recuperado el 11 de marzo de 2010 .
- ↑ "Configuración del modelo de CPU QEMU / KVM" . Documentación de QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ↑ "HAXM se vuelve de código abierto" . Desarrolladores de QEMU. 17 de noviembre de 2017. Consultado el 14 de enero de 2017.
HAXM ahora es de código abierto
. - ↑ "Intel Hardware Accelerated Execution Manager" . Intel. 27 de noviembre de 2013. Consultado el 12 de mayo de 2014. El
Intel Hardware Accelerated Execution Manager (Intel® HAXM) es un motor de virtualización asistido por hardware (hipervisor) que utiliza la tecnología de virtualización de Intel (Intel® VT) para acelerar la emulación de aplicaciones Android en una máquina host.
- 1 2 "Invocación" . Documentación de QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ↑ "Documentación de QEMU" . qemu.org . Consultado el 23 de marzo de 2026 .
- ↑ "Arranque desde una imagen ISO usando qemu" . Consejos de Linux . Archivado del original el 16 de abril de 2026. Consultado el 16 de abril de 2026 .
- ↑ "Qemu Readme" . GitHub . 26 de octubre de 2021.
- ↑ "Preguntas frecuentes para desarrolladores de VirtualBox" . Archivado del original el 26 de marzo de 2015. Consultado el 2 de febrero de 2015 .
- ↑ "Xen ARM con extensiones de virtualización" .
- ↑ "Oracle y Sun Microsystems - Adquisiciones estratégicas - Oracle" (PDF) . www.sun.com .
- ↑ Desmitificando Xen HVM Archivado el 22 de diciembre de 2007 en Wayback Machine
- ↑ " [ qvm86-devel ] Módulo acelerador x86 de qemu de código abierto" . lists.gnu.org . Consultado el 16-04-2026 .
- ↑ Anuncio de win4lin VDS Archivado el 10 de febrero de 2008 en Wayback Machine
- ↑ Anuncio de Win4Solaris Archivado el 23 de diciembre de 2007 en Wayback Machine
- ↑ «SerialICE» . serialice.com .
- ↑ "WinUAE 3.0.0" . English Amiga Board. 17 de diciembre de 2014. Consultado el 25 de marzo de 2016 .
- ↑ "Unicorn & QEMU" . Unicorn Engine .
- ↑ "Tutoriales del emulador Limbo" . Maquinaria virtual . Consultado el 2 de septiembre de 2023 .
- ↑ Cómo instalar Windows en cualquier dispositivo Android (Instalación completa [ Sin root ]) (Usando el emulador Limbo PC) , 24 de enero de 2019 , consultado el 2 de septiembre de 2023.
- ↑ «India: cuota de SO móvil en 2022» . Estatista . Consultado el 2 de septiembre de 2023 .
- ↑ "Limbo Downloads" . Maquinaria virtual . Consultado el 2 de septiembre de 2023 .
- ↑ "Descargas" . GitHub . Consultado el 2 de septiembre de 2023 .
- ↑ Weidner, Klaus (1 de septiembre de 2023), klausw/hackerskeyboard , consultado el 2 de septiembre de 2023
- ↑ "Teclado de hacker - Aplicaciones en Google Play" . play.google.com . Consultado el 2 de septiembre de 2023 .
- ↑ " [ Qemu-devel ] [ PATCH 3/3 ] agregar modelo de CPU SandyBridge" . lists.gnu.org .
- ↑ "Qemu-Changelog-2.3 x86" . wiki.qemu.org .
- 1 2 "QEMU-changelog-2.6, x86 KVM" . wiki.qemu.org .
- ↑ "QEMU-changelog-2.1, x86 KVM" . wiki.qemu.org .
- ↑ "QEMU-changelog-2.5, Modelos y características de CPU x86" . wiki.qemu.org .
- ↑ https://qemu.weilnetz.de/doc/qemu-doc.html#pcsys_005fnetwork Archivado el 27/04/2019 en Wayback Machine "i82551, i82557b, i82559er, ne2k_pci, ne2k_isa, pcnet, rtl8139, e1000, smc91c111, lance y mcf_fec"
- ↑ http://pclosmag.com/html/issues/201208/page11.html Archivado el 5 de mayo de 2016 en Wayback Machine Redes en QEMU: Configuración de la evaluación de la arquitectura ISA E1000 y Novell NE2000
- ↑ "ChangeLog/0.14" . Consultado el 8 de agosto de 2011 .
- ^ "UEFI/OVMF - Wiki de Ubuntu" .
- ↑ "gitorious.org Git - rowboat: external-qemu.git/commit" . gitorious.org . Archivado del original el 19-03-2014 . Recuperado el 19-03-2014 .
- ↑ "Configuración de un entorno Linux ARM64 con QEMU" . boardor.com . 10 de febrero de 2025. Consultado el 10 de febrero de 2025 .
- ↑ "Emulador de sistema Arm" . Documentación de QEMU . Consultado el 23/11/2024 .
- ↑ "Zaitcev's Linux" . Archivado del original el 19 de febrero de 2009. Consultado el 27 de abril de 2009 .090427 personas.redhat.com
- ↑ "QEMU Z80 Target" . Archivado del original el 6 de junio de 2016.090506 homepage.ntlworld.com
- ↑ "Enlaces QEMU" .090506 nongnu.org
Enlaces externos
- Sitio web oficial

- Documentación de QEMU
- Emulación de sistemas con QEMU: un artículo de IBM developerWorks por M. Tim Jones
- Página del proyecto QVM86
- Debian en una máquina ARM emulada
- Emulación de puerto ARM de Fedora con QEMU
- El libro de Wikibook "QEMU y KVM" (en alemán o traducido al inglés por ordenador).
- QEMU en Windows
- Binarios QEMU para Windows
- Emulación de Microblaze con QEMU. Archivado el 27/09/2010 en Wayback Machine.
- UnifiedSessionsManager: una definición de archivo de configuración no oficial de QEMU/KVM.
- Couverture, un proyecto de cobertura de código basado en QEMU. Archivado el 17 de agosto de 2012 en Wayback Machine.
- Máquinas virtuales UTM para Mac
- Máquinas virtuales UTM para iOS
- Software de emulación de Android
- Software libre multiplataforma
- Software de emulación gratuito
- Software de virtualización gratuito
- Software de emulación de Linux
- Software de emulación de macOS
- Multiemuladores
- emuladores PowerPC
- Software que utiliza Meson
- Software de emulación de Windows
- emuladores X86
- Software de línea de comandos