1 \input texinfo @c -*- texinfo -*-
3 @setfilename qemu-doc.info
7 @documentencoding UTF-8
9 @settitle QEMU version @value{VERSION} User Documentation
14 @set qemu_system qemu-system-x86_64
15 @set qemu_system_x86 qemu-system-x86_64
19 * QEMU: (qemu-doc). The QEMU Emulator User Documentation.
26 @center @titlefont{QEMU version @value{VERSION}}
28 @center @titlefont{User Documentation}
39 * QEMU System emulator::
40 * QEMU System emulator targets::
42 * Deprecated features::
43 * Recently removed features::
44 * Supported build platforms::
56 * intro_features:: Features
62 QEMU is a FAST! processor emulator using dynamic translation to
63 achieve good emulation speed.
65 QEMU has two operating modes:
68 @item Full system emulation. In this mode, QEMU emulates a full system (for
69 example a PC), including one or several processors and various
70 peripherals. It can be used to launch different Operating Systems
71 without rebooting the PC or to debug system code.
73 @item User mode emulation. In this mode, QEMU can launch
74 processes compiled for one CPU on another CPU. It can be used to
75 launch the Wine Windows API emulator (@url{https://www.winehq.org}) or
76 to ease cross-compilation and cross-debugging.
80 QEMU has the following features:
83 @item QEMU can run without a host kernel driver and yet gives acceptable
84 performance. It uses dynamic translation to native code for reasonable speed,
85 with support for self-modifying code and precise exceptions.
87 @item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X,
88 Windows) and architectures.
90 @item It performs accurate software emulation of the FPU.
93 QEMU user mode emulation has the following features:
95 @item Generic Linux system call converter, including most ioctls.
97 @item clone() emulation using native CPU clone() to use Linux scheduler for threads.
99 @item Accurate signal handling by remapping host signals to target signals.
102 QEMU full system emulation has the following features:
105 QEMU uses a full software MMU for maximum portability.
108 QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators
109 execute most of the guest code natively, while
110 continuing to emulate the rest of the machine.
113 Various hardware devices can be emulated and in some cases, host
114 devices (e.g. serial and parallel ports, USB, drives) can be used
115 transparently by the guest Operating System. Host device passthrough
116 can be used for talking to external physical peripherals (e.g. a
117 webcam, modem or tape drive).
120 Symmetric multiprocessing (SMP) support. Currently, an in-kernel
121 accelerator is required to use more than one host CPU for emulation.
125 @node QEMU System emulator
126 @chapter QEMU System emulator
129 * pcsys_quickstart:: Quick start
130 * sec_invocation:: Invocation
131 * pcsys_keys:: Keys in the graphical frontends
132 * mux_keys:: Keys in the character backend multiplexer
133 * pcsys_monitor:: QEMU Monitor
134 * disk_images:: Disk Images
135 * pcsys_network:: Network emulation
136 * pcsys_usb:: USB emulation
137 * pcsys_ivshmem:: Inter-VM Shared Memory device
138 * direct_linux_boot:: Direct Linux Boot
139 * vnc_security:: VNC security
140 * network_tls:: TLS setup for network services
141 * gdb_usage:: GDB usage
142 * managed_startup:: Managed startup options
145 @include docs/system/quickstart.texi
146 @include docs/system/invocation.texi
147 @include docs/system/keys.texi
148 @include docs/system/mux-chardev.texi
149 @include docs/system/monitor.texi
150 @include docs/system/images.texi
151 @include docs/system/net.texi
152 @include docs/system/usb.texi
153 @include docs/system/ivshmem.texi
154 @include docs/system/linuxboot.texi
155 @include docs/system/vnc-security.texi
156 @include docs/system/tls.texi
157 @include docs/system/gdb.texi
158 @include docs/system/managed-startup.texi
160 @node QEMU System emulator targets
161 @chapter QEMU System emulator targets
163 QEMU is a generic emulator and it emulates many machines. Most of the
164 options are similar for all machines. Specific information about the
165 various targets are mentioned in the following sections.
168 * x86 (PC) System emulator::
169 * PowerPC System emulator::
170 * Sparc32 System emulator::
171 * Sparc64 System emulator::
172 * MIPS System emulator::
173 * ARM System emulator::
174 * ColdFire System emulator::
175 * Xtensa System emulator::
178 @include docs/system/target-i386.texi
179 @include docs/system/target-ppc.texi
180 @include docs/system/target-sparc.texi
181 @include docs/system/target-sparc64.texi
182 @include docs/system/target-mips.texi
183 @include docs/system/target-arm.texi
184 @include docs/system/target-m68k.texi
185 @include docs/system/target-xtensa.texi
187 @include docs/system/security.texi
189 @include docs/system/deprecated.texi
191 @include docs/system/build-platforms.texi
193 @include docs/system/license.texi