FeaturesQEMU is a FAST! processor emulator using dynamic translation to
achieve good emulation speed.
operating modesQEMU has two operating modes:
system emulationFull system emulation. In this mode, QEMU emulates a full system (for
example a PC), including one or several processors and various
peripherals. It can be used to launch different Operating Systems
without rebooting the PC or to debug system code.
user mode emulationUser mode emulation. In this mode, QEMU can launch
processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator (http://www.winehq.org) or
to ease cross-compilation and cross-debugging.
QEMU has the following features:
QEMU can run without a host kernel driver and yet gives acceptable
performance. It uses dynamic translation to native code for reasonable speed,
with support for self-modifying code and precise exceptions.
It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X,
Windows) and architectures.
It performs accurate software emulation of the FPU.
QEMU user mode emulation has the following features:
Generic Linux system call converter, including most ioctls.
clone() emulation using native CPU clone() to use Linux scheduler for threads.
Accurate signal handling by remapping host signals to target signals.
QEMU full system emulation has the following features:
QEMU uses a full software MMU for maximum portability.
QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators
execute most of the guest code natively, while
continuing to emulate the rest of the machine.
Various hardware devices can be emulated and in some cases, host
devices (e.g. serial and parallel ports, USB, drives) can be used
transparently by the guest Operating System. Host device passthrough
can be used for talking to external physical peripherals (e.g. a
webcam, modem or tape drive).
Symmetric multiprocessing (SMP) support. Currently, an in-kernel
accelerator is required to use more than one host CPU for emulation.