doc/scripts/hxtool.py: Strip trailing ':' from DEFHEADING/ARCHHEADING
[qemu.git] / qemu-doc.texi
blobc2b9c87c645b5b62e128b033f39234834d3644b7
1 \input texinfo @c -*- texinfo -*-
2 @c %**start of header
3 @setfilename qemu-doc.info
4 @include version.texi
6 @documentlanguage en
7 @documentencoding UTF-8
9 @settitle QEMU version @value{VERSION} User Documentation
10 @exampleindent 0
11 @paragraphindent 0
12 @c %**end of header
14 @set qemu_system qemu-system-x86_64
15 @set qemu_system_x86 qemu-system-x86_64
17 @ifinfo
18 @direntry
19 * QEMU: (qemu-doc).    The QEMU Emulator User Documentation.
20 @end direntry
21 @end ifinfo
23 @iftex
24 @titlepage
25 @sp 7
26 @center @titlefont{QEMU version @value{VERSION}}
27 @sp 1
28 @center @titlefont{User Documentation}
29 @sp 3
30 @end titlepage
31 @end iftex
33 @ifnottex
34 @node Top
35 @top
37 @menu
38 * Introduction::
39 * QEMU System emulator::
40 * QEMU System emulator targets::
41 * Security::
42 * Deprecated features::
43 * Recently removed features::
44 * Supported build platforms::
45 * License::
46 * Index::
47 @end menu
48 @end ifnottex
50 @contents
52 @node Introduction
53 @chapter Introduction
55 @menu
56 * intro_features:: Features
57 @end menu
59 @node intro_features
60 @section Features
62 QEMU is a FAST! processor emulator using dynamic translation to
63 achieve good emulation speed.
65 QEMU has two operating modes:
67 @itemize
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.
78 @end itemize
80 QEMU has the following features:
82 @itemize
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.
91 @end itemize
93 QEMU user mode emulation has the following features:
94 @itemize
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.
100 @end itemize
102 QEMU full system emulation has the following features:
103 @itemize
104 @item
105 QEMU uses a full software MMU for maximum portability.
107 @item
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.
112 @item
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).
119 @item
120 Symmetric multiprocessing (SMP) support.  Currently, an in-kernel
121 accelerator is required to use more than one host CPU for emulation.
123 @end itemize
125 @node QEMU System emulator
126 @chapter QEMU System emulator
128 @menu
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
143 @end menu
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.
167 @menu
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::
176 @end menu
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
196 @node Index
197 @appendix Index
199 @printindex fn
201 @bye