]>
Commit | Line | Data |
---|---|---|
386405f7 | 1 | \input texinfo @c -*- texinfo -*- |
debc7065 FB |
2 | @c %**start of header |
3 | @setfilename qemu-doc.info | |
44cb280d | 4 | @include version.texi |
e080e785 SW |
5 | |
6 | @documentlanguage en | |
7 | @documentencoding UTF-8 | |
8 | ||
44cb280d | 9 | @settitle QEMU version @value{VERSION} User Documentation |
debc7065 FB |
10 | @exampleindent 0 |
11 | @paragraphindent 0 | |
12 | @c %**end of header | |
386405f7 | 13 | |
664785ac TH |
14 | @set qemu_system qemu-system-x86_64 |
15 | @set qemu_system_x86 qemu-system-x86_64 | |
16 | ||
a1a32b05 SW |
17 | @ifinfo |
18 | @direntry | |
19 | * QEMU: (qemu-doc). The QEMU Emulator User Documentation. | |
20 | @end direntry | |
21 | @end ifinfo | |
22 | ||
0806e3f6 | 23 | @iftex |
386405f7 FB |
24 | @titlepage |
25 | @sp 7 | |
44cb280d | 26 | @center @titlefont{QEMU version @value{VERSION}} |
debc7065 FB |
27 | @sp 1 |
28 | @center @titlefont{User Documentation} | |
386405f7 FB |
29 | @sp 3 |
30 | @end titlepage | |
0806e3f6 | 31 | @end iftex |
386405f7 | 32 | |
debc7065 FB |
33 | @ifnottex |
34 | @node Top | |
35 | @top | |
36 | ||
37 | @menu | |
38 | * Introduction:: | |
ce9fc583 PB |
39 | * QEMU System emulator:: |
40 | * QEMU System emulator targets:: | |
e8412576 | 41 | * Security:: |
eb22aeca | 42 | * Deprecated features:: |
369e8f5b | 43 | * Recently removed features:: |
45b47130 | 44 | * Supported build platforms:: |
7544a042 | 45 | * License:: |
debc7065 FB |
46 | * Index:: |
47 | @end menu | |
48 | @end ifnottex | |
49 | ||
50 | @contents | |
51 | ||
52 | @node Introduction | |
386405f7 FB |
53 | @chapter Introduction |
54 | ||
debc7065 FB |
55 | @menu |
56 | * intro_features:: Features | |
57 | @end menu | |
58 | ||
59 | @node intro_features | |
322d0c66 | 60 | @section Features |
386405f7 | 61 | |
1f673135 FB |
62 | QEMU is a FAST! processor emulator using dynamic translation to |
63 | achieve good emulation speed. | |
1eb20527 | 64 | |
1f3e7e41 | 65 | @cindex operating modes |
1eb20527 | 66 | QEMU has two operating modes: |
0806e3f6 | 67 | |
d7e5edca | 68 | @itemize |
7544a042 | 69 | @cindex system emulation |
1f3e7e41 | 70 | @item Full system emulation. In this mode, QEMU emulates a full system (for |
3f9f3aa1 FB |
71 | example a PC), including one or several processors and various |
72 | peripherals. It can be used to launch different Operating Systems | |
73 | without rebooting the PC or to debug system code. | |
1eb20527 | 74 | |
7544a042 | 75 | @cindex user mode emulation |
1f3e7e41 | 76 | @item User mode emulation. In this mode, QEMU can launch |
83195237 | 77 | processes compiled for one CPU on another CPU. It can be used to |
70b7fba9 | 78 | launch the Wine Windows API emulator (@url{https://www.winehq.org}) or |
1f673135 | 79 | to ease cross-compilation and cross-debugging. |
1eb20527 FB |
80 | |
81 | @end itemize | |
82 | ||
1f3e7e41 PB |
83 | QEMU has the following features: |
84 | ||
85 | @itemize | |
86 | @item QEMU can run without a host kernel driver and yet gives acceptable | |
87 | performance. It uses dynamic translation to native code for reasonable speed, | |
88 | with support for self-modifying code and precise exceptions. | |
89 | ||
90 | @item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X, | |
91 | Windows) and architectures. | |
92 | ||
93 | @item It performs accurate software emulation of the FPU. | |
94 | @end itemize | |
322d0c66 | 95 | |
1f3e7e41 | 96 | QEMU user mode emulation has the following features: |
52c00a5f | 97 | @itemize |
1f3e7e41 PB |
98 | @item Generic Linux system call converter, including most ioctls. |
99 | ||
100 | @item clone() emulation using native CPU clone() to use Linux scheduler for threads. | |
101 | ||
102 | @item Accurate signal handling by remapping host signals to target signals. | |
103 | @end itemize | |
104 | ||
105 | QEMU full system emulation has the following features: | |
106 | @itemize | |
107 | @item | |
108 | QEMU uses a full software MMU for maximum portability. | |
109 | ||
110 | @item | |
326c4c3c | 111 | QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators |
1f3e7e41 PB |
112 | execute most of the guest code natively, while |
113 | continuing to emulate the rest of the machine. | |
114 | ||
115 | @item | |
116 | Various hardware devices can be emulated and in some cases, host | |
117 | devices (e.g. serial and parallel ports, USB, drives) can be used | |
118 | transparently by the guest Operating System. Host device passthrough | |
119 | can be used for talking to external physical peripherals (e.g. a | |
120 | webcam, modem or tape drive). | |
121 | ||
122 | @item | |
123 | Symmetric multiprocessing (SMP) support. Currently, an in-kernel | |
124 | accelerator is required to use more than one host CPU for emulation. | |
125 | ||
52c00a5f | 126 | @end itemize |
386405f7 | 127 | |
ce9fc583 PB |
128 | @node QEMU System emulator |
129 | @chapter QEMU System emulator | |
130 | @cindex system emulation | |
1eb20527 | 131 | |
debc7065 | 132 | @menu |
ce9fc583 | 133 | * pcsys_quickstart:: Quick start |
debc7065 | 134 | * sec_invocation:: Invocation |
a40db1b3 PM |
135 | * pcsys_keys:: Keys in the graphical frontends |
136 | * mux_keys:: Keys in the character backend multiplexer | |
debc7065 FB |
137 | * pcsys_monitor:: QEMU Monitor |
138 | * disk_images:: Disk Images | |
139 | * pcsys_network:: Network emulation | |
debc7065 | 140 | * pcsys_usb:: USB emulation |
fdeccf93 PB |
141 | * pcsys_ivshmem:: Inter-VM Shared Memory device |
142 | * direct_linux_boot:: Direct Linux Boot | |
f858dcae | 143 | * vnc_security:: VNC security |
5d19a6ea | 144 | * network_tls:: TLS setup for network services |
debc7065 | 145 | * gdb_usage:: GDB usage |
21471061 | 146 | * managed_startup:: Managed startup options |
debc7065 FB |
147 | @end menu |
148 | ||
ce9fc583 PB |
149 | @include docs/system/quickstart.texi |
150 | @include docs/system/invocation.texi | |
151 | @include docs/system/keys.texi | |
152 | @include docs/system/mux-chardev.texi | |
153 | @include docs/system/monitor.texi | |
154 | @include docs/system/images.texi | |
155 | @include docs/system/net.texi | |
156 | @include docs/system/usb.texi | |
157 | @include docs/system/ivshmem.texi | |
158 | @include docs/system/linuxboot.texi | |
159 | @include docs/system/vnc-security.texi | |
160 | @include docs/system/tls.texi | |
161 | @include docs/system/gdb.texi | |
21471061 | 162 | @include docs/system/managed-startup.texi |
ce9fc583 PB |
163 | |
164 | @node QEMU System emulator targets | |
165 | @chapter QEMU System emulator targets | |
166 | @cindex system emulation (PC) | |
167 | ||
168 | QEMU is a generic emulator and it emulates many machines. Most of the | |
169 | options are similar for all machines. Specific information about the | |
170 | various targets are mentioned in the following sections. | |
171 | ||
172 | @menu | |
173 | * x86 (PC) System emulator:: | |
174 | * PowerPC System emulator:: | |
175 | * Sparc32 System emulator:: | |
176 | * Sparc64 System emulator:: | |
177 | * MIPS System emulator:: | |
178 | * ARM System emulator:: | |
179 | * ColdFire System emulator:: | |
ce9fc583 PB |
180 | * Xtensa System emulator:: |
181 | @end menu | |
182 | ||
9d0ba2cd PB |
183 | @include docs/system/target-i386.texi |
184 | @include docs/system/target-ppc.texi | |
185 | @include docs/system/target-sparc.texi | |
186 | @include docs/system/target-sparc64.texi | |
187 | @include docs/system/target-mips.texi | |
188 | @include docs/system/target-arm.texi | |
189 | @include docs/system/target-m68k.texi | |
190 | @include docs/system/target-xtensa.texi | |
abc67eb6 | 191 | |
abcd92db | 192 | @include docs/system/security.texi |
e8412576 | 193 | |
abcd92db | 194 | @include docs/system/deprecated.texi |
efe2add7 | 195 | |
fdeccf93 | 196 | @include docs/system/build-platforms.texi |
7544a042 | 197 | |
fdeccf93 | 198 | @include docs/system/license.texi |
7544a042 | 199 | |
7544a042 | 200 | |
debc7065 | 201 | @node Index |
7544a042 SW |
202 | @appendix Index |
203 | @menu | |
204 | * Concept Index:: | |
205 | * Function Index:: | |
206 | * Keystroke Index:: | |
207 | * Program Index:: | |
208 | * Data Type Index:: | |
209 | * Variable Index:: | |
210 | @end menu | |
211 | ||
212 | @node Concept Index | |
213 | @section Concept Index | |
214 | This is the main index. Should we combine all keywords in one index? TODO | |
debc7065 FB |
215 | @printindex cp |
216 | ||
7544a042 SW |
217 | @node Function Index |
218 | @section Function Index | |
219 | This index could be used for command line options and monitor functions. | |
220 | @printindex fn | |
221 | ||
222 | @node Keystroke Index | |
223 | @section Keystroke Index | |
224 | ||
225 | This is a list of all keystrokes which have a special function | |
226 | in system emulation. | |
227 | ||
228 | @printindex ky | |
229 | ||
230 | @node Program Index | |
231 | @section Program Index | |
232 | @printindex pg | |
233 | ||
234 | @node Data Type Index | |
235 | @section Data Type Index | |
236 | ||
237 | This index could be used for qdev device names and options. | |
238 | ||
239 | @printindex tp | |
240 | ||
241 | @node Variable Index | |
242 | @section Variable Index | |
243 | @printindex vr | |
244 | ||
debc7065 | 245 | @bye |