1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
\input texinfo @c -*- texinfo -*-
@c %**start of header
@setfilename qemu-doc.info
@include version.texi
@documentlanguage en
@documentencoding UTF-8
@settitle QEMU version @value{VERSION} User Documentation
@exampleindent 0
@paragraphindent 0
@c %**end of header
@set qemu_system qemu-system-x86_64
@set qemu_system_x86 qemu-system-x86_64
@ifinfo
@direntry
* QEMU: (qemu-doc). The QEMU Emulator User Documentation.
@end direntry
@end ifinfo
@iftex
@titlepage
@sp 7
@center @titlefont{QEMU version @value{VERSION}}
@sp 1
@center @titlefont{User Documentation}
@sp 3
@end titlepage
@end iftex
@ifnottex
@node Top
@top
@menu
* Introduction::
* QEMU System emulator::
* QEMU System emulator targets::
* Security::
* Deprecated features::
* Recently removed features::
* Supported build platforms::
* License::
* Index::
@end menu
@end ifnottex
@contents
@node Introduction
@chapter Introduction
@menu
* intro_features:: Features
@end menu
@node intro_features
@section Features
QEMU is a FAST! processor emulator using dynamic translation to
achieve good emulation speed.
QEMU has two operating modes:
@itemize
@item Full 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.
@item User 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 (@url{https://www.winehq.org}) or
to ease cross-compilation and cross-debugging.
@end itemize
QEMU has the following features:
@itemize
@item 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.
@item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X,
Windows) and architectures.
@item It performs accurate software emulation of the FPU.
@end itemize
QEMU user mode emulation has the following features:
@itemize
@item Generic Linux system call converter, including most ioctls.
@item clone() emulation using native CPU clone() to use Linux scheduler for threads.
@item Accurate signal handling by remapping host signals to target signals.
@end itemize
QEMU full system emulation has the following features:
@itemize
@item
QEMU uses a full software MMU for maximum portability.
@item
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.
@item
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).
@item
Symmetric multiprocessing (SMP) support. Currently, an in-kernel
accelerator is required to use more than one host CPU for emulation.
@end itemize
@node QEMU System emulator
@chapter QEMU System emulator
@menu
* pcsys_quickstart:: Quick start
* sec_invocation:: Invocation
* pcsys_keys:: Keys in the graphical frontends
* mux_keys:: Keys in the character backend multiplexer
* pcsys_monitor:: QEMU Monitor
* disk_images:: Disk Images
* pcsys_network:: Network emulation
* pcsys_usb:: USB emulation
* pcsys_ivshmem:: Inter-VM Shared Memory device
* direct_linux_boot:: Direct Linux Boot
* vnc_security:: VNC security
* network_tls:: TLS setup for network services
* gdb_usage:: GDB usage
* managed_startup:: Managed startup options
@end menu
@include docs/system/quickstart.texi
@include docs/system/invocation.texi
@include docs/system/keys.texi
@include docs/system/mux-chardev.texi
@include docs/system/monitor.texi
@include docs/system/images.texi
@include docs/system/net.texi
@include docs/system/usb.texi
@include docs/system/ivshmem.texi
@include docs/system/linuxboot.texi
@include docs/system/vnc-security.texi
@include docs/system/tls.texi
@include docs/system/gdb.texi
@include docs/system/managed-startup.texi
@node QEMU System emulator targets
@chapter QEMU System emulator targets
QEMU is a generic emulator and it emulates many machines. Most of the
options are similar for all machines. Specific information about the
various targets are mentioned in the following sections.
@menu
* x86 (PC) System emulator::
* PowerPC System emulator::
* Sparc32 System emulator::
* Sparc64 System emulator::
* MIPS System emulator::
* ARM System emulator::
* ColdFire System emulator::
* Xtensa System emulator::
@end menu
@include docs/system/target-i386.texi
@include docs/system/target-ppc.texi
@include docs/system/target-sparc.texi
@include docs/system/target-sparc64.texi
@include docs/system/target-mips.texi
@include docs/system/target-arm.texi
@include docs/system/target-m68k.texi
@include docs/system/target-xtensa.texi
@include docs/system/security.texi
@include docs/system/deprecated.texi
@include docs/system/build-platforms.texi
@include docs/system/license.texi
@node Index
@appendix Index
@printindex fn
@bye
|