Statistics
| Branch: | Revision:

root / qemu-options.hx @ e4858974

History | View | Annotate | Download (84.9 kB)

1 5824d651 blueswir1
HXCOMM Use DEFHEADING() to define headings in both help text and texi
2 5824d651 blueswir1
HXCOMM Text between STEXI and ETEXI are copied to texi version and
3 5824d651 blueswir1
HXCOMM discarded from C version
4 ad96090a Blue Swirl
HXCOMM DEF(option, HAS_ARG/0, opt_enum, opt_help, arch_mask) is used to
5 ad96090a Blue Swirl
HXCOMM construct option structures, enums and help message for specified
6 ad96090a Blue Swirl
HXCOMM architectures.
7 5824d651 blueswir1
HXCOMM HXCOMM can be used for comments, discarded from both texi and C
8 5824d651 blueswir1
9 5824d651 blueswir1
DEFHEADING(Standard options:)
10 5824d651 blueswir1
STEXI
11 5824d651 blueswir1
@table @option
12 5824d651 blueswir1
ETEXI
13 5824d651 blueswir1
14 5824d651 blueswir1
DEF("help", 0, QEMU_OPTION_h,
15 ad96090a Blue Swirl
    "-h or -help     display this help and exit\n", QEMU_ARCH_ALL)
16 5824d651 blueswir1
STEXI
17 5824d651 blueswir1
@item -h
18 6616b2ad Stefan Weil
@findex -h
19 5824d651 blueswir1
Display help and exit
20 5824d651 blueswir1
ETEXI
21 5824d651 blueswir1
22 9bd7e6d9 pbrook
DEF("version", 0, QEMU_OPTION_version,
23 ad96090a Blue Swirl
    "-version        display version information and exit\n", QEMU_ARCH_ALL)
24 9bd7e6d9 pbrook
STEXI
25 9bd7e6d9 pbrook
@item -version
26 6616b2ad Stefan Weil
@findex -version
27 9bd7e6d9 pbrook
Display version information and exit
28 9bd7e6d9 pbrook
ETEXI
29 9bd7e6d9 pbrook
30 80f52a66 Jan Kiszka
DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
31 80f52a66 Jan Kiszka
    "-machine [type=]name[,prop[=value][,...]]\n"
32 80f52a66 Jan Kiszka
    "                selects emulated machine (-machine ? for list)\n"
33 80f52a66 Jan Kiszka
    "                property accel=accel1[:accel2[:...]] selects accelerator\n"
34 80f52a66 Jan Kiszka
    "                supported accelerators are kvm, xen, tcg (default: tcg)\n",
35 80f52a66 Jan Kiszka
    QEMU_ARCH_ALL)
36 5824d651 blueswir1
STEXI
37 80f52a66 Jan Kiszka
@item -machine [type=]@var{name}[,prop=@var{value}[,...]]
38 80f52a66 Jan Kiszka
@findex -machine
39 80f52a66 Jan Kiszka
Select the emulated machine by @var{name}. Use @code{-machine ?} to list
40 80f52a66 Jan Kiszka
available machines. Supported machine properties are:
41 80f52a66 Jan Kiszka
@table @option
42 80f52a66 Jan Kiszka
@item accel=@var{accels1}[:@var{accels2}[:...]]
43 80f52a66 Jan Kiszka
This is used to enable an accelerator. Depending on the target architecture,
44 80f52a66 Jan Kiszka
kvm, xen, or tcg can be available. By default, tcg is used. If there is more
45 80f52a66 Jan Kiszka
than one accelerator specified, the next one is used if the previous one fails
46 80f52a66 Jan Kiszka
to initialize.
47 80f52a66 Jan Kiszka
@end table
48 5824d651 blueswir1
ETEXI
49 5824d651 blueswir1
50 80f52a66 Jan Kiszka
HXCOMM Deprecated by -machine
51 80f52a66 Jan Kiszka
DEF("M", HAS_ARG, QEMU_OPTION_M, "", QEMU_ARCH_ALL)
52 80f52a66 Jan Kiszka
53 5824d651 blueswir1
DEF("cpu", HAS_ARG, QEMU_OPTION_cpu,
54 ad96090a Blue Swirl
    "-cpu cpu        select CPU (-cpu ? for list)\n", QEMU_ARCH_ALL)
55 5824d651 blueswir1
STEXI
56 5824d651 blueswir1
@item -cpu @var{model}
57 6616b2ad Stefan Weil
@findex -cpu
58 5824d651 blueswir1
Select CPU model (-cpu ? for list and additional feature selection)
59 5824d651 blueswir1
ETEXI
60 5824d651 blueswir1
61 5824d651 blueswir1
DEF("smp", HAS_ARG, QEMU_OPTION_smp,
62 58a04db1 Andre Przywara
    "-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]\n"
63 6be68d7e Jes Sorensen
    "                set the number of CPUs to 'n' [default=1]\n"
64 6be68d7e Jes Sorensen
    "                maxcpus= maximum number of total cpus, including\n"
65 ca1a8a06 Bruce Rogers
    "                offline CPUs for hotplug, etc\n"
66 58a04db1 Andre Przywara
    "                cores= number of CPU cores on one socket\n"
67 58a04db1 Andre Przywara
    "                threads= number of threads on one CPU core\n"
68 ad96090a Blue Swirl
    "                sockets= number of discrete sockets in the system\n",
69 ad96090a Blue Swirl
        QEMU_ARCH_ALL)
70 5824d651 blueswir1
STEXI
71 58a04db1 Andre Przywara
@item -smp @var{n}[,cores=@var{cores}][,threads=@var{threads}][,sockets=@var{sockets}][,maxcpus=@var{maxcpus}]
72 6616b2ad Stefan Weil
@findex -smp
73 5824d651 blueswir1
Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
74 5824d651 blueswir1
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
75 5824d651 blueswir1
to 4.
76 58a04db1 Andre Przywara
For the PC target, the number of @var{cores} per socket, the number
77 58a04db1 Andre Przywara
of @var{threads} per cores and the total number of @var{sockets} can be
78 58a04db1 Andre Przywara
specified. Missing values will be computed. If any on the three values is
79 58a04db1 Andre Przywara
given, the total number of CPUs @var{n} can be omitted. @var{maxcpus}
80 58a04db1 Andre Przywara
specifies the maximum number of hotpluggable CPUs.
81 5824d651 blueswir1
ETEXI
82 5824d651 blueswir1
83 268a362c aliguori
DEF("numa", HAS_ARG, QEMU_OPTION_numa,
84 ad96090a Blue Swirl
    "-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]\n", QEMU_ARCH_ALL)
85 268a362c aliguori
STEXI
86 268a362c aliguori
@item -numa @var{opts}
87 6616b2ad Stefan Weil
@findex -numa
88 268a362c aliguori
Simulate a multi node NUMA system. If mem and cpus are omitted, resources
89 268a362c aliguori
are split equally.
90 268a362c aliguori
ETEXI
91 268a362c aliguori
92 5824d651 blueswir1
DEF("fda", HAS_ARG, QEMU_OPTION_fda,
93 ad96090a Blue Swirl
    "-fda/-fdb file  use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL)
94 ad96090a Blue Swirl
DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL)
95 5824d651 blueswir1
STEXI
96 5824d651 blueswir1
@item -fda @var{file}
97 5824d651 blueswir1
@item -fdb @var{file}
98 6616b2ad Stefan Weil
@findex -fda
99 6616b2ad Stefan Weil
@findex -fdb
100 5824d651 blueswir1
Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
101 5824d651 blueswir1
use the host floppy by using @file{/dev/fd0} as filename (@pxref{host_drives}).
102 5824d651 blueswir1
ETEXI
103 5824d651 blueswir1
104 5824d651 blueswir1
DEF("hda", HAS_ARG, QEMU_OPTION_hda,
105 ad96090a Blue Swirl
    "-hda/-hdb file  use 'file' as IDE hard disk 0/1 image\n", QEMU_ARCH_ALL)
106 ad96090a Blue Swirl
DEF("hdb", HAS_ARG, QEMU_OPTION_hdb, "", QEMU_ARCH_ALL)
107 5824d651 blueswir1
DEF("hdc", HAS_ARG, QEMU_OPTION_hdc,
108 ad96090a Blue Swirl
    "-hdc/-hdd file  use 'file' as IDE hard disk 2/3 image\n", QEMU_ARCH_ALL)
109 ad96090a Blue Swirl
DEF("hdd", HAS_ARG, QEMU_OPTION_hdd, "", QEMU_ARCH_ALL)
110 5824d651 blueswir1
STEXI
111 5824d651 blueswir1
@item -hda @var{file}
112 5824d651 blueswir1
@item -hdb @var{file}
113 5824d651 blueswir1
@item -hdc @var{file}
114 5824d651 blueswir1
@item -hdd @var{file}
115 6616b2ad Stefan Weil
@findex -hda
116 6616b2ad Stefan Weil
@findex -hdb
117 6616b2ad Stefan Weil
@findex -hdc
118 6616b2ad Stefan Weil
@findex -hdd
119 5824d651 blueswir1
Use @var{file} as hard disk 0, 1, 2 or 3 image (@pxref{disk_images}).
120 5824d651 blueswir1
ETEXI
121 5824d651 blueswir1
122 5824d651 blueswir1
DEF("cdrom", HAS_ARG, QEMU_OPTION_cdrom,
123 ad96090a Blue Swirl
    "-cdrom file     use 'file' as IDE cdrom image (cdrom is ide1 master)\n",
124 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
125 5824d651 blueswir1
STEXI
126 5824d651 blueswir1
@item -cdrom @var{file}
127 6616b2ad Stefan Weil
@findex -cdrom
128 5824d651 blueswir1
Use @var{file} as CD-ROM image (you cannot use @option{-hdc} and
129 5824d651 blueswir1
@option{-cdrom} at the same time). You can use the host CD-ROM by
130 5824d651 blueswir1
using @file{/dev/cdrom} as filename (@pxref{host_drives}).
131 5824d651 blueswir1
ETEXI
132 5824d651 blueswir1
133 5824d651 blueswir1
DEF("drive", HAS_ARG, QEMU_OPTION_drive,
134 5824d651 blueswir1
    "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
135 5824d651 blueswir1
    "       [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n"
136 92196b2f Stefan Hajnoczi
    "       [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
137 016f5cf6 Alexander Graf
    "       [,serial=s][,addr=A][,id=name][,aio=threads|native]\n"
138 016f5cf6 Alexander Graf
    "       [,readonly=on|off]\n"
139 ad96090a Blue Swirl
    "                use 'file' as a drive image\n", QEMU_ARCH_ALL)
140 5824d651 blueswir1
STEXI
141 5824d651 blueswir1
@item -drive @var{option}[,@var{option}[,@var{option}[,...]]]
142 6616b2ad Stefan Weil
@findex -drive
143 5824d651 blueswir1
144 5824d651 blueswir1
Define a new drive. Valid options are:
145 5824d651 blueswir1
146 b3f046c2 Kevin Wolf
@table @option
147 5824d651 blueswir1
@item file=@var{file}
148 5824d651 blueswir1
This option defines which disk image (@pxref{disk_images}) to use with
149 5824d651 blueswir1
this drive. If the filename contains comma, you must double it
150 5824d651 blueswir1
(for instance, "file=my,,file" to use file "my,file").
151 5824d651 blueswir1
@item if=@var{interface}
152 5824d651 blueswir1
This option defines on which type on interface the drive is connected.
153 5824d651 blueswir1
Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio.
154 5824d651 blueswir1
@item bus=@var{bus},unit=@var{unit}
155 5824d651 blueswir1
These options define where is connected the drive by defining the bus number and
156 5824d651 blueswir1
the unit id.
157 5824d651 blueswir1
@item index=@var{index}
158 5824d651 blueswir1
This option defines where is connected the drive by using an index in the list
159 5824d651 blueswir1
of available connectors of a given interface type.
160 5824d651 blueswir1
@item media=@var{media}
161 5824d651 blueswir1
This option defines the type of the media: disk or cdrom.
162 5824d651 blueswir1
@item cyls=@var{c},heads=@var{h},secs=@var{s}[,trans=@var{t}]
163 5824d651 blueswir1
These options have the same definition as they have in @option{-hdachs}.
164 5824d651 blueswir1
@item snapshot=@var{snapshot}
165 5824d651 blueswir1
@var{snapshot} is "on" or "off" and allows to enable snapshot for given drive (see @option{-snapshot}).
166 5824d651 blueswir1
@item cache=@var{cache}
167 92196b2f Stefan Hajnoczi
@var{cache} is "none", "writeback", "unsafe", "directsync" or "writethrough" and controls how the host cache is used to access block data.
168 5c6c3a6c Christoph Hellwig
@item aio=@var{aio}
169 5c6c3a6c Christoph Hellwig
@var{aio} is "threads", or "native" and selects between pthread based disk I/O and native Linux AIO.
170 5824d651 blueswir1
@item format=@var{format}
171 5824d651 blueswir1
Specify which disk @var{format} will be used rather than detecting
172 5824d651 blueswir1
the format.  Can be used to specifiy format=raw to avoid interpreting
173 5824d651 blueswir1
an untrusted format header.
174 5824d651 blueswir1
@item serial=@var{serial}
175 5824d651 blueswir1
This option specifies the serial number to assign to the device.
176 c2cc47a4 Markus Armbruster
@item addr=@var{addr}
177 c2cc47a4 Markus Armbruster
Specify the controller's PCI address (if=virtio only).
178 ae73e591 Luiz Capitulino
@item werror=@var{action},rerror=@var{action}
179 ae73e591 Luiz Capitulino
Specify which @var{action} to take on write and read errors. Valid actions are:
180 ae73e591 Luiz Capitulino
"ignore" (ignore the error and try to continue), "stop" (pause QEMU),
181 ae73e591 Luiz Capitulino
"report" (report the error to the guest), "enospc" (pause QEMU only if the
182 ae73e591 Luiz Capitulino
host disk is full; report the error to the guest otherwise).
183 ae73e591 Luiz Capitulino
The default setting is @option{werror=enospc} and @option{rerror=report}.
184 ae73e591 Luiz Capitulino
@item readonly
185 ae73e591 Luiz Capitulino
Open drive @option{file} as read-only. Guest write attempts will fail.
186 5824d651 blueswir1
@end table
187 5824d651 blueswir1
188 5824d651 blueswir1
By default, writethrough caching is used for all block device.  This means that
189 5824d651 blueswir1
the host page cache will be used to read and write data but write notification
190 5824d651 blueswir1
will be sent to the guest only when the data has been reported as written by
191 5824d651 blueswir1
the storage subsystem.
192 5824d651 blueswir1
193 5824d651 blueswir1
Writeback caching will report data writes as completed as soon as the data is
194 5824d651 blueswir1
present in the host page cache.  This is safe as long as you trust your host.
195 5824d651 blueswir1
If your host crashes or loses power, then the guest may experience data
196 c3177288 Alexander Graf
corruption.
197 5824d651 blueswir1
198 c304d317 Aurelien Jarno
The host page cache can be avoided entirely with @option{cache=none}.  This will
199 5824d651 blueswir1
attempt to do disk IO directly to the guests memory.  QEMU may still perform
200 5824d651 blueswir1
an internal copy of the data.
201 5824d651 blueswir1
202 92196b2f Stefan Hajnoczi
The host page cache can be avoided while only sending write notifications to
203 92196b2f Stefan Hajnoczi
the guest when the data has been reported as written by the storage subsystem
204 92196b2f Stefan Hajnoczi
using @option{cache=directsync}.
205 92196b2f Stefan Hajnoczi
206 5824d651 blueswir1
Some block drivers perform badly with @option{cache=writethrough}, most notably,
207 5824d651 blueswir1
qcow2.  If performance is more important than correctness,
208 0aa217e4 Kevin Wolf
@option{cache=writeback} should be used with qcow2.
209 5824d651 blueswir1
210 016f5cf6 Alexander Graf
In case you don't care about data integrity over host failures, use
211 016f5cf6 Alexander Graf
cache=unsafe. This option tells qemu that it never needs to write any data
212 016f5cf6 Alexander Graf
to the disk but can instead keeps things in cache. If anything goes wrong,
213 016f5cf6 Alexander Graf
like your host losing power, the disk storage getting disconnected accidently,
214 c3177288 Alexander Graf
etc. you're image will most probably be rendered unusable.   When using
215 c3177288 Alexander Graf
the @option{-snapshot} option, unsafe caching is always used.
216 016f5cf6 Alexander Graf
217 5824d651 blueswir1
Instead of @option{-cdrom} you can use:
218 5824d651 blueswir1
@example
219 5824d651 blueswir1
qemu -drive file=file,index=2,media=cdrom
220 5824d651 blueswir1
@end example
221 5824d651 blueswir1
222 5824d651 blueswir1
Instead of @option{-hda}, @option{-hdb}, @option{-hdc}, @option{-hdd}, you can
223 5824d651 blueswir1
use:
224 5824d651 blueswir1
@example
225 5824d651 blueswir1
qemu -drive file=file,index=0,media=disk
226 5824d651 blueswir1
qemu -drive file=file,index=1,media=disk
227 5824d651 blueswir1
qemu -drive file=file,index=2,media=disk
228 5824d651 blueswir1
qemu -drive file=file,index=3,media=disk
229 5824d651 blueswir1
@end example
230 5824d651 blueswir1
231 5824d651 blueswir1
You can connect a CDROM to the slave of ide0:
232 5824d651 blueswir1
@example
233 5824d651 blueswir1
qemu -drive file=file,if=ide,index=1,media=cdrom
234 5824d651 blueswir1
@end example
235 5824d651 blueswir1
236 5824d651 blueswir1
If you don't specify the "file=" argument, you define an empty drive:
237 5824d651 blueswir1
@example
238 5824d651 blueswir1
qemu -drive if=ide,index=1,media=cdrom
239 5824d651 blueswir1
@end example
240 5824d651 blueswir1
241 5824d651 blueswir1
You can connect a SCSI disk with unit ID 6 on the bus #0:
242 5824d651 blueswir1
@example
243 5824d651 blueswir1
qemu -drive file=file,if=scsi,bus=0,unit=6
244 5824d651 blueswir1
@end example
245 5824d651 blueswir1
246 5824d651 blueswir1
Instead of @option{-fda}, @option{-fdb}, you can use:
247 5824d651 blueswir1
@example
248 5824d651 blueswir1
qemu -drive file=file,index=0,if=floppy
249 5824d651 blueswir1
qemu -drive file=file,index=1,if=floppy
250 5824d651 blueswir1
@end example
251 5824d651 blueswir1
252 5824d651 blueswir1
By default, @var{interface} is "ide" and @var{index} is automatically
253 5824d651 blueswir1
incremented:
254 5824d651 blueswir1
@example
255 5824d651 blueswir1
qemu -drive file=a -drive file=b"
256 5824d651 blueswir1
@end example
257 5824d651 blueswir1
is interpreted like:
258 5824d651 blueswir1
@example
259 5824d651 blueswir1
qemu -hda a -hdb b
260 5824d651 blueswir1
@end example
261 5824d651 blueswir1
ETEXI
262 5824d651 blueswir1
263 6616b2ad Stefan Weil
DEF("set", HAS_ARG, QEMU_OPTION_set,
264 6616b2ad Stefan Weil
    "-set group.id.arg=value\n"
265 6616b2ad Stefan Weil
    "                set <arg> parameter for item <id> of type <group>\n"
266 ad96090a Blue Swirl
    "                i.e. -set drive.$id.file=/path/to/image\n", QEMU_ARCH_ALL)
267 6616b2ad Stefan Weil
STEXI
268 6616b2ad Stefan Weil
@item -set
269 6616b2ad Stefan Weil
@findex -set
270 6616b2ad Stefan Weil
TODO
271 6616b2ad Stefan Weil
ETEXI
272 6616b2ad Stefan Weil
273 6616b2ad Stefan Weil
DEF("global", HAS_ARG, QEMU_OPTION_global,
274 6616b2ad Stefan Weil
    "-global driver.property=value\n"
275 ad96090a Blue Swirl
    "                set a global default for a driver property\n",
276 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
277 6616b2ad Stefan Weil
STEXI
278 6616b2ad Stefan Weil
@item -global
279 6616b2ad Stefan Weil
@findex -global
280 6616b2ad Stefan Weil
TODO
281 6616b2ad Stefan Weil
ETEXI
282 6616b2ad Stefan Weil
283 5824d651 blueswir1
DEF("mtdblock", HAS_ARG, QEMU_OPTION_mtdblock,
284 ad96090a Blue Swirl
    "-mtdblock file  use 'file' as on-board Flash memory image\n",
285 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
286 5824d651 blueswir1
STEXI
287 4e257e5e Kevin Wolf
@item -mtdblock @var{file}
288 6616b2ad Stefan Weil
@findex -mtdblock
289 4e257e5e Kevin Wolf
Use @var{file} as on-board Flash memory image.
290 5824d651 blueswir1
ETEXI
291 5824d651 blueswir1
292 5824d651 blueswir1
DEF("sd", HAS_ARG, QEMU_OPTION_sd,
293 ad96090a Blue Swirl
    "-sd file        use 'file' as SecureDigital card image\n", QEMU_ARCH_ALL)
294 5824d651 blueswir1
STEXI
295 4e257e5e Kevin Wolf
@item -sd @var{file}
296 6616b2ad Stefan Weil
@findex -sd
297 4e257e5e Kevin Wolf
Use @var{file} as SecureDigital card image.
298 5824d651 blueswir1
ETEXI
299 5824d651 blueswir1
300 5824d651 blueswir1
DEF("pflash", HAS_ARG, QEMU_OPTION_pflash,
301 ad96090a Blue Swirl
    "-pflash file    use 'file' as a parallel flash image\n", QEMU_ARCH_ALL)
302 5824d651 blueswir1
STEXI
303 4e257e5e Kevin Wolf
@item -pflash @var{file}
304 6616b2ad Stefan Weil
@findex -pflash
305 4e257e5e Kevin Wolf
Use @var{file} as a parallel flash image.
306 5824d651 blueswir1
ETEXI
307 5824d651 blueswir1
308 5824d651 blueswir1
DEF("boot", HAS_ARG, QEMU_OPTION_boot,
309 2221dde5 Jan Kiszka
    "-boot [order=drives][,once=drives][,menu=on|off]\n"
310 3d3b8303 wayne
    "      [,splash=sp_name][,splash-time=sp_time]\n"
311 3d3b8303 wayne
    "                'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)\n"
312 3d3b8303 wayne
    "                'sp_name': the file's name that would be passed to bios as logo picture, if menu=on\n"
313 3d3b8303 wayne
    "                'sp_time': the period that splash picture last if menu=on, unit is ms\n",
314 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
315 5824d651 blueswir1
STEXI
316 3d3b8303 wayne
@item -boot [order=@var{drives}][,once=@var{drives}][,menu=on|off][,splash=@var{sp_name}][,splash-time=@var{sp_time}]
317 6616b2ad Stefan Weil
@findex -boot
318 2221dde5 Jan Kiszka
Specify boot order @var{drives} as a string of drive letters. Valid
319 2221dde5 Jan Kiszka
drive letters depend on the target achitecture. The x86 PC uses: a, b
320 2221dde5 Jan Kiszka
(floppy 1 and 2), c (first hard disk), d (first CD-ROM), n-p (Etherboot
321 2221dde5 Jan Kiszka
from network adapter 1-4), hard disk boot is the default. To apply a
322 2221dde5 Jan Kiszka
particular boot order only on the first startup, specify it via
323 2221dde5 Jan Kiszka
@option{once}.
324 2221dde5 Jan Kiszka
325 2221dde5 Jan Kiszka
Interactive boot menus/prompts can be enabled via @option{menu=on} as far
326 2221dde5 Jan Kiszka
as firmware/BIOS supports them. The default is non-interactive boot.
327 2221dde5 Jan Kiszka
328 3d3b8303 wayne
A splash picture could be passed to bios, enabling user to show it as logo,
329 3d3b8303 wayne
when option splash=@var{sp_name} is given and menu=on, If firmware/BIOS
330 3d3b8303 wayne
supports them. Currently Seabios for X86 system support it.
331 3d3b8303 wayne
limitation: The splash file could be a jpeg file or a BMP file in 24 BPP
332 3d3b8303 wayne
format(true color). The resolution should be supported by the SVGA mode, so
333 3d3b8303 wayne
the recommended is 320x240, 640x480, 800x640.
334 3d3b8303 wayne
335 2221dde5 Jan Kiszka
@example
336 2221dde5 Jan Kiszka
# try to boot from network first, then from hard disk
337 2221dde5 Jan Kiszka
qemu -boot order=nc
338 2221dde5 Jan Kiszka
# boot from CD-ROM first, switch back to default order after reboot
339 2221dde5 Jan Kiszka
qemu -boot once=d
340 3d3b8303 wayne
# boot with a splash picture for 5 seconds.
341 3d3b8303 wayne
qemu -boot menu=on,splash=/root/boot.bmp,splash-time=5000
342 2221dde5 Jan Kiszka
@end example
343 2221dde5 Jan Kiszka
344 2221dde5 Jan Kiszka
Note: The legacy format '-boot @var{drives}' is still supported but its
345 2221dde5 Jan Kiszka
use is discouraged as it may be removed from future versions.
346 5824d651 blueswir1
ETEXI
347 5824d651 blueswir1
348 5824d651 blueswir1
DEF("snapshot", 0, QEMU_OPTION_snapshot,
349 ad96090a Blue Swirl
    "-snapshot       write to temporary files instead of disk image files\n",
350 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
351 5824d651 blueswir1
STEXI
352 5824d651 blueswir1
@item -snapshot
353 6616b2ad Stefan Weil
@findex -snapshot
354 5824d651 blueswir1
Write to temporary files instead of disk image files. In this case,
355 5824d651 blueswir1
the raw disk image you use is not written back. You can however force
356 5824d651 blueswir1
the write back by pressing @key{C-a s} (@pxref{disk_images}).
357 5824d651 blueswir1
ETEXI
358 5824d651 blueswir1
359 5824d651 blueswir1
DEF("m", HAS_ARG, QEMU_OPTION_m,
360 bec7c2d4 Paolo Bonzini
    "-m megs         set virtual RAM size to megs MB [default="
361 ad96090a Blue Swirl
    stringify(DEFAULT_RAM_SIZE) "]\n", QEMU_ARCH_ALL)
362 5824d651 blueswir1
STEXI
363 5824d651 blueswir1
@item -m @var{megs}
364 6616b2ad Stefan Weil
@findex -m
365 5824d651 blueswir1
Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB.  Optionally,
366 5824d651 blueswir1
a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
367 5824d651 blueswir1
gigabytes respectively.
368 5824d651 blueswir1
ETEXI
369 5824d651 blueswir1
370 c902760f Marcelo Tosatti
DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
371 ad96090a Blue Swirl
    "-mem-path FILE  provide backing storage for guest RAM\n", QEMU_ARCH_ALL)
372 c902760f Marcelo Tosatti
STEXI
373 c902760f Marcelo Tosatti
@item -mem-path @var{path}
374 c902760f Marcelo Tosatti
Allocate guest RAM from a temporarily created file in @var{path}.
375 c902760f Marcelo Tosatti
ETEXI
376 c902760f Marcelo Tosatti
377 c902760f Marcelo Tosatti
#ifdef MAP_POPULATE
378 c902760f Marcelo Tosatti
DEF("mem-prealloc", 0, QEMU_OPTION_mem_prealloc,
379 ad96090a Blue Swirl
    "-mem-prealloc   preallocate guest memory (use with -mem-path)\n",
380 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
381 c902760f Marcelo Tosatti
STEXI
382 c902760f Marcelo Tosatti
@item -mem-prealloc
383 c902760f Marcelo Tosatti
Preallocate memory when using -mem-path.
384 c902760f Marcelo Tosatti
ETEXI
385 c902760f Marcelo Tosatti
#endif
386 c902760f Marcelo Tosatti
387 5824d651 blueswir1
DEF("k", HAS_ARG, QEMU_OPTION_k,
388 ad96090a Blue Swirl
    "-k language     use keyboard layout (for example 'fr' for French)\n",
389 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
390 5824d651 blueswir1
STEXI
391 5824d651 blueswir1
@item -k @var{language}
392 6616b2ad Stefan Weil
@findex -k
393 5824d651 blueswir1
Use keyboard layout @var{language} (for example @code{fr} for
394 5824d651 blueswir1
French). This option is only needed where it is not easy to get raw PC
395 5824d651 blueswir1
keycodes (e.g. on Macs, with some X11 servers or with a VNC
396 5824d651 blueswir1
display). You don't normally need to use it on PC/Linux or PC/Windows
397 5824d651 blueswir1
hosts.
398 5824d651 blueswir1
399 5824d651 blueswir1
The available layouts are:
400 5824d651 blueswir1
@example
401 5824d651 blueswir1
ar  de-ch  es  fo     fr-ca  hu  ja  mk     no  pt-br  sv
402 5824d651 blueswir1
da  en-gb  et  fr     fr-ch  is  lt  nl     pl  ru     th
403 5824d651 blueswir1
de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr
404 5824d651 blueswir1
@end example
405 5824d651 blueswir1
406 5824d651 blueswir1
The default is @code{en-us}.
407 5824d651 blueswir1
ETEXI
408 5824d651 blueswir1
409 5824d651 blueswir1
410 5824d651 blueswir1
DEF("audio-help", 0, QEMU_OPTION_audio_help,
411 ad96090a Blue Swirl
    "-audio-help     print list of audio drivers and their options\n",
412 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
413 5824d651 blueswir1
STEXI
414 5824d651 blueswir1
@item -audio-help
415 6616b2ad Stefan Weil
@findex -audio-help
416 5824d651 blueswir1
Will show the audio subsystem help: list of drivers, tunable
417 5824d651 blueswir1
parameters.
418 5824d651 blueswir1
ETEXI
419 5824d651 blueswir1
420 5824d651 blueswir1
DEF("soundhw", HAS_ARG, QEMU_OPTION_soundhw,
421 5824d651 blueswir1
    "-soundhw c1,... enable audio support\n"
422 5824d651 blueswir1
    "                and only specified sound cards (comma separated list)\n"
423 5824d651 blueswir1
    "                use -soundhw ? to get the list of supported cards\n"
424 ad96090a Blue Swirl
    "                use -soundhw all to enable all of them\n", QEMU_ARCH_ALL)
425 5824d651 blueswir1
STEXI
426 5824d651 blueswir1
@item -soundhw @var{card1}[,@var{card2},...] or -soundhw all
427 6616b2ad Stefan Weil
@findex -soundhw
428 5824d651 blueswir1
Enable audio and selected sound hardware. Use ? to print all
429 5824d651 blueswir1
available sound hardware.
430 5824d651 blueswir1
431 5824d651 blueswir1
@example
432 5824d651 blueswir1
qemu -soundhw sb16,adlib disk.img
433 5824d651 blueswir1
qemu -soundhw es1370 disk.img
434 5824d651 blueswir1
qemu -soundhw ac97 disk.img
435 7d72e762 Gerd Hoffmann
qemu -soundhw hda disk.img
436 5824d651 blueswir1
qemu -soundhw all disk.img
437 5824d651 blueswir1
qemu -soundhw ?
438 5824d651 blueswir1
@end example
439 5824d651 blueswir1
440 5824d651 blueswir1
Note that Linux's i810_audio OSS kernel (for AC97) module might
441 5824d651 blueswir1
require manually specifying clocking.
442 5824d651 blueswir1
443 5824d651 blueswir1
@example
444 5824d651 blueswir1
modprobe i810_audio clocking=48000
445 5824d651 blueswir1
@end example
446 5824d651 blueswir1
ETEXI
447 5824d651 blueswir1
448 5824d651 blueswir1
STEXI
449 5824d651 blueswir1
@end table
450 5824d651 blueswir1
ETEXI
451 5824d651 blueswir1
452 5824d651 blueswir1
DEF("usb", 0, QEMU_OPTION_usb,
453 ad96090a Blue Swirl
    "-usb            enable the USB driver (will be the default soon)\n",
454 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
455 5824d651 blueswir1
STEXI
456 5824d651 blueswir1
USB options:
457 5824d651 blueswir1
@table @option
458 5824d651 blueswir1
459 5824d651 blueswir1
@item -usb
460 6616b2ad Stefan Weil
@findex -usb
461 5824d651 blueswir1
Enable the USB driver (will be the default soon)
462 5824d651 blueswir1
ETEXI
463 5824d651 blueswir1
464 5824d651 blueswir1
DEF("usbdevice", HAS_ARG, QEMU_OPTION_usbdevice,
465 ad96090a Blue Swirl
    "-usbdevice name add the host or guest USB device 'name'\n",
466 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
467 5824d651 blueswir1
STEXI
468 5824d651 blueswir1
469 5824d651 blueswir1
@item -usbdevice @var{devname}
470 6616b2ad Stefan Weil
@findex -usbdevice
471 5824d651 blueswir1
Add the USB device @var{devname}. @xref{usb_devices}.
472 5824d651 blueswir1
473 b3f046c2 Kevin Wolf
@table @option
474 5824d651 blueswir1
475 5824d651 blueswir1
@item mouse
476 5824d651 blueswir1
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
477 5824d651 blueswir1
478 5824d651 blueswir1
@item tablet
479 5824d651 blueswir1
Pointer device that uses absolute coordinates (like a touchscreen). This
480 5824d651 blueswir1
means qemu is able to report the mouse position without having to grab the
481 5824d651 blueswir1
mouse. Also overrides the PS/2 mouse emulation when activated.
482 5824d651 blueswir1
483 4e257e5e Kevin Wolf
@item disk:[format=@var{format}]:@var{file}
484 5824d651 blueswir1
Mass storage device based on file. The optional @var{format} argument
485 5824d651 blueswir1
will be used rather than detecting the format. Can be used to specifiy
486 4e257e5e Kevin Wolf
@code{format=raw} to avoid interpreting an untrusted format header.
487 5824d651 blueswir1
488 4e257e5e Kevin Wolf
@item host:@var{bus}.@var{addr}
489 4e257e5e Kevin Wolf
Pass through the host device identified by @var{bus}.@var{addr} (Linux only).
490 5824d651 blueswir1
491 4e257e5e Kevin Wolf
@item host:@var{vendor_id}:@var{product_id}
492 4e257e5e Kevin Wolf
Pass through the host device identified by @var{vendor_id}:@var{product_id}
493 4e257e5e Kevin Wolf
(Linux only).
494 5824d651 blueswir1
495 5824d651 blueswir1
@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
496 5824d651 blueswir1
Serial converter to host character device @var{dev}, see @code{-serial} for the
497 5824d651 blueswir1
available devices.
498 5824d651 blueswir1
499 5824d651 blueswir1
@item braille
500 5824d651 blueswir1
Braille device.  This will use BrlAPI to display the braille output on a real
501 5824d651 blueswir1
or fake device.
502 5824d651 blueswir1
503 4e257e5e Kevin Wolf
@item net:@var{options}
504 5824d651 blueswir1
Network adapter that supports CDC ethernet and RNDIS protocols.
505 5824d651 blueswir1
506 5824d651 blueswir1
@end table
507 5824d651 blueswir1
ETEXI
508 5824d651 blueswir1
509 bd3c948d Gerd Hoffmann
DEF("device", HAS_ARG, QEMU_OPTION_device,
510 40ea285c Markus Armbruster
    "-device driver[,prop[=value][,...]]\n"
511 40ea285c Markus Armbruster
    "                add device (based on driver)\n"
512 40ea285c Markus Armbruster
    "                prop=value,... sets driver properties\n"
513 69a319d1 Stefan Weil
    "                use -device ? to print all possible drivers\n"
514 9848bbf1 Markus Armbruster
    "                use -device driver,? to print all possible properties\n",
515 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
516 3dbf2c7f Stefan Weil
STEXI
517 9848bbf1 Markus Armbruster
@item -device @var{driver}[,@var{prop}[=@var{value}][,...]]
518 6616b2ad Stefan Weil
@findex -device
519 9848bbf1 Markus Armbruster
Add device @var{driver}.  @var{prop}=@var{value} sets driver
520 9848bbf1 Markus Armbruster
properties.  Valid properties depend on the driver.  To get help on
521 9848bbf1 Markus Armbruster
possible drivers and properties, use @code{-device ?} and
522 9848bbf1 Markus Armbruster
@code{-device @var{driver},?}.
523 3dbf2c7f Stefan Weil
ETEXI
524 3dbf2c7f Stefan Weil
525 74db920c Gautham R Shenoy
DEFHEADING(File system options:)
526 74db920c Gautham R Shenoy
527 74db920c Gautham R Shenoy
DEF("fsdev", HAS_ARG, QEMU_OPTION_fsdev,
528 12848bfc Aneesh Kumar K.V
    "-fsdev local,id=id,path=path,security_model=[mapped|passthrough|none]\n",
529 74db920c Gautham R Shenoy
    QEMU_ARCH_ALL)
530 74db920c Gautham R Shenoy
531 74db920c Gautham R Shenoy
STEXI
532 74db920c Gautham R Shenoy
533 74db920c Gautham R Shenoy
The general form of a File system device option is:
534 74db920c Gautham R Shenoy
@table @option
535 74db920c Gautham R Shenoy
536 74db920c Gautham R Shenoy
@item -fsdev @var{fstype} ,id=@var{id} [,@var{options}]
537 74db920c Gautham R Shenoy
@findex -fsdev
538 74db920c Gautham R Shenoy
Fstype is one of:
539 74db920c Gautham R Shenoy
@option{local},
540 74db920c Gautham R Shenoy
The specific Fstype will determine the applicable options.
541 74db920c Gautham R Shenoy
542 74db920c Gautham R Shenoy
Options to each backend are described below.
543 74db920c Gautham R Shenoy
544 9ce56db6 Venkateswararao Jujjuri (JV)
@item -fsdev local ,id=@var{id} ,path=@var{path} ,security_model=@var{security_model}
545 74db920c Gautham R Shenoy
546 74db920c Gautham R Shenoy
Create a file-system-"device" for local-filesystem.
547 74db920c Gautham R Shenoy
548 74db920c Gautham R Shenoy
@option{local} is only available on Linux.
549 74db920c Gautham R Shenoy
550 74db920c Gautham R Shenoy
@option{path} specifies the path to be exported. @option{path} is required.
551 74db920c Gautham R Shenoy
552 9ce56db6 Venkateswararao Jujjuri (JV)
@option{security_model} specifies the security model to be followed.
553 9ce56db6 Venkateswararao Jujjuri (JV)
@option{security_model} is required.
554 9ce56db6 Venkateswararao Jujjuri (JV)
555 74db920c Gautham R Shenoy
@end table
556 74db920c Gautham R Shenoy
ETEXI
557 74db920c Gautham R Shenoy
558 3d54abc7 Gautham R Shenoy
DEFHEADING(Virtual File system pass-through options:)
559 3d54abc7 Gautham R Shenoy
560 3d54abc7 Gautham R Shenoy
DEF("virtfs", HAS_ARG, QEMU_OPTION_virtfs,
561 12848bfc Aneesh Kumar K.V
    "-virtfs local,path=path,mount_tag=tag,security_model=[mapped|passthrough|none]\n",
562 3d54abc7 Gautham R Shenoy
    QEMU_ARCH_ALL)
563 3d54abc7 Gautham R Shenoy
564 3d54abc7 Gautham R Shenoy
STEXI
565 3d54abc7 Gautham R Shenoy
566 3d54abc7 Gautham R Shenoy
The general form of a Virtual File system pass-through option is:
567 3d54abc7 Gautham R Shenoy
@table @option
568 3d54abc7 Gautham R Shenoy
569 3d54abc7 Gautham R Shenoy
@item -virtfs @var{fstype} [,@var{options}]
570 3d54abc7 Gautham R Shenoy
@findex -virtfs
571 3d54abc7 Gautham R Shenoy
Fstype is one of:
572 3d54abc7 Gautham R Shenoy
@option{local},
573 3d54abc7 Gautham R Shenoy
The specific Fstype will determine the applicable options.
574 3d54abc7 Gautham R Shenoy
575 3d54abc7 Gautham R Shenoy
Options to each backend are described below.
576 3d54abc7 Gautham R Shenoy
577 9ce56db6 Venkateswararao Jujjuri (JV)
@item -virtfs local ,path=@var{path} ,mount_tag=@var{mount_tag} ,security_model=@var{security_model}
578 3d54abc7 Gautham R Shenoy
579 3d54abc7 Gautham R Shenoy
Create a Virtual file-system-pass through for local-filesystem.
580 3d54abc7 Gautham R Shenoy
581 3d54abc7 Gautham R Shenoy
@option{local} is only available on Linux.
582 3d54abc7 Gautham R Shenoy
583 3d54abc7 Gautham R Shenoy
@option{path} specifies the path to be exported. @option{path} is required.
584 3d54abc7 Gautham R Shenoy
585 9ce56db6 Venkateswararao Jujjuri (JV)
@option{security_model} specifies the security model to be followed.
586 9ce56db6 Venkateswararao Jujjuri (JV)
@option{security_model} is required.
587 9ce56db6 Venkateswararao Jujjuri (JV)
588 9ce56db6 Venkateswararao Jujjuri (JV)
589 3d54abc7 Gautham R Shenoy
@option{mount_tag} specifies the tag with which the exported file is mounted.
590 3d54abc7 Gautham R Shenoy
@option{mount_tag} is required.
591 3d54abc7 Gautham R Shenoy
592 3d54abc7 Gautham R Shenoy
@end table
593 3d54abc7 Gautham R Shenoy
ETEXI
594 3d54abc7 Gautham R Shenoy
595 74db920c Gautham R Shenoy
DEFHEADING()
596 74db920c Gautham R Shenoy
597 5824d651 blueswir1
DEF("name", HAS_ARG, QEMU_OPTION_name,
598 ca1a8a06 Bruce Rogers
    "-name string1[,process=string2]\n"
599 ca1a8a06 Bruce Rogers
    "                set the name of the guest\n"
600 ad96090a Blue Swirl
    "                string1 sets the window title and string2 the process name (on Linux)\n",
601 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
602 5824d651 blueswir1
STEXI
603 5824d651 blueswir1
@item -name @var{name}
604 6616b2ad Stefan Weil
@findex -name
605 5824d651 blueswir1
Sets the @var{name} of the guest.
606 5824d651 blueswir1
This name will be displayed in the SDL window caption.
607 5824d651 blueswir1
The @var{name} will also be used for the VNC server.
608 1889465a Andi Kleen
Also optionally set the top visible process name in Linux.
609 5824d651 blueswir1
ETEXI
610 5824d651 blueswir1
611 5824d651 blueswir1
DEF("uuid", HAS_ARG, QEMU_OPTION_uuid,
612 e8105ebb Paolo Bonzini
    "-uuid %08x-%04x-%04x-%04x-%012x\n"
613 ad96090a Blue Swirl
    "                specify machine UUID\n", QEMU_ARCH_ALL)
614 5824d651 blueswir1
STEXI
615 5824d651 blueswir1
@item -uuid @var{uuid}
616 6616b2ad Stefan Weil
@findex -uuid
617 5824d651 blueswir1
Set system UUID.
618 5824d651 blueswir1
ETEXI
619 5824d651 blueswir1
620 5824d651 blueswir1
STEXI
621 5824d651 blueswir1
@end table
622 5824d651 blueswir1
ETEXI
623 5824d651 blueswir1
624 5824d651 blueswir1
DEFHEADING()
625 5824d651 blueswir1
626 5824d651 blueswir1
DEFHEADING(Display options:)
627 5824d651 blueswir1
628 5824d651 blueswir1
STEXI
629 5824d651 blueswir1
@table @option
630 5824d651 blueswir1
ETEXI
631 5824d651 blueswir1
632 1472a95b Jes Sorensen
DEF("display", HAS_ARG, QEMU_OPTION_display,
633 1472a95b Jes Sorensen
    "-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
634 3264ff12 Jes Sorensen
    "            [,window_close=on|off]|curses|none|\n"
635 3264ff12 Jes Sorensen
    "            vnc=<display>[,<optargs>]\n"
636 1472a95b Jes Sorensen
    "                select display type\n", QEMU_ARCH_ALL)
637 1472a95b Jes Sorensen
STEXI
638 1472a95b Jes Sorensen
@item -display @var{type}
639 1472a95b Jes Sorensen
@findex -display
640 1472a95b Jes Sorensen
Select type of display to use. This option is a replacement for the
641 1472a95b Jes Sorensen
old style -sdl/-curses/... options. Valid values for @var{type} are
642 1472a95b Jes Sorensen
@table @option
643 1472a95b Jes Sorensen
@item sdl
644 1472a95b Jes Sorensen
Display video output via SDL (usually in a separate graphics
645 1472a95b Jes Sorensen
window; see the SDL documentation for other possibilities).
646 1472a95b Jes Sorensen
@item curses
647 1472a95b Jes Sorensen
Display video output via curses. For graphics device models which
648 1472a95b Jes Sorensen
support a text mode, QEMU can display this output using a
649 1472a95b Jes Sorensen
curses/ncurses interface. Nothing is displayed when the graphics
650 1472a95b Jes Sorensen
device is in graphical mode or if the graphics device does not support
651 1472a95b Jes Sorensen
a text mode. Generally only the VGA device models support text mode.
652 4171d32e Jes Sorensen
@item none
653 4171d32e Jes Sorensen
Do not display video output. The guest will still see an emulated
654 4171d32e Jes Sorensen
graphics card, but its output will not be displayed to the QEMU
655 4171d32e Jes Sorensen
user. This option differs from the -nographic option in that it
656 4171d32e Jes Sorensen
only affects what is done with video output; -nographic also changes
657 4171d32e Jes Sorensen
the destination of the serial and parallel port data.
658 3264ff12 Jes Sorensen
@item vnc
659 3264ff12 Jes Sorensen
Start a VNC server on display <arg>
660 1472a95b Jes Sorensen
@end table
661 1472a95b Jes Sorensen
ETEXI
662 1472a95b Jes Sorensen
663 5824d651 blueswir1
DEF("nographic", 0, QEMU_OPTION_nographic,
664 ad96090a Blue Swirl
    "-nographic      disable graphical output and redirect serial I/Os to console\n",
665 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
666 5824d651 blueswir1
STEXI
667 5824d651 blueswir1
@item -nographic
668 6616b2ad Stefan Weil
@findex -nographic
669 5824d651 blueswir1
Normally, QEMU uses SDL to display the VGA output. With this option,
670 5824d651 blueswir1
you can totally disable graphical output so that QEMU is a simple
671 5824d651 blueswir1
command line application. The emulated serial port is redirected on
672 5824d651 blueswir1
the console. Therefore, you can still use QEMU to debug a Linux kernel
673 5824d651 blueswir1
with a serial console.
674 5824d651 blueswir1
ETEXI
675 5824d651 blueswir1
676 5824d651 blueswir1
DEF("curses", 0, QEMU_OPTION_curses,
677 ad96090a Blue Swirl
    "-curses         use a curses/ncurses interface instead of SDL\n",
678 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
679 5824d651 blueswir1
STEXI
680 5824d651 blueswir1
@item -curses
681 6616b2ad Stefan Weil
@findex curses
682 5824d651 blueswir1
Normally, QEMU uses SDL to display the VGA output.  With this option,
683 5824d651 blueswir1
QEMU can display the VGA output when in text mode using a
684 5824d651 blueswir1
curses/ncurses interface.  Nothing is displayed in graphical mode.
685 5824d651 blueswir1
ETEXI
686 5824d651 blueswir1
687 5824d651 blueswir1
DEF("no-frame", 0, QEMU_OPTION_no_frame,
688 ad96090a Blue Swirl
    "-no-frame       open SDL window without a frame and window decorations\n",
689 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
690 5824d651 blueswir1
STEXI
691 5824d651 blueswir1
@item -no-frame
692 6616b2ad Stefan Weil
@findex -no-frame
693 5824d651 blueswir1
Do not use decorations for SDL windows and start them using the whole
694 5824d651 blueswir1
available screen space. This makes the using QEMU in a dedicated desktop
695 5824d651 blueswir1
workspace more convenient.
696 5824d651 blueswir1
ETEXI
697 5824d651 blueswir1
698 5824d651 blueswir1
DEF("alt-grab", 0, QEMU_OPTION_alt_grab,
699 ad96090a Blue Swirl
    "-alt-grab       use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n",
700 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
701 5824d651 blueswir1
STEXI
702 5824d651 blueswir1
@item -alt-grab
703 6616b2ad Stefan Weil
@findex -alt-grab
704 de1db2a1 Brad Hards
Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt). Note that this also
705 de1db2a1 Brad Hards
affects the special keys (for fullscreen, monitor-mode switching, etc).
706 5824d651 blueswir1
ETEXI
707 5824d651 blueswir1
708 0ca9f8a4 Dustin Kirkland
DEF("ctrl-grab", 0, QEMU_OPTION_ctrl_grab,
709 ad96090a Blue Swirl
    "-ctrl-grab      use Right-Ctrl to grab mouse (instead of Ctrl-Alt)\n",
710 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
711 0ca9f8a4 Dustin Kirkland
STEXI
712 0ca9f8a4 Dustin Kirkland
@item -ctrl-grab
713 6616b2ad Stefan Weil
@findex -ctrl-grab
714 de1db2a1 Brad Hards
Use Right-Ctrl to grab mouse (instead of Ctrl-Alt). Note that this also
715 de1db2a1 Brad Hards
affects the special keys (for fullscreen, monitor-mode switching, etc).
716 0ca9f8a4 Dustin Kirkland
ETEXI
717 0ca9f8a4 Dustin Kirkland
718 5824d651 blueswir1
DEF("no-quit", 0, QEMU_OPTION_no_quit,
719 ad96090a Blue Swirl
    "-no-quit        disable SDL window close capability\n", QEMU_ARCH_ALL)
720 5824d651 blueswir1
STEXI
721 5824d651 blueswir1
@item -no-quit
722 6616b2ad Stefan Weil
@findex -no-quit
723 5824d651 blueswir1
Disable SDL window close capability.
724 5824d651 blueswir1
ETEXI
725 5824d651 blueswir1
726 5824d651 blueswir1
DEF("sdl", 0, QEMU_OPTION_sdl,
727 ad96090a Blue Swirl
    "-sdl            enable SDL\n", QEMU_ARCH_ALL)
728 5824d651 blueswir1
STEXI
729 5824d651 blueswir1
@item -sdl
730 6616b2ad Stefan Weil
@findex -sdl
731 5824d651 blueswir1
Enable SDL.
732 5824d651 blueswir1
ETEXI
733 5824d651 blueswir1
734 29b0040b Gerd Hoffmann
DEF("spice", HAS_ARG, QEMU_OPTION_spice,
735 29b0040b Gerd Hoffmann
    "-spice <args>   enable spice\n", QEMU_ARCH_ALL)
736 29b0040b Gerd Hoffmann
STEXI
737 29b0040b Gerd Hoffmann
@item -spice @var{option}[,@var{option}[,...]]
738 29b0040b Gerd Hoffmann
@findex -spice
739 29b0040b Gerd Hoffmann
Enable the spice remote desktop protocol. Valid options are
740 29b0040b Gerd Hoffmann
741 29b0040b Gerd Hoffmann
@table @option
742 29b0040b Gerd Hoffmann
743 29b0040b Gerd Hoffmann
@item port=<nr>
744 c448e855 Gerd Hoffmann
Set the TCP port spice is listening on for plaintext channels.
745 29b0040b Gerd Hoffmann
746 333b0eeb Gerd Hoffmann
@item addr=<addr>
747 333b0eeb Gerd Hoffmann
Set the IP address spice is listening on.  Default is any address.
748 333b0eeb Gerd Hoffmann
749 333b0eeb Gerd Hoffmann
@item ipv4
750 333b0eeb Gerd Hoffmann
@item ipv6
751 333b0eeb Gerd Hoffmann
Force using the specified IP version.
752 333b0eeb Gerd Hoffmann
753 29b0040b Gerd Hoffmann
@item password=<secret>
754 29b0040b Gerd Hoffmann
Set the password you need to authenticate.
755 29b0040b Gerd Hoffmann
756 48b3ed0a Marc-André Lureau
@item sasl
757 48b3ed0a Marc-André Lureau
Require that the client use SASL to authenticate with the spice.
758 48b3ed0a Marc-André Lureau
The exact choice of authentication method used is controlled from the
759 48b3ed0a Marc-André Lureau
system / user's SASL configuration file for the 'qemu' service. This
760 48b3ed0a Marc-André Lureau
is typically found in /etc/sasl2/qemu.conf. If running QEMU as an
761 48b3ed0a Marc-André Lureau
unprivileged user, an environment variable SASL_CONF_PATH can be used
762 48b3ed0a Marc-André Lureau
to make it search alternate locations for the service config.
763 48b3ed0a Marc-André Lureau
While some SASL auth methods can also provide data encryption (eg GSSAPI),
764 48b3ed0a Marc-André Lureau
it is recommended that SASL always be combined with the 'tls' and
765 48b3ed0a Marc-André Lureau
'x509' settings to enable use of SSL and server certificates. This
766 48b3ed0a Marc-André Lureau
ensures a data encryption preventing compromise of authentication
767 48b3ed0a Marc-André Lureau
credentials.
768 48b3ed0a Marc-André Lureau
769 29b0040b Gerd Hoffmann
@item disable-ticketing
770 29b0040b Gerd Hoffmann
Allow client connects without authentication.
771 29b0040b Gerd Hoffmann
772 d4970b07 Hans de Goede
@item disable-copy-paste
773 d4970b07 Hans de Goede
Disable copy paste between the client and the guest.
774 d4970b07 Hans de Goede
775 c448e855 Gerd Hoffmann
@item tls-port=<nr>
776 c448e855 Gerd Hoffmann
Set the TCP port spice is listening on for encrypted channels.
777 c448e855 Gerd Hoffmann
778 c448e855 Gerd Hoffmann
@item x509-dir=<dir>
779 c448e855 Gerd Hoffmann
Set the x509 file directory. Expects same filenames as -vnc $display,x509=$dir
780 c448e855 Gerd Hoffmann
781 c448e855 Gerd Hoffmann
@item x509-key-file=<file>
782 c448e855 Gerd Hoffmann
@item x509-key-password=<file>
783 c448e855 Gerd Hoffmann
@item x509-cert-file=<file>
784 c448e855 Gerd Hoffmann
@item x509-cacert-file=<file>
785 c448e855 Gerd Hoffmann
@item x509-dh-key-file=<file>
786 c448e855 Gerd Hoffmann
The x509 file names can also be configured individually.
787 c448e855 Gerd Hoffmann
788 c448e855 Gerd Hoffmann
@item tls-ciphers=<list>
789 c448e855 Gerd Hoffmann
Specify which ciphers to use.
790 c448e855 Gerd Hoffmann
791 17b6dea0 Gerd Hoffmann
@item tls-channel=[main|display|inputs|record|playback|tunnel]
792 17b6dea0 Gerd Hoffmann
@item plaintext-channel=[main|display|inputs|record|playback|tunnel]
793 17b6dea0 Gerd Hoffmann
Force specific channel to be used with or without TLS encryption.  The
794 17b6dea0 Gerd Hoffmann
options can be specified multiple times to configure multiple
795 17b6dea0 Gerd Hoffmann
channels.  The special name "default" can be used to set the default
796 17b6dea0 Gerd Hoffmann
mode.  For channels which are not explicitly forced into one mode the
797 17b6dea0 Gerd Hoffmann
spice client is allowed to pick tls/plaintext as he pleases.
798 17b6dea0 Gerd Hoffmann
799 9f04e09e Yonit Halperin
@item image-compression=[auto_glz|auto_lz|quic|glz|lz|off]
800 9f04e09e Yonit Halperin
Configure image compression (lossless).
801 9f04e09e Yonit Halperin
Default is auto_glz.
802 9f04e09e Yonit Halperin
803 9f04e09e Yonit Halperin
@item jpeg-wan-compression=[auto|never|always]
804 9f04e09e Yonit Halperin
@item zlib-glz-wan-compression=[auto|never|always]
805 9f04e09e Yonit Halperin
Configure wan image compression (lossy for slow links).
806 9f04e09e Yonit Halperin
Default is auto.
807 9f04e09e Yonit Halperin
808 84a23f25 Gerd Hoffmann
@item streaming-video=[off|all|filter]
809 84a23f25 Gerd Hoffmann
Configure video stream detection.  Default is filter.
810 84a23f25 Gerd Hoffmann
811 84a23f25 Gerd Hoffmann
@item agent-mouse=[on|off]
812 84a23f25 Gerd Hoffmann
Enable/disable passing mouse events via vdagent.  Default is on.
813 84a23f25 Gerd Hoffmann
814 84a23f25 Gerd Hoffmann
@item playback-compression=[on|off]
815 84a23f25 Gerd Hoffmann
Enable/disable audio stream compression (using celt 0.5.1).  Default is on.
816 84a23f25 Gerd Hoffmann
817 29b0040b Gerd Hoffmann
@end table
818 29b0040b Gerd Hoffmann
ETEXI
819 29b0040b Gerd Hoffmann
820 5824d651 blueswir1
DEF("portrait", 0, QEMU_OPTION_portrait,
821 ad96090a Blue Swirl
    "-portrait       rotate graphical output 90 deg left (only PXA LCD)\n",
822 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
823 5824d651 blueswir1
STEXI
824 5824d651 blueswir1
@item -portrait
825 6616b2ad Stefan Weil
@findex -portrait
826 5824d651 blueswir1
Rotate graphical output 90 deg left (only PXA LCD).
827 5824d651 blueswir1
ETEXI
828 5824d651 blueswir1
829 9312805d Vasily Khoruzhick
DEF("rotate", HAS_ARG, QEMU_OPTION_rotate,
830 9312805d Vasily Khoruzhick
    "-rotate <deg>   rotate graphical output some deg left (only PXA LCD)\n",
831 9312805d Vasily Khoruzhick
    QEMU_ARCH_ALL)
832 9312805d Vasily Khoruzhick
STEXI
833 9312805d Vasily Khoruzhick
@item -rotate
834 9312805d Vasily Khoruzhick
@findex -rotate
835 9312805d Vasily Khoruzhick
Rotate graphical output some deg left (only PXA LCD).
836 9312805d Vasily Khoruzhick
ETEXI
837 9312805d Vasily Khoruzhick
838 5824d651 blueswir1
DEF("vga", HAS_ARG, QEMU_OPTION_vga,
839 a19cbfb3 Gerd Hoffmann
    "-vga [std|cirrus|vmware|qxl|xenfb|none]\n"
840 ad96090a Blue Swirl
    "                select video card type\n", QEMU_ARCH_ALL)
841 5824d651 blueswir1
STEXI
842 5824d651 blueswir1
@item -vga @var{type}
843 6616b2ad Stefan Weil
@findex -vga
844 5824d651 blueswir1
Select type of VGA card to emulate. Valid values for @var{type} are
845 b3f046c2 Kevin Wolf
@table @option
846 5824d651 blueswir1
@item cirrus
847 5824d651 blueswir1
Cirrus Logic GD5446 Video card. All Windows versions starting from
848 5824d651 blueswir1
Windows 95 should recognize and use this graphic card. For optimal
849 5824d651 blueswir1
performances, use 16 bit color depth in the guest and the host OS.
850 5824d651 blueswir1
(This one is the default)
851 5824d651 blueswir1
@item std
852 5824d651 blueswir1
Standard VGA card with Bochs VBE extensions.  If your guest OS
853 5824d651 blueswir1
supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
854 5824d651 blueswir1
to use high resolution modes (>= 1280x1024x16) then you should use
855 5824d651 blueswir1
this option.
856 5824d651 blueswir1
@item vmware
857 5824d651 blueswir1
VMWare SVGA-II compatible adapter. Use it if you have sufficiently
858 5824d651 blueswir1
recent XFree86/XOrg server or Windows guest with a driver for this
859 5824d651 blueswir1
card.
860 a19cbfb3 Gerd Hoffmann
@item qxl
861 a19cbfb3 Gerd Hoffmann
QXL paravirtual graphic card.  It is VGA compatible (including VESA
862 a19cbfb3 Gerd Hoffmann
2.0 VBE support).  Works best with qxl guest drivers installed though.
863 a19cbfb3 Gerd Hoffmann
Recommended choice when using the spice protocol.
864 5824d651 blueswir1
@item none
865 5824d651 blueswir1
Disable VGA card.
866 5824d651 blueswir1
@end table
867 5824d651 blueswir1
ETEXI
868 5824d651 blueswir1
869 5824d651 blueswir1
DEF("full-screen", 0, QEMU_OPTION_full_screen,
870 ad96090a Blue Swirl
    "-full-screen    start in full screen\n", QEMU_ARCH_ALL)
871 5824d651 blueswir1
STEXI
872 5824d651 blueswir1
@item -full-screen
873 6616b2ad Stefan Weil
@findex -full-screen
874 5824d651 blueswir1
Start in full screen.
875 5824d651 blueswir1
ETEXI
876 5824d651 blueswir1
877 5824d651 blueswir1
DEF("g", 1, QEMU_OPTION_g ,
878 ad96090a Blue Swirl
    "-g WxH[xDEPTH]  Set the initial graphical resolution and depth\n",
879 ad96090a Blue Swirl
    QEMU_ARCH_PPC | QEMU_ARCH_SPARC)
880 5824d651 blueswir1
STEXI
881 95d5f08b Stefan Weil
@item -g @var{width}x@var{height}[x@var{depth}]
882 6616b2ad Stefan Weil
@findex -g
883 95d5f08b Stefan Weil
Set the initial graphical resolution and depth (PPC, SPARC only).
884 5824d651 blueswir1
ETEXI
885 5824d651 blueswir1
886 5824d651 blueswir1
DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
887 ad96090a Blue Swirl
    "-vnc display    start a VNC server on display\n", QEMU_ARCH_ALL)
888 5824d651 blueswir1
STEXI
889 5824d651 blueswir1
@item -vnc @var{display}[,@var{option}[,@var{option}[,...]]]
890 6616b2ad Stefan Weil
@findex -vnc
891 5824d651 blueswir1
Normally, QEMU uses SDL to display the VGA output.  With this option,
892 5824d651 blueswir1
you can have QEMU listen on VNC display @var{display} and redirect the VGA
893 5824d651 blueswir1
display over the VNC session.  It is very useful to enable the usb
894 5824d651 blueswir1
tablet device when using this option (option @option{-usbdevice
895 5824d651 blueswir1
tablet}). When using the VNC display, you must use the @option{-k}
896 5824d651 blueswir1
parameter to set the keyboard layout if you are not using en-us. Valid
897 5824d651 blueswir1
syntax for the @var{display} is
898 5824d651 blueswir1
899 b3f046c2 Kevin Wolf
@table @option
900 5824d651 blueswir1
901 5824d651 blueswir1
@item @var{host}:@var{d}
902 5824d651 blueswir1
903 5824d651 blueswir1
TCP connections will only be allowed from @var{host} on display @var{d}.
904 5824d651 blueswir1
By convention the TCP port is 5900+@var{d}. Optionally, @var{host} can
905 5824d651 blueswir1
be omitted in which case the server will accept connections from any host.
906 5824d651 blueswir1
907 4e257e5e Kevin Wolf
@item unix:@var{path}
908 5824d651 blueswir1
909 5824d651 blueswir1
Connections will be allowed over UNIX domain sockets where @var{path} is the
910 5824d651 blueswir1
location of a unix socket to listen for connections on.
911 5824d651 blueswir1
912 5824d651 blueswir1
@item none
913 5824d651 blueswir1
914 5824d651 blueswir1
VNC is initialized but not started. The monitor @code{change} command
915 5824d651 blueswir1
can be used to later start the VNC server.
916 5824d651 blueswir1
917 5824d651 blueswir1
@end table
918 5824d651 blueswir1
919 5824d651 blueswir1
Following the @var{display} value there may be one or more @var{option} flags
920 5824d651 blueswir1
separated by commas. Valid options are
921 5824d651 blueswir1
922 b3f046c2 Kevin Wolf
@table @option
923 5824d651 blueswir1
924 5824d651 blueswir1
@item reverse
925 5824d651 blueswir1
926 5824d651 blueswir1
Connect to a listening VNC client via a ``reverse'' connection. The
927 5824d651 blueswir1
client is specified by the @var{display}. For reverse network
928 5824d651 blueswir1
connections (@var{host}:@var{d},@code{reverse}), the @var{d} argument
929 5824d651 blueswir1
is a TCP port number, not a display number.
930 5824d651 blueswir1
931 5824d651 blueswir1
@item password
932 5824d651 blueswir1
933 5824d651 blueswir1
Require that password based authentication is used for client connections.
934 5824d651 blueswir1
The password must be set separately using the @code{change} command in the
935 5824d651 blueswir1
@ref{pcsys_monitor}
936 5824d651 blueswir1
937 5824d651 blueswir1
@item tls
938 5824d651 blueswir1
939 5824d651 blueswir1
Require that client use TLS when communicating with the VNC server. This
940 5824d651 blueswir1
uses anonymous TLS credentials so is susceptible to a man-in-the-middle
941 5824d651 blueswir1
attack. It is recommended that this option be combined with either the
942 4e257e5e Kevin Wolf
@option{x509} or @option{x509verify} options.
943 5824d651 blueswir1
944 5824d651 blueswir1
@item x509=@var{/path/to/certificate/dir}
945 5824d651 blueswir1
946 5824d651 blueswir1
Valid if @option{tls} is specified. Require that x509 credentials are used
947 5824d651 blueswir1
for negotiating the TLS session. The server will send its x509 certificate
948 5824d651 blueswir1
to the client. It is recommended that a password be set on the VNC server
949 5824d651 blueswir1
to provide authentication of the client when this is used. The path following
950 5824d651 blueswir1
this option specifies where the x509 certificates are to be loaded from.
951 5824d651 blueswir1
See the @ref{vnc_security} section for details on generating certificates.
952 5824d651 blueswir1
953 5824d651 blueswir1
@item x509verify=@var{/path/to/certificate/dir}
954 5824d651 blueswir1
955 5824d651 blueswir1
Valid if @option{tls} is specified. Require that x509 credentials are used
956 5824d651 blueswir1
for negotiating the TLS session. The server will send its x509 certificate
957 5824d651 blueswir1
to the client, and request that the client send its own x509 certificate.
958 5824d651 blueswir1
The server will validate the client's certificate against the CA certificate,
959 5824d651 blueswir1
and reject clients when validation fails. If the certificate authority is
960 5824d651 blueswir1
trusted, this is a sufficient authentication mechanism. You may still wish
961 5824d651 blueswir1
to set a password on the VNC server as a second authentication layer. The
962 5824d651 blueswir1
path following this option specifies where the x509 certificates are to
963 5824d651 blueswir1
be loaded from. See the @ref{vnc_security} section for details on generating
964 5824d651 blueswir1
certificates.
965 5824d651 blueswir1
966 5824d651 blueswir1
@item sasl
967 5824d651 blueswir1
968 5824d651 blueswir1
Require that the client use SASL to authenticate with the VNC server.
969 5824d651 blueswir1
The exact choice of authentication method used is controlled from the
970 5824d651 blueswir1
system / user's SASL configuration file for the 'qemu' service. This
971 5824d651 blueswir1
is typically found in /etc/sasl2/qemu.conf. If running QEMU as an
972 5824d651 blueswir1
unprivileged user, an environment variable SASL_CONF_PATH can be used
973 5824d651 blueswir1
to make it search alternate locations for the service config.
974 5824d651 blueswir1
While some SASL auth methods can also provide data encryption (eg GSSAPI),
975 5824d651 blueswir1
it is recommended that SASL always be combined with the 'tls' and
976 5824d651 blueswir1
'x509' settings to enable use of SSL and server certificates. This
977 5824d651 blueswir1
ensures a data encryption preventing compromise of authentication
978 5824d651 blueswir1
credentials. See the @ref{vnc_security} section for details on using
979 5824d651 blueswir1
SASL authentication.
980 5824d651 blueswir1
981 5824d651 blueswir1
@item acl
982 5824d651 blueswir1
983 5824d651 blueswir1
Turn on access control lists for checking of the x509 client certificate
984 5824d651 blueswir1
and SASL party. For x509 certs, the ACL check is made against the
985 5824d651 blueswir1
certificate's distinguished name. This is something that looks like
986 5824d651 blueswir1
@code{C=GB,O=ACME,L=Boston,CN=bob}. For SASL party, the ACL check is
987 5824d651 blueswir1
made against the username, which depending on the SASL plugin, may
988 5824d651 blueswir1
include a realm component, eg @code{bob} or @code{bob@@EXAMPLE.COM}.
989 5824d651 blueswir1
When the @option{acl} flag is set, the initial access list will be
990 5824d651 blueswir1
empty, with a @code{deny} policy. Thus no one will be allowed to
991 5824d651 blueswir1
use the VNC server until the ACLs have been loaded. This can be
992 5824d651 blueswir1
achieved using the @code{acl} monitor command.
993 5824d651 blueswir1
994 6f9c78c1 Corentin Chary
@item lossy
995 6f9c78c1 Corentin Chary
996 6f9c78c1 Corentin Chary
Enable lossy compression methods (gradient, JPEG, ...). If this
997 6f9c78c1 Corentin Chary
option is set, VNC client may receive lossy framebuffer updates
998 6f9c78c1 Corentin Chary
depending on its encoding settings. Enabling this option can save
999 6f9c78c1 Corentin Chary
a lot of bandwidth at the expense of quality.
1000 6f9c78c1 Corentin Chary
1001 80e0c8c3 Corentin Chary
@item non-adaptive
1002 80e0c8c3 Corentin Chary
1003 80e0c8c3 Corentin Chary
Disable adaptive encodings. Adaptive encodings are enabled by default.
1004 80e0c8c3 Corentin Chary
An adaptive encoding will try to detect frequently updated screen regions,
1005 80e0c8c3 Corentin Chary
and send updates in these regions using a lossy encoding (like JPEG).
1006 61cc8701 Stefan Weil
This can be really helpful to save bandwidth when playing videos. Disabling
1007 61cc8701 Stefan Weil
adaptive encodings allows to restore the original static behavior of encodings
1008 80e0c8c3 Corentin Chary
like Tight.
1009 80e0c8c3 Corentin Chary
1010 5824d651 blueswir1
@end table
1011 5824d651 blueswir1
ETEXI
1012 5824d651 blueswir1
1013 5824d651 blueswir1
STEXI
1014 5824d651 blueswir1
@end table
1015 5824d651 blueswir1
ETEXI
1016 5824d651 blueswir1
1017 5824d651 blueswir1
DEFHEADING()
1018 5824d651 blueswir1
1019 5824d651 blueswir1
DEFHEADING(i386 target only:)
1020 5824d651 blueswir1
STEXI
1021 5824d651 blueswir1
@table @option
1022 5824d651 blueswir1
ETEXI
1023 5824d651 blueswir1
1024 5824d651 blueswir1
DEF("win2k-hack", 0, QEMU_OPTION_win2k_hack,
1025 ad96090a Blue Swirl
    "-win2k-hack     use it when installing Windows 2000 to avoid a disk full bug\n",
1026 ad96090a Blue Swirl
    QEMU_ARCH_I386)
1027 5824d651 blueswir1
STEXI
1028 5824d651 blueswir1
@item -win2k-hack
1029 6616b2ad Stefan Weil
@findex -win2k-hack
1030 5824d651 blueswir1
Use it when installing Windows 2000 to avoid a disk full bug. After
1031 5824d651 blueswir1
Windows 2000 is installed, you no longer need this option (this option
1032 5824d651 blueswir1
slows down the IDE transfers).
1033 5824d651 blueswir1
ETEXI
1034 5824d651 blueswir1
1035 1ed2fc1f Jan Kiszka
HXCOMM Deprecated by -rtc
1036 ad96090a Blue Swirl
DEF("rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack, "", QEMU_ARCH_I386)
1037 5824d651 blueswir1
1038 5824d651 blueswir1
DEF("no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk,
1039 ad96090a Blue Swirl
    "-no-fd-bootchk  disable boot signature checking for floppy disks\n",
1040 ad96090a Blue Swirl
    QEMU_ARCH_I386)
1041 5824d651 blueswir1
STEXI
1042 5824d651 blueswir1
@item -no-fd-bootchk
1043 6616b2ad Stefan Weil
@findex -no-fd-bootchk
1044 5824d651 blueswir1
Disable boot signature checking for floppy disks in Bochs BIOS. It may
1045 5824d651 blueswir1
be needed to boot from old floppy disks.
1046 6616b2ad Stefan Weil
TODO: check reference to Bochs BIOS.
1047 5824d651 blueswir1
ETEXI
1048 5824d651 blueswir1
1049 5824d651 blueswir1
DEF("no-acpi", 0, QEMU_OPTION_no_acpi,
1050 ad96090a Blue Swirl
           "-no-acpi        disable ACPI\n", QEMU_ARCH_I386)
1051 5824d651 blueswir1
STEXI
1052 5824d651 blueswir1
@item -no-acpi
1053 6616b2ad Stefan Weil
@findex -no-acpi
1054 5824d651 blueswir1
Disable ACPI (Advanced Configuration and Power Interface) support. Use
1055 5824d651 blueswir1
it if your guest OS complains about ACPI problems (PC target machine
1056 5824d651 blueswir1
only).
1057 5824d651 blueswir1
ETEXI
1058 5824d651 blueswir1
1059 5824d651 blueswir1
DEF("no-hpet", 0, QEMU_OPTION_no_hpet,
1060 ad96090a Blue Swirl
    "-no-hpet        disable HPET\n", QEMU_ARCH_I386)
1061 5824d651 blueswir1
STEXI
1062 5824d651 blueswir1
@item -no-hpet
1063 6616b2ad Stefan Weil
@findex -no-hpet
1064 5824d651 blueswir1
Disable HPET support.
1065 5824d651 blueswir1
ETEXI
1066 5824d651 blueswir1
1067 7d4c3d53 Markus Armbruster
DEF("balloon", HAS_ARG, QEMU_OPTION_balloon,
1068 7d4c3d53 Markus Armbruster
    "-balloon none   disable balloon device\n"
1069 7d4c3d53 Markus Armbruster
    "-balloon virtio[,addr=str]\n"
1070 ad96090a Blue Swirl
    "                enable virtio balloon device (default)\n", QEMU_ARCH_ALL)
1071 df97b920 Eduardo Habkost
STEXI
1072 7d4c3d53 Markus Armbruster
@item -balloon none
1073 6616b2ad Stefan Weil
@findex -balloon
1074 7d4c3d53 Markus Armbruster
Disable balloon device.
1075 7d4c3d53 Markus Armbruster
@item -balloon virtio[,addr=@var{addr}]
1076 7d4c3d53 Markus Armbruster
Enable virtio balloon device (default), optionally with PCI address
1077 7d4c3d53 Markus Armbruster
@var{addr}.
1078 df97b920 Eduardo Habkost
ETEXI
1079 df97b920 Eduardo Habkost
1080 5824d651 blueswir1
DEF("acpitable", HAS_ARG, QEMU_OPTION_acpitable,
1081 104bf02e Michael Tokarev
    "-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...]\n"
1082 ad96090a Blue Swirl
    "                ACPI table description\n", QEMU_ARCH_I386)
1083 5824d651 blueswir1
STEXI
1084 5824d651 blueswir1
@item -acpitable [sig=@var{str}][,rev=@var{n}][,oem_id=@var{str}][,oem_table_id=@var{str}][,oem_rev=@var{n}] [,asl_compiler_id=@var{str}][,asl_compiler_rev=@var{n}][,data=@var{file1}[:@var{file2}]...]
1085 6616b2ad Stefan Weil
@findex -acpitable
1086 5824d651 blueswir1
Add ACPI table with specified header fields and context from specified files.
1087 104bf02e Michael Tokarev
For file=, take whole ACPI table from the specified files, including all
1088 104bf02e Michael Tokarev
ACPI headers (possible overridden by other options).
1089 104bf02e Michael Tokarev
For data=, only data
1090 104bf02e Michael Tokarev
portion of the table is used, all header information is specified in the
1091 104bf02e Michael Tokarev
command line.
1092 5824d651 blueswir1
ETEXI
1093 5824d651 blueswir1
1094 b6f6e3d3 aliguori
DEF("smbios", HAS_ARG, QEMU_OPTION_smbios,
1095 b6f6e3d3 aliguori
    "-smbios file=binary\n"
1096 ca1a8a06 Bruce Rogers
    "                load SMBIOS entry from binary file\n"
1097 e8105ebb Paolo Bonzini
    "-smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]\n"
1098 ca1a8a06 Bruce Rogers
    "                specify SMBIOS type 0 fields\n"
1099 b6f6e3d3 aliguori
    "-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]\n"
1100 b6f6e3d3 aliguori
    "              [,uuid=uuid][,sku=str][,family=str]\n"
1101 ad96090a Blue Swirl
    "                specify SMBIOS type 1 fields\n", QEMU_ARCH_I386)
1102 b6f6e3d3 aliguori
STEXI
1103 b6f6e3d3 aliguori
@item -smbios file=@var{binary}
1104 6616b2ad Stefan Weil
@findex -smbios
1105 b6f6e3d3 aliguori
Load SMBIOS entry from binary file.
1106 b6f6e3d3 aliguori
1107 b6f6e3d3 aliguori
@item -smbios type=0[,vendor=@var{str}][,version=@var{str}][,date=@var{str}][,release=@var{%d.%d}]
1108 6616b2ad Stefan Weil
@findex -smbios
1109 b6f6e3d3 aliguori
Specify SMBIOS type 0 fields
1110 b6f6e3d3 aliguori
1111 609c1dac Blue Swirl
@item -smbios type=1[,manufacturer=@var{str}][,product=@var{str}] [,version=@var{str}][,serial=@var{str}][,uuid=@var{uuid}][,sku=@var{str}] [,family=@var{str}]
1112 b6f6e3d3 aliguori
Specify SMBIOS type 1 fields
1113 b6f6e3d3 aliguori
ETEXI
1114 b6f6e3d3 aliguori
1115 5824d651 blueswir1
DEFHEADING()
1116 5824d651 blueswir1
STEXI
1117 5824d651 blueswir1
@end table
1118 5824d651 blueswir1
ETEXI
1119 5824d651 blueswir1
1120 5824d651 blueswir1
DEFHEADING(Network options:)
1121 5824d651 blueswir1
STEXI
1122 5824d651 blueswir1
@table @option
1123 5824d651 blueswir1
ETEXI
1124 5824d651 blueswir1
1125 ad196a9d Jan Kiszka
HXCOMM Legacy slirp options (now moved to -net user):
1126 ad196a9d Jan Kiszka
#ifdef CONFIG_SLIRP
1127 ad96090a Blue Swirl
DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, "", QEMU_ARCH_ALL)
1128 ad96090a Blue Swirl
DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, "", QEMU_ARCH_ALL)
1129 ad96090a Blue Swirl
DEF("redir", HAS_ARG, QEMU_OPTION_redir, "", QEMU_ARCH_ALL)
1130 ad196a9d Jan Kiszka
#ifndef _WIN32
1131 ad96090a Blue Swirl
DEF("smb", HAS_ARG, QEMU_OPTION_smb, "", QEMU_ARCH_ALL)
1132 ad196a9d Jan Kiszka
#endif
1133 ad196a9d Jan Kiszka
#endif
1134 ad196a9d Jan Kiszka
1135 bab7944c Blue Swirl
DEF("net", HAS_ARG, QEMU_OPTION_net,
1136 ffe6370c Michael S. Tsirkin
    "-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]\n"
1137 5824d651 blueswir1
    "                create a new Network Interface Card and connect it to VLAN 'n'\n"
1138 5824d651 blueswir1
#ifdef CONFIG_SLIRP
1139 c54ed5bc Jan Kiszka
    "-net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=on|off]\n"
1140 c92ef6a2 Jan Kiszka
    "         [,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]\n"
1141 c92ef6a2 Jan Kiszka
    "         [,hostfwd=rule][,guestfwd=rule]"
1142 ad196a9d Jan Kiszka
#ifndef _WIN32
1143 c92ef6a2 Jan Kiszka
                                             "[,smb=dir[,smbserver=addr]]\n"
1144 ad196a9d Jan Kiszka
#endif
1145 ad196a9d Jan Kiszka
    "                connect the user mode network stack to VLAN 'n', configure its\n"
1146 ad196a9d Jan Kiszka
    "                DHCP server and enabled optional services\n"
1147 5824d651 blueswir1
#endif
1148 5824d651 blueswir1
#ifdef _WIN32
1149 5824d651 blueswir1
    "-net tap[,vlan=n][,name=str],ifname=name\n"
1150 5824d651 blueswir1
    "                connect the host TAP network interface to VLAN 'n'\n"
1151 5824d651 blueswir1
#else
1152 5430a28f mst@redhat.com
    "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]\n"
1153 5824d651 blueswir1
    "                connect the host TAP network interface to VLAN 'n' and use the\n"
1154 bec7c2d4 Paolo Bonzini
    "                network scripts 'file' (default=" DEFAULT_NETWORK_SCRIPT ")\n"
1155 bec7c2d4 Paolo Bonzini
    "                and 'dfile' (default=" DEFAULT_NETWORK_DOWN_SCRIPT ")\n"
1156 ca1a8a06 Bruce Rogers
    "                use '[down]script=no' to disable script execution\n"
1157 5824d651 blueswir1
    "                use 'fd=h' to connect to an already opened TAP interface\n"
1158 ca1a8a06 Bruce Rogers
    "                use 'sndbuf=nbytes' to limit the size of the send buffer (the\n"
1159 f157ed20 Michael S. Tsirkin
    "                default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')\n"
1160 ca1a8a06 Bruce Rogers
    "                use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag\n"
1161 ca1a8a06 Bruce Rogers
    "                use vnet_hdr=on to make the lack of IFF_VNET_HDR support an error condition\n"
1162 82b0d80e Michael S. Tsirkin
    "                use vhost=on to enable experimental in kernel accelerator\n"
1163 5430a28f mst@redhat.com
    "                    (only has effect for virtio guests which use MSIX)\n"
1164 5430a28f mst@redhat.com
    "                use vhostforce=on to force vhost on for non-MSIX virtio guests\n"
1165 82b0d80e Michael S. Tsirkin
    "                use 'vhostfd=h' to connect to an already opened vhost net device\n"
1166 0df0ff6d Mark McLoughlin
#endif
1167 5824d651 blueswir1
    "-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]\n"
1168 5824d651 blueswir1
    "                connect the vlan 'n' to another VLAN using a socket connection\n"
1169 3a75e74c Mike Ryan
    "-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port[,localaddr=addr]]\n"
1170 5824d651 blueswir1
    "                connect the vlan 'n' to multicast maddr and port\n"
1171 3a75e74c Mike Ryan
    "                use 'localaddr=addr' to specify the host address to send packets from\n"
1172 5824d651 blueswir1
#ifdef CONFIG_VDE
1173 5824d651 blueswir1
    "-net vde[,vlan=n][,name=str][,sock=socketpath][,port=n][,group=groupname][,mode=octalmode]\n"
1174 5824d651 blueswir1
    "                connect the vlan 'n' to port 'n' of a vde switch running\n"
1175 5824d651 blueswir1
    "                on host and listening for incoming connections on 'socketpath'.\n"
1176 5824d651 blueswir1
    "                Use group 'groupname' and mode 'octalmode' to change default\n"
1177 5824d651 blueswir1
    "                ownership and permissions for communication port.\n"
1178 5824d651 blueswir1
#endif
1179 bb9ea79e aliguori
    "-net dump[,vlan=n][,file=f][,len=n]\n"
1180 bb9ea79e aliguori
    "                dump traffic on vlan 'n' to file 'f' (max n bytes per packet)\n"
1181 ca1a8a06 Bruce Rogers
    "-net none       use it alone to have zero network devices. If no -net option\n"
1182 ad96090a Blue Swirl
    "                is provided, the default is '-net nic -net user'\n", QEMU_ARCH_ALL)
1183 a1ea458f Mark McLoughlin
DEF("netdev", HAS_ARG, QEMU_OPTION_netdev,
1184 a1ea458f Mark McLoughlin
    "-netdev ["
1185 a1ea458f Mark McLoughlin
#ifdef CONFIG_SLIRP
1186 a1ea458f Mark McLoughlin
    "user|"
1187 a1ea458f Mark McLoughlin
#endif
1188 a1ea458f Mark McLoughlin
    "tap|"
1189 a1ea458f Mark McLoughlin
#ifdef CONFIG_VDE
1190 a1ea458f Mark McLoughlin
    "vde|"
1191 a1ea458f Mark McLoughlin
#endif
1192 ad96090a Blue Swirl
    "socket],id=str[,option][,option][,...]\n", QEMU_ARCH_ALL)
1193 5824d651 blueswir1
STEXI
1194 609c1dac Blue Swirl
@item -net nic[,vlan=@var{n}][,macaddr=@var{mac}][,model=@var{type}] [,name=@var{name}][,addr=@var{addr}][,vectors=@var{v}]
1195 6616b2ad Stefan Weil
@findex -net
1196 5824d651 blueswir1
Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}
1197 0d6b0b1d Anthony Liguori
= 0 is the default). The NIC is an e1000 by default on the PC
1198 5607c388 Markus Armbruster
target. Optionally, the MAC address can be changed to @var{mac}, the
1199 5607c388 Markus Armbruster
device address set to @var{addr} (PCI cards only),
1200 ffe6370c Michael S. Tsirkin
and a @var{name} can be assigned for use in monitor commands.
1201 ffe6370c Michael S. Tsirkin
Optionally, for PCI cards, you can specify the number @var{v} of MSI-X vectors
1202 ffe6370c Michael S. Tsirkin
that the card should have; this option currently only affects virtio cards; set
1203 ffe6370c Michael S. Tsirkin
@var{v} = 0 to disable MSI-X. If no @option{-net} option is specified, a single
1204 ffe6370c Michael S. Tsirkin
NIC is created.  Qemu can emulate several different models of network card.
1205 5824d651 blueswir1
Valid values for @var{type} are
1206 ffe6370c Michael S. Tsirkin
@code{virtio}, @code{i82551}, @code{i82557b}, @code{i82559er},
1207 5824d651 blueswir1
@code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
1208 5824d651 blueswir1
@code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}.
1209 5824d651 blueswir1
Not all devices are supported on all targets.  Use -net nic,model=?
1210 5824d651 blueswir1
for a list of available devices for your target.
1211 5824d651 blueswir1
1212 ad196a9d Jan Kiszka
@item -net user[,@var{option}][,@var{option}][,...]
1213 5824d651 blueswir1
Use the user mode network stack which requires no administrator
1214 ad196a9d Jan Kiszka
privilege to run. Valid options are:
1215 ad196a9d Jan Kiszka
1216 b3f046c2 Kevin Wolf
@table @option
1217 ad196a9d Jan Kiszka
@item vlan=@var{n}
1218 ad196a9d Jan Kiszka
Connect user mode stack to VLAN @var{n} (@var{n} = 0 is the default).
1219 ad196a9d Jan Kiszka
1220 ad196a9d Jan Kiszka
@item name=@var{name}
1221 ad196a9d Jan Kiszka
Assign symbolic name for use in monitor commands.
1222 ad196a9d Jan Kiszka
1223 c92ef6a2 Jan Kiszka
@item net=@var{addr}[/@var{mask}]
1224 c92ef6a2 Jan Kiszka
Set IP network address the guest will see. Optionally specify the netmask,
1225 c92ef6a2 Jan Kiszka
either in the form a.b.c.d or as number of valid top-most bits. Default is
1226 b0b36e5d Brad Hards
10.0.2.0/24.
1227 c92ef6a2 Jan Kiszka
1228 c92ef6a2 Jan Kiszka
@item host=@var{addr}
1229 c92ef6a2 Jan Kiszka
Specify the guest-visible address of the host. Default is the 2nd IP in the
1230 c92ef6a2 Jan Kiszka
guest network, i.e. x.x.x.2.
1231 ad196a9d Jan Kiszka
1232 c54ed5bc Jan Kiszka
@item restrict=on|off
1233 caef55ed Brad Hards
If this option is enabled, the guest will be isolated, i.e. it will not be
1234 ad196a9d Jan Kiszka
able to contact the host and no guest IP packets will be routed over the host
1235 caef55ed Brad Hards
to the outside. This option does not affect any explicitly set forwarding rules.
1236 ad196a9d Jan Kiszka
1237 ad196a9d Jan Kiszka
@item hostname=@var{name}
1238 ad196a9d Jan Kiszka
Specifies the client hostname reported by the builtin DHCP server.
1239 ad196a9d Jan Kiszka
1240 c92ef6a2 Jan Kiszka
@item dhcpstart=@var{addr}
1241 c92ef6a2 Jan Kiszka
Specify the first of the 16 IPs the built-in DHCP server can assign. Default
1242 b0b36e5d Brad Hards
is the 15th to 31st IP in the guest network, i.e. x.x.x.15 to x.x.x.31.
1243 c92ef6a2 Jan Kiszka
1244 c92ef6a2 Jan Kiszka
@item dns=@var{addr}
1245 c92ef6a2 Jan Kiszka
Specify the guest-visible address of the virtual nameserver. The address must
1246 c92ef6a2 Jan Kiszka
be different from the host address. Default is the 3rd IP in the guest network,
1247 c92ef6a2 Jan Kiszka
i.e. x.x.x.3.
1248 c92ef6a2 Jan Kiszka
1249 ad196a9d Jan Kiszka
@item tftp=@var{dir}
1250 ad196a9d Jan Kiszka
When using the user mode network stack, activate a built-in TFTP
1251 ad196a9d Jan Kiszka
server. The files in @var{dir} will be exposed as the root of a TFTP server.
1252 ad196a9d Jan Kiszka
The TFTP client on the guest must be configured in binary mode (use the command
1253 c92ef6a2 Jan Kiszka
@code{bin} of the Unix TFTP client).
1254 ad196a9d Jan Kiszka
1255 ad196a9d Jan Kiszka
@item bootfile=@var{file}
1256 ad196a9d Jan Kiszka
When using the user mode network stack, broadcast @var{file} as the BOOTP
1257 ad196a9d Jan Kiszka
filename. In conjunction with @option{tftp}, this can be used to network boot
1258 ad196a9d Jan Kiszka
a guest from a local directory.
1259 ad196a9d Jan Kiszka
1260 ad196a9d Jan Kiszka
Example (using pxelinux):
1261 ad196a9d Jan Kiszka
@example
1262 ad196a9d Jan Kiszka
qemu -hda linux.img -boot n -net user,tftp=/path/to/tftp/files,bootfile=/pxelinux.0
1263 ad196a9d Jan Kiszka
@end example
1264 ad196a9d Jan Kiszka
1265 c92ef6a2 Jan Kiszka
@item smb=@var{dir}[,smbserver=@var{addr}]
1266 ad196a9d Jan Kiszka
When using the user mode network stack, activate a built-in SMB
1267 ad196a9d Jan Kiszka
server so that Windows OSes can access to the host files in @file{@var{dir}}
1268 c92ef6a2 Jan Kiszka
transparently. The IP address of the SMB server can be set to @var{addr}. By
1269 c92ef6a2 Jan Kiszka
default the 4th IP in the guest network is used, i.e. x.x.x.4.
1270 ad196a9d Jan Kiszka
1271 ad196a9d Jan Kiszka
In the guest Windows OS, the line:
1272 ad196a9d Jan Kiszka
@example
1273 ad196a9d Jan Kiszka
10.0.2.4 smbserver
1274 ad196a9d Jan Kiszka
@end example
1275 ad196a9d Jan Kiszka
must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me)
1276 ad196a9d Jan Kiszka
or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000).
1277 ad196a9d Jan Kiszka
1278 ad196a9d Jan Kiszka
Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}.
1279 ad196a9d Jan Kiszka
1280 ad196a9d Jan Kiszka
Note that a SAMBA server must be installed on the host OS in
1281 ad196a9d Jan Kiszka
@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd versions from
1282 ad196a9d Jan Kiszka
Red Hat 9, Fedora Core 3 and OpenSUSE 11.x.
1283 ad196a9d Jan Kiszka
1284 3c6a0580 Jan Kiszka
@item hostfwd=[tcp|udp]:[@var{hostaddr}]:@var{hostport}-[@var{guestaddr}]:@var{guestport}
1285 c92ef6a2 Jan Kiszka
Redirect incoming TCP or UDP connections to the host port @var{hostport} to
1286 c92ef6a2 Jan Kiszka
the guest IP address @var{guestaddr} on guest port @var{guestport}. If
1287 c92ef6a2 Jan Kiszka
@var{guestaddr} is not specified, its value is x.x.x.15 (default first address
1288 3c6a0580 Jan Kiszka
given by the built-in DHCP server). By specifying @var{hostaddr}, the rule can
1289 3c6a0580 Jan Kiszka
be bound to a specific host interface. If no connection type is set, TCP is
1290 c92ef6a2 Jan Kiszka
used. This option can be given multiple times.
1291 ad196a9d Jan Kiszka
1292 ad196a9d Jan Kiszka
For example, to redirect host X11 connection from screen 1 to guest
1293 ad196a9d Jan Kiszka
screen 0, use the following:
1294 ad196a9d Jan Kiszka
1295 ad196a9d Jan Kiszka
@example
1296 ad196a9d Jan Kiszka
# on the host
1297 3c6a0580 Jan Kiszka
qemu -net user,hostfwd=tcp:127.0.0.1:6001-:6000 [...]
1298 ad196a9d Jan Kiszka
# this host xterm should open in the guest X11 server
1299 ad196a9d Jan Kiszka
xterm -display :1
1300 ad196a9d Jan Kiszka
@end example
1301 ad196a9d Jan Kiszka
1302 ad196a9d Jan Kiszka
To redirect telnet connections from host port 5555 to telnet port on
1303 ad196a9d Jan Kiszka
the guest, use the following:
1304 ad196a9d Jan Kiszka
1305 ad196a9d Jan Kiszka
@example
1306 ad196a9d Jan Kiszka
# on the host
1307 aa375206 Aurelien Jarno
qemu -net user,hostfwd=tcp::5555-:23 [...]
1308 ad196a9d Jan Kiszka
telnet localhost 5555
1309 ad196a9d Jan Kiszka
@end example
1310 ad196a9d Jan Kiszka
1311 ad196a9d Jan Kiszka
Then when you use on the host @code{telnet localhost 5555}, you
1312 ad196a9d Jan Kiszka
connect to the guest telnet server.
1313 5824d651 blueswir1
1314 c92ef6a2 Jan Kiszka
@item guestfwd=[tcp]:@var{server}:@var{port}-@var{dev}
1315 3c6a0580 Jan Kiszka
Forward guest TCP connections to the IP address @var{server} on port @var{port}
1316 3c6a0580 Jan Kiszka
to the character device @var{dev}. This option can be given multiple times.
1317 ad196a9d Jan Kiszka
1318 ad196a9d Jan Kiszka
@end table
1319 ad196a9d Jan Kiszka
1320 ad196a9d Jan Kiszka
Note: Legacy stand-alone options -tftp, -bootp, -smb and -redir are still
1321 ad196a9d Jan Kiszka
processed and applied to -net user. Mixing them with the new configuration
1322 ad196a9d Jan Kiszka
syntax gives undefined results. Their use for new applications is discouraged
1323 ad196a9d Jan Kiszka
as they will be removed from future versions.
1324 5824d651 blueswir1
1325 609c1dac Blue Swirl
@item -net tap[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,ifname=@var{name}] [,script=@var{file}][,downscript=@var{dfile}]
1326 5824d651 blueswir1
Connect the host TAP network interface @var{name} to VLAN @var{n}, use
1327 5824d651 blueswir1
the network script @var{file} to configure it and the network script
1328 5824d651 blueswir1
@var{dfile} to deconfigure it. If @var{name} is not provided, the OS
1329 5824d651 blueswir1
automatically provides one. @option{fd}=@var{h} can be used to specify
1330 5824d651 blueswir1
the handle of an already opened host TAP interface. The default network
1331 5824d651 blueswir1
configure script is @file{/etc/qemu-ifup} and the default network
1332 5824d651 blueswir1
deconfigure script is @file{/etc/qemu-ifdown}. Use @option{script=no}
1333 5824d651 blueswir1
or @option{downscript=no} to disable script execution. Example:
1334 5824d651 blueswir1
1335 5824d651 blueswir1
@example
1336 5824d651 blueswir1
qemu linux.img -net nic -net tap
1337 5824d651 blueswir1
@end example
1338 5824d651 blueswir1
1339 5824d651 blueswir1
More complicated example (two NICs, each one connected to a TAP device)
1340 5824d651 blueswir1
@example
1341 5824d651 blueswir1
qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
1342 5824d651 blueswir1
               -net nic,vlan=1 -net tap,vlan=1,ifname=tap1
1343 5824d651 blueswir1
@end example
1344 5824d651 blueswir1
1345 609c1dac Blue Swirl
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}] [,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}]
1346 5824d651 blueswir1
1347 5824d651 blueswir1
Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual
1348 5824d651 blueswir1
machine using a TCP socket connection. If @option{listen} is
1349 5824d651 blueswir1
specified, QEMU waits for incoming connections on @var{port}
1350 5824d651 blueswir1
(@var{host} is optional). @option{connect} is used to connect to
1351 5824d651 blueswir1
another QEMU instance using the @option{listen} option. @option{fd}=@var{h}
1352 5824d651 blueswir1
specifies an already opened TCP socket.
1353 5824d651 blueswir1
1354 5824d651 blueswir1
Example:
1355 5824d651 blueswir1
@example
1356 5824d651 blueswir1
# launch a first QEMU instance
1357 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
1358 5824d651 blueswir1
               -net socket,listen=:1234
1359 5824d651 blueswir1
# connect the VLAN 0 of this instance to the VLAN 0
1360 5824d651 blueswir1
# of the first instance
1361 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
1362 5824d651 blueswir1
               -net socket,connect=127.0.0.1:1234
1363 5824d651 blueswir1
@end example
1364 5824d651 blueswir1
1365 3a75e74c Mike Ryan
@item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}[,localaddr=@var{addr}]]
1366 5824d651 blueswir1
1367 5824d651 blueswir1
Create a VLAN @var{n} shared with another QEMU virtual
1368 5824d651 blueswir1
machines using a UDP multicast socket, effectively making a bus for
1369 5824d651 blueswir1
every QEMU with same multicast address @var{maddr} and @var{port}.
1370 5824d651 blueswir1
NOTES:
1371 5824d651 blueswir1
@enumerate
1372 5824d651 blueswir1
@item
1373 5824d651 blueswir1
Several QEMU can be running on different hosts and share same bus (assuming
1374 5824d651 blueswir1
correct multicast setup for these hosts).
1375 5824d651 blueswir1
@item
1376 5824d651 blueswir1
mcast support is compatible with User Mode Linux (argument @option{eth@var{N}=mcast}), see
1377 5824d651 blueswir1
@url{http://user-mode-linux.sf.net}.
1378 5824d651 blueswir1
@item
1379 5824d651 blueswir1
Use @option{fd=h} to specify an already opened UDP multicast socket.
1380 5824d651 blueswir1
@end enumerate
1381 5824d651 blueswir1
1382 5824d651 blueswir1
Example:
1383 5824d651 blueswir1
@example
1384 5824d651 blueswir1
# launch one QEMU instance
1385 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
1386 5824d651 blueswir1
               -net socket,mcast=230.0.0.1:1234
1387 5824d651 blueswir1
# launch another QEMU instance on same "bus"
1388 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
1389 5824d651 blueswir1
               -net socket,mcast=230.0.0.1:1234
1390 5824d651 blueswir1
# launch yet another QEMU instance on same "bus"
1391 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
1392 5824d651 blueswir1
               -net socket,mcast=230.0.0.1:1234
1393 5824d651 blueswir1
@end example
1394 5824d651 blueswir1
1395 5824d651 blueswir1
Example (User Mode Linux compat.):
1396 5824d651 blueswir1
@example
1397 5824d651 blueswir1
# launch QEMU instance (note mcast address selected
1398 5824d651 blueswir1
# is UML's default)
1399 5824d651 blueswir1
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
1400 5824d651 blueswir1
               -net socket,mcast=239.192.168.1:1102
1401 5824d651 blueswir1
# launch UML
1402 5824d651 blueswir1
/path/to/linux ubd0=/path/to/root_fs eth0=mcast
1403 5824d651 blueswir1
@end example
1404 5824d651 blueswir1
1405 3a75e74c Mike Ryan
Example (send packets from host's 1.2.3.4):
1406 3a75e74c Mike Ryan
@example
1407 3a75e74c Mike Ryan
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
1408 3a75e74c Mike Ryan
               -net socket,mcast=239.192.168.1:1102,localaddr=1.2.3.4
1409 3a75e74c Mike Ryan
@end example
1410 3a75e74c Mike Ryan
1411 609c1dac Blue Swirl
@item -net vde[,vlan=@var{n}][,name=@var{name}][,sock=@var{socketpath}] [,port=@var{n}][,group=@var{groupname}][,mode=@var{octalmode}]
1412 5824d651 blueswir1
Connect VLAN @var{n} to PORT @var{n} of a vde switch running on host and
1413 5824d651 blueswir1
listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname}
1414 5824d651 blueswir1
and MODE @var{octalmode} to change default ownership and permissions for
1415 5824d651 blueswir1
communication port. This option is available only if QEMU has been compiled
1416 5824d651 blueswir1
with vde support enabled.
1417 5824d651 blueswir1
1418 5824d651 blueswir1
Example:
1419 5824d651 blueswir1
@example
1420 5824d651 blueswir1
# launch vde switch
1421 5824d651 blueswir1
vde_switch -F -sock /tmp/myswitch
1422 5824d651 blueswir1
# launch QEMU instance
1423 5824d651 blueswir1
qemu linux.img -net nic -net vde,sock=/tmp/myswitch
1424 5824d651 blueswir1
@end example
1425 5824d651 blueswir1
1426 bb9ea79e aliguori
@item -net dump[,vlan=@var{n}][,file=@var{file}][,len=@var{len}]
1427 bb9ea79e aliguori
Dump network traffic on VLAN @var{n} to file @var{file} (@file{qemu-vlan0.pcap} by default).
1428 bb9ea79e aliguori
At most @var{len} bytes (64k by default) per packet are stored. The file format is
1429 bb9ea79e aliguori
libpcap, so it can be analyzed with tools such as tcpdump or Wireshark.
1430 bb9ea79e aliguori
1431 5824d651 blueswir1
@item -net none
1432 5824d651 blueswir1
Indicate that no network devices should be configured. It is used to
1433 5824d651 blueswir1
override the default configuration (@option{-net nic -net user}) which
1434 5824d651 blueswir1
is activated if no @option{-net} options are provided.
1435 5824d651 blueswir1
1436 5824d651 blueswir1
@end table
1437 5824d651 blueswir1
ETEXI
1438 5824d651 blueswir1
1439 7273a2db Matthew Booth
DEFHEADING()
1440 7273a2db Matthew Booth
1441 7273a2db Matthew Booth
DEFHEADING(Character device options:)
1442 7273a2db Matthew Booth
1443 7273a2db Matthew Booth
DEF("chardev", HAS_ARG, QEMU_OPTION_chardev,
1444 97331287 Jan Kiszka
    "-chardev null,id=id[,mux=on|off]\n"
1445 7273a2db Matthew Booth
    "-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]\n"
1446 97331287 Jan Kiszka
    "         [,server][,nowait][,telnet][,mux=on|off] (tcp)\n"
1447 97331287 Jan Kiszka
    "-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)\n"
1448 7273a2db Matthew Booth
    "-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]\n"
1449 97331287 Jan Kiszka
    "         [,localport=localport][,ipv4][,ipv6][,mux=on|off]\n"
1450 97331287 Jan Kiszka
    "-chardev msmouse,id=id[,mux=on|off]\n"
1451 7273a2db Matthew Booth
    "-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]\n"
1452 97331287 Jan Kiszka
    "         [,mux=on|off]\n"
1453 97331287 Jan Kiszka
    "-chardev file,id=id,path=path[,mux=on|off]\n"
1454 97331287 Jan Kiszka
    "-chardev pipe,id=id,path=path[,mux=on|off]\n"
1455 7273a2db Matthew Booth
#ifdef _WIN32
1456 97331287 Jan Kiszka
    "-chardev console,id=id[,mux=on|off]\n"
1457 97331287 Jan Kiszka
    "-chardev serial,id=id,path=path[,mux=on|off]\n"
1458 7273a2db Matthew Booth
#else
1459 97331287 Jan Kiszka
    "-chardev pty,id=id[,mux=on|off]\n"
1460 b7fdb3ab Aurelien Jarno
    "-chardev stdio,id=id[,mux=on|off][,signal=on|off]\n"
1461 7273a2db Matthew Booth
#endif
1462 7273a2db Matthew Booth
#ifdef CONFIG_BRLAPI
1463 97331287 Jan Kiszka
    "-chardev braille,id=id[,mux=on|off]\n"
1464 7273a2db Matthew Booth
#endif
1465 7273a2db Matthew Booth
#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) \
1466 7273a2db Matthew Booth
        || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
1467 97331287 Jan Kiszka
    "-chardev tty,id=id,path=path[,mux=on|off]\n"
1468 7273a2db Matthew Booth
#endif
1469 7273a2db Matthew Booth
#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
1470 97331287 Jan Kiszka
    "-chardev parport,id=id,path=path[,mux=on|off]\n"
1471 7273a2db Matthew Booth
#endif
1472 cbcc6336 Alon Levy
#if defined(CONFIG_SPICE)
1473 cbcc6336 Alon Levy
    "-chardev spicevmc,id=id,name=name[,debug=debug]\n"
1474 cbcc6336 Alon Levy
#endif
1475 ad96090a Blue Swirl
    , QEMU_ARCH_ALL
1476 7273a2db Matthew Booth
)
1477 7273a2db Matthew Booth
1478 7273a2db Matthew Booth
STEXI
1479 7273a2db Matthew Booth
1480 7273a2db Matthew Booth
The general form of a character device option is:
1481 7273a2db Matthew Booth
@table @option
1482 7273a2db Matthew Booth
1483 97331287 Jan Kiszka
@item -chardev @var{backend} ,id=@var{id} [,mux=on|off] [,@var{options}]
1484 6616b2ad Stefan Weil
@findex -chardev
1485 7273a2db Matthew Booth
Backend is one of:
1486 7273a2db Matthew Booth
@option{null},
1487 7273a2db Matthew Booth
@option{socket},
1488 7273a2db Matthew Booth
@option{udp},
1489 7273a2db Matthew Booth
@option{msmouse},
1490 7273a2db Matthew Booth
@option{vc},
1491 7273a2db Matthew Booth
@option{file},
1492 7273a2db Matthew Booth
@option{pipe},
1493 7273a2db Matthew Booth
@option{console},
1494 7273a2db Matthew Booth
@option{serial},
1495 7273a2db Matthew Booth
@option{pty},
1496 7273a2db Matthew Booth
@option{stdio},
1497 7273a2db Matthew Booth
@option{braille},
1498 7273a2db Matthew Booth
@option{tty},
1499 cbcc6336 Alon Levy
@option{parport},
1500 cbcc6336 Alon Levy
@option{spicevmc}.
1501 7273a2db Matthew Booth
The specific backend will determine the applicable options.
1502 7273a2db Matthew Booth
1503 7273a2db Matthew Booth
All devices must have an id, which can be any string up to 127 characters long.
1504 7273a2db Matthew Booth
It is used to uniquely identify this device in other command line directives.
1505 7273a2db Matthew Booth
1506 97331287 Jan Kiszka
A character device may be used in multiplexing mode by multiple front-ends.
1507 97331287 Jan Kiszka
The key sequence of @key{Control-a} and @key{c} will rotate the input focus
1508 97331287 Jan Kiszka
between attached front-ends. Specify @option{mux=on} to enable this mode.
1509 97331287 Jan Kiszka
1510 7273a2db Matthew Booth
Options to each backend are described below.
1511 7273a2db Matthew Booth
1512 7273a2db Matthew Booth
@item -chardev null ,id=@var{id}
1513 7273a2db Matthew Booth
A void device. This device will not emit any data, and will drop any data it
1514 7273a2db Matthew Booth
receives. The null backend does not take any options.
1515 7273a2db Matthew Booth
1516 7273a2db Matthew Booth
@item -chardev socket ,id=@var{id} [@var{TCP options} or @var{unix options}] [,server] [,nowait] [,telnet]
1517 7273a2db Matthew Booth
1518 7273a2db Matthew Booth
Create a two-way stream socket, which can be either a TCP or a unix socket. A
1519 7273a2db Matthew Booth
unix socket will be created if @option{path} is specified. Behaviour is
1520 7273a2db Matthew Booth
undefined if TCP options are specified for a unix socket.
1521 7273a2db Matthew Booth
1522 7273a2db Matthew Booth
@option{server} specifies that the socket shall be a listening socket.
1523 7273a2db Matthew Booth
1524 7273a2db Matthew Booth
@option{nowait} specifies that QEMU should not block waiting for a client to
1525 7273a2db Matthew Booth
connect to a listening socket.
1526 7273a2db Matthew Booth
1527 7273a2db Matthew Booth
@option{telnet} specifies that traffic on the socket should interpret telnet
1528 7273a2db Matthew Booth
escape sequences.
1529 7273a2db Matthew Booth
1530 7273a2db Matthew Booth
TCP and unix socket options are given below:
1531 7273a2db Matthew Booth
1532 7273a2db Matthew Booth
@table @option
1533 7273a2db Matthew Booth
1534 8d533561 Aurelien Jarno
@item TCP options: port=@var{port} [,host=@var{host}] [,to=@var{to}] [,ipv4] [,ipv6] [,nodelay]
1535 7273a2db Matthew Booth
1536 7273a2db Matthew Booth
@option{host} for a listening socket specifies the local address to be bound.
1537 7273a2db Matthew Booth
For a connecting socket species the remote host to connect to. @option{host} is
1538 7273a2db Matthew Booth
optional for listening sockets. If not specified it defaults to @code{0.0.0.0}.
1539 7273a2db Matthew Booth
1540 7273a2db Matthew Booth
@option{port} for a listening socket specifies the local port to be bound. For a
1541 7273a2db Matthew Booth
connecting socket specifies the port on the remote host to connect to.
1542 7273a2db Matthew Booth
@option{port} can be given as either a port number or a service name.
1543 7273a2db Matthew Booth
@option{port} is required.
1544 7273a2db Matthew Booth
1545 7273a2db Matthew Booth
@option{to} is only relevant to listening sockets. If it is specified, and
1546 7273a2db Matthew Booth
@option{port} cannot be bound, QEMU will attempt to bind to subsequent ports up
1547 7273a2db Matthew Booth
to and including @option{to} until it succeeds. @option{to} must be specified
1548 7273a2db Matthew Booth
as a port number.
1549 7273a2db Matthew Booth
1550 7273a2db Matthew Booth
@option{ipv4} and @option{ipv6} specify that either IPv4 or IPv6 must be used.
1551 7273a2db Matthew Booth
If neither is specified the socket may use either protocol.
1552 7273a2db Matthew Booth
1553 7273a2db Matthew Booth
@option{nodelay} disables the Nagle algorithm.
1554 7273a2db Matthew Booth
1555 7273a2db Matthew Booth
@item unix options: path=@var{path}
1556 7273a2db Matthew Booth
1557 7273a2db Matthew Booth
@option{path} specifies the local path of the unix socket. @option{path} is
1558 7273a2db Matthew Booth
required.
1559 7273a2db Matthew Booth
1560 7273a2db Matthew Booth
@end table
1561 7273a2db Matthew Booth
1562 7273a2db Matthew Booth
@item -chardev udp ,id=@var{id} [,host=@var{host}] ,port=@var{port} [,localaddr=@var{localaddr}] [,localport=@var{localport}] [,ipv4] [,ipv6]
1563 7273a2db Matthew Booth
1564 7273a2db Matthew Booth
Sends all traffic from the guest to a remote host over UDP.
1565 7273a2db Matthew Booth
1566 7273a2db Matthew Booth
@option{host} specifies the remote host to connect to. If not specified it
1567 7273a2db Matthew Booth
defaults to @code{localhost}.
1568 7273a2db Matthew Booth
1569 7273a2db Matthew Booth
@option{port} specifies the port on the remote host to connect to. @option{port}
1570 7273a2db Matthew Booth
is required.
1571 7273a2db Matthew Booth
1572 7273a2db Matthew Booth
@option{localaddr} specifies the local address to bind to. If not specified it
1573 7273a2db Matthew Booth
defaults to @code{0.0.0.0}.
1574 7273a2db Matthew Booth
1575 7273a2db Matthew Booth
@option{localport} specifies the local port to bind to. If not specified any
1576 7273a2db Matthew Booth
available local port will be used.
1577 7273a2db Matthew Booth
1578 7273a2db Matthew Booth
@option{ipv4} and @option{ipv6} specify that either IPv4 or IPv6 must be used.
1579 7273a2db Matthew Booth
If neither is specified the device may use either protocol.
1580 7273a2db Matthew Booth
1581 7273a2db Matthew Booth
@item -chardev msmouse ,id=@var{id}
1582 7273a2db Matthew Booth
1583 7273a2db Matthew Booth
Forward QEMU's emulated msmouse events to the guest. @option{msmouse} does not
1584 7273a2db Matthew Booth
take any options.
1585 7273a2db Matthew Booth
1586 7273a2db Matthew Booth
@item -chardev vc ,id=@var{id} [[,width=@var{width}] [,height=@var{height}]] [[,cols=@var{cols}] [,rows=@var{rows}]]
1587 7273a2db Matthew Booth
1588 7273a2db Matthew Booth
Connect to a QEMU text console. @option{vc} may optionally be given a specific
1589 7273a2db Matthew Booth
size.
1590 7273a2db Matthew Booth
1591 7273a2db Matthew Booth
@option{width} and @option{height} specify the width and height respectively of
1592 7273a2db Matthew Booth
the console, in pixels.
1593 7273a2db Matthew Booth
1594 7273a2db Matthew Booth
@option{cols} and @option{rows} specify that the console be sized to fit a text
1595 7273a2db Matthew Booth
console with the given dimensions.
1596 7273a2db Matthew Booth
1597 7273a2db Matthew Booth
@item -chardev file ,id=@var{id} ,path=@var{path}
1598 7273a2db Matthew Booth
1599 7273a2db Matthew Booth
Log all traffic received from the guest to a file.
1600 7273a2db Matthew Booth
1601 7273a2db Matthew Booth
@option{path} specifies the path of the file to be opened. This file will be
1602 7273a2db Matthew Booth
created if it does not already exist, and overwritten if it does. @option{path}
1603 7273a2db Matthew Booth
is required.
1604 7273a2db Matthew Booth
1605 7273a2db Matthew Booth
@item -chardev pipe ,id=@var{id} ,path=@var{path}
1606 7273a2db Matthew Booth
1607 7273a2db Matthew Booth
Create a two-way connection to the guest. The behaviour differs slightly between
1608 7273a2db Matthew Booth
Windows hosts and other hosts:
1609 7273a2db Matthew Booth
1610 7273a2db Matthew Booth
On Windows, a single duplex pipe will be created at
1611 7273a2db Matthew Booth
@file{\\.pipe\@option{path}}.
1612 7273a2db Matthew Booth
1613 7273a2db Matthew Booth
On other hosts, 2 pipes will be created called @file{@option{path}.in} and
1614 7273a2db Matthew Booth
@file{@option{path}.out}. Data written to @file{@option{path}.in} will be
1615 7273a2db Matthew Booth
received by the guest. Data written by the guest can be read from
1616 7273a2db Matthew Booth
@file{@option{path}.out}. QEMU will not create these fifos, and requires them to
1617 7273a2db Matthew Booth
be present.
1618 7273a2db Matthew Booth
1619 7273a2db Matthew Booth
@option{path} forms part of the pipe path as described above. @option{path} is
1620 7273a2db Matthew Booth
required.
1621 7273a2db Matthew Booth
1622 7273a2db Matthew Booth
@item -chardev console ,id=@var{id}
1623 7273a2db Matthew Booth
1624 7273a2db Matthew Booth
Send traffic from the guest to QEMU's standard output. @option{console} does not
1625 7273a2db Matthew Booth
take any options.
1626 7273a2db Matthew Booth
1627 7273a2db Matthew Booth
@option{console} is only available on Windows hosts.
1628 7273a2db Matthew Booth
1629 7273a2db Matthew Booth
@item -chardev serial ,id=@var{id} ,path=@option{path}
1630 7273a2db Matthew Booth
1631 7273a2db Matthew Booth
Send traffic from the guest to a serial device on the host.
1632 7273a2db Matthew Booth
1633 7273a2db Matthew Booth
@option{serial} is
1634 7273a2db Matthew Booth
only available on Windows hosts.
1635 7273a2db Matthew Booth
1636 7273a2db Matthew Booth
@option{path} specifies the name of the serial device to open.
1637 7273a2db Matthew Booth
1638 7273a2db Matthew Booth
@item -chardev pty ,id=@var{id}
1639 7273a2db Matthew Booth
1640 7273a2db Matthew Booth
Create a new pseudo-terminal on the host and connect to it. @option{pty} does
1641 7273a2db Matthew Booth
not take any options.
1642 7273a2db Matthew Booth
1643 7273a2db Matthew Booth
@option{pty} is not available on Windows hosts.
1644 7273a2db Matthew Booth
1645 b7fdb3ab Aurelien Jarno
@item -chardev stdio ,id=@var{id} [,signal=on|off]
1646 7273a2db Matthew Booth
Connect to standard input and standard output of the qemu process.
1647 b7fdb3ab Aurelien Jarno
1648 b7fdb3ab Aurelien Jarno
@option{signal} controls if signals are enabled on the terminal, that includes
1649 b7fdb3ab Aurelien Jarno
exiting QEMU with the key sequence @key{Control-c}. This option is enabled by
1650 b7fdb3ab Aurelien Jarno
default, use @option{signal=off} to disable it.
1651 b7fdb3ab Aurelien Jarno
1652 b7fdb3ab Aurelien Jarno
@option{stdio} is not available on Windows hosts.
1653 7273a2db Matthew Booth
1654 7273a2db Matthew Booth
@item -chardev braille ,id=@var{id}
1655 7273a2db Matthew Booth
1656 7273a2db Matthew Booth
Connect to a local BrlAPI server. @option{braille} does not take any options.
1657 7273a2db Matthew Booth
1658 7273a2db Matthew Booth
@item -chardev tty ,id=@var{id} ,path=@var{path}
1659 7273a2db Matthew Booth
1660 7273a2db Matthew Booth
Connect to a local tty device.
1661 7273a2db Matthew Booth
1662 7273a2db Matthew Booth
@option{tty} is only available on Linux, Sun, FreeBSD, NetBSD, OpenBSD and
1663 7273a2db Matthew Booth
DragonFlyBSD hosts.
1664 7273a2db Matthew Booth
1665 7273a2db Matthew Booth
@option{path} specifies the path to the tty. @option{path} is required.
1666 7273a2db Matthew Booth
1667 7273a2db Matthew Booth
@item -chardev parport ,id=@var{id} ,path=@var{path}
1668 7273a2db Matthew Booth
1669 7273a2db Matthew Booth
@option{parport} is only available on Linux, FreeBSD and DragonFlyBSD hosts.
1670 7273a2db Matthew Booth
1671 7273a2db Matthew Booth
Connect to a local parallel port.
1672 7273a2db Matthew Booth
1673 7273a2db Matthew Booth
@option{path} specifies the path to the parallel port device. @option{path} is
1674 7273a2db Matthew Booth
required.
1675 7273a2db Matthew Booth
1676 cbcc6336 Alon Levy
#if defined(CONFIG_SPICE)
1677 cbcc6336 Alon Levy
@item -chardev spicevmc ,id=@var{id} ,debug=@var{debug}, name=@var{name}
1678 cbcc6336 Alon Levy
1679 cbcc6336 Alon Levy
@option{debug} debug level for spicevmc
1680 cbcc6336 Alon Levy
1681 cbcc6336 Alon Levy
@option{name} name of spice channel to connect to
1682 cbcc6336 Alon Levy
1683 cbcc6336 Alon Levy
Connect to a spice virtual machine channel, such as vdiport.
1684 cbcc6336 Alon Levy
#endif
1685 cbcc6336 Alon Levy
1686 7273a2db Matthew Booth
@end table
1687 7273a2db Matthew Booth
ETEXI
1688 7273a2db Matthew Booth
1689 7273a2db Matthew Booth
DEFHEADING()
1690 7273a2db Matthew Booth
1691 7273a2db Matthew Booth
DEFHEADING(Bluetooth(R) options:)
1692 7273a2db Matthew Booth
1693 5824d651 blueswir1
DEF("bt", HAS_ARG, QEMU_OPTION_bt, \
1694 5824d651 blueswir1
    "-bt hci,null    dumb bluetooth HCI - doesn't respond to commands\n" \
1695 5824d651 blueswir1
    "-bt hci,host[:id]\n" \
1696 5824d651 blueswir1
    "                use host's HCI with the given name\n" \
1697 5824d651 blueswir1
    "-bt hci[,vlan=n]\n" \
1698 5824d651 blueswir1
    "                emulate a standard HCI in virtual scatternet 'n'\n" \
1699 5824d651 blueswir1
    "-bt vhci[,vlan=n]\n" \
1700 5824d651 blueswir1
    "                add host computer to virtual scatternet 'n' using VHCI\n" \
1701 5824d651 blueswir1
    "-bt device:dev[,vlan=n]\n" \
1702 ad96090a Blue Swirl
    "                emulate a bluetooth device 'dev' in scatternet 'n'\n",
1703 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1704 5824d651 blueswir1
STEXI
1705 5824d651 blueswir1
@table @option
1706 5824d651 blueswir1
1707 5824d651 blueswir1
@item -bt hci[...]
1708 6616b2ad Stefan Weil
@findex -bt
1709 5824d651 blueswir1
Defines the function of the corresponding Bluetooth HCI.  -bt options
1710 5824d651 blueswir1
are matched with the HCIs present in the chosen machine type.  For
1711 5824d651 blueswir1
example when emulating a machine with only one HCI built into it, only
1712 5824d651 blueswir1
the first @code{-bt hci[...]} option is valid and defines the HCI's
1713 5824d651 blueswir1
logic.  The Transport Layer is decided by the machine type.  Currently
1714 5824d651 blueswir1
the machines @code{n800} and @code{n810} have one HCI and all other
1715 5824d651 blueswir1
machines have none.
1716 5824d651 blueswir1
1717 5824d651 blueswir1
@anchor{bt-hcis}
1718 5824d651 blueswir1
The following three types are recognized:
1719 5824d651 blueswir1
1720 b3f046c2 Kevin Wolf
@table @option
1721 5824d651 blueswir1
@item -bt hci,null
1722 5824d651 blueswir1
(default) The corresponding Bluetooth HCI assumes no internal logic
1723 5824d651 blueswir1
and will not respond to any HCI commands or emit events.
1724 5824d651 blueswir1
1725 5824d651 blueswir1
@item -bt hci,host[:@var{id}]
1726 5824d651 blueswir1
(@code{bluez} only) The corresponding HCI passes commands / events
1727 5824d651 blueswir1
to / from the physical HCI identified by the name @var{id} (default:
1728 5824d651 blueswir1
@code{hci0}) on the computer running QEMU.  Only available on @code{bluez}
1729 5824d651 blueswir1
capable systems like Linux.
1730 5824d651 blueswir1
1731 5824d651 blueswir1
@item -bt hci[,vlan=@var{n}]
1732 5824d651 blueswir1
Add a virtual, standard HCI that will participate in the Bluetooth
1733 5824d651 blueswir1
scatternet @var{n} (default @code{0}).  Similarly to @option{-net}
1734 5824d651 blueswir1
VLANs, devices inside a bluetooth network @var{n} can only communicate
1735 5824d651 blueswir1
with other devices in the same network (scatternet).
1736 5824d651 blueswir1
@end table
1737 5824d651 blueswir1
1738 5824d651 blueswir1
@item -bt vhci[,vlan=@var{n}]
1739 5824d651 blueswir1
(Linux-host only) Create a HCI in scatternet @var{n} (default 0) attached
1740 5824d651 blueswir1
to the host bluetooth stack instead of to the emulated target.  This
1741 5824d651 blueswir1
allows the host and target machines to participate in a common scatternet
1742 5824d651 blueswir1
and communicate.  Requires the Linux @code{vhci} driver installed.  Can
1743 5824d651 blueswir1
be used as following:
1744 5824d651 blueswir1
1745 5824d651 blueswir1
@example
1746 5824d651 blueswir1
qemu [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
1747 5824d651 blueswir1
@end example
1748 5824d651 blueswir1
1749 5824d651 blueswir1
@item -bt device:@var{dev}[,vlan=@var{n}]
1750 5824d651 blueswir1
Emulate a bluetooth device @var{dev} and place it in network @var{n}
1751 5824d651 blueswir1
(default @code{0}).  QEMU can only emulate one type of bluetooth devices
1752 5824d651 blueswir1
currently:
1753 5824d651 blueswir1
1754 b3f046c2 Kevin Wolf
@table @option
1755 5824d651 blueswir1
@item keyboard
1756 5824d651 blueswir1
Virtual wireless keyboard implementing the HIDP bluetooth profile.
1757 5824d651 blueswir1
@end table
1758 5824d651 blueswir1
@end table
1759 5824d651 blueswir1
ETEXI
1760 5824d651 blueswir1
1761 5824d651 blueswir1
DEFHEADING()
1762 5824d651 blueswir1
1763 7677f05d Alexander Graf
DEFHEADING(Linux/Multiboot boot specific:)
1764 5824d651 blueswir1
STEXI
1765 7677f05d Alexander Graf
1766 7677f05d Alexander Graf
When using these options, you can use a given Linux or Multiboot
1767 7677f05d Alexander Graf
kernel without installing it in the disk image. It can be useful
1768 5824d651 blueswir1
for easier testing of various kernels.
1769 5824d651 blueswir1
1770 5824d651 blueswir1
@table @option
1771 5824d651 blueswir1
ETEXI
1772 5824d651 blueswir1
1773 5824d651 blueswir1
DEF("kernel", HAS_ARG, QEMU_OPTION_kernel, \
1774 ad96090a Blue Swirl
    "-kernel bzImage use 'bzImage' as kernel image\n", QEMU_ARCH_ALL)
1775 5824d651 blueswir1
STEXI
1776 5824d651 blueswir1
@item -kernel @var{bzImage}
1777 6616b2ad Stefan Weil
@findex -kernel
1778 7677f05d Alexander Graf
Use @var{bzImage} as kernel image. The kernel can be either a Linux kernel
1779 7677f05d Alexander Graf
or in multiboot format.
1780 5824d651 blueswir1
ETEXI
1781 5824d651 blueswir1
1782 5824d651 blueswir1
DEF("append", HAS_ARG, QEMU_OPTION_append, \
1783 ad96090a Blue Swirl
    "-append cmdline use 'cmdline' as kernel command line\n", QEMU_ARCH_ALL)
1784 5824d651 blueswir1
STEXI
1785 5824d651 blueswir1
@item -append @var{cmdline}
1786 6616b2ad Stefan Weil
@findex -append
1787 5824d651 blueswir1
Use @var{cmdline} as kernel command line
1788 5824d651 blueswir1
ETEXI
1789 5824d651 blueswir1
1790 5824d651 blueswir1
DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \
1791 ad96090a Blue Swirl
           "-initrd file    use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
1792 5824d651 blueswir1
STEXI
1793 5824d651 blueswir1
@item -initrd @var{file}
1794 6616b2ad Stefan Weil
@findex -initrd
1795 5824d651 blueswir1
Use @var{file} as initial ram disk.
1796 7677f05d Alexander Graf
1797 7677f05d Alexander Graf
@item -initrd "@var{file1} arg=foo,@var{file2}"
1798 7677f05d Alexander Graf
1799 7677f05d Alexander Graf
This syntax is only available with multiboot.
1800 7677f05d Alexander Graf
1801 7677f05d Alexander Graf
Use @var{file1} and @var{file2} as modules and pass arg=foo as parameter to the
1802 7677f05d Alexander Graf
first module.
1803 5824d651 blueswir1
ETEXI
1804 5824d651 blueswir1
1805 5824d651 blueswir1
STEXI
1806 5824d651 blueswir1
@end table
1807 5824d651 blueswir1
ETEXI
1808 5824d651 blueswir1
1809 5824d651 blueswir1
DEFHEADING()
1810 5824d651 blueswir1
1811 5824d651 blueswir1
DEFHEADING(Debug/Expert options:)
1812 5824d651 blueswir1
1813 5824d651 blueswir1
STEXI
1814 5824d651 blueswir1
@table @option
1815 5824d651 blueswir1
ETEXI
1816 5824d651 blueswir1
1817 5824d651 blueswir1
DEF("serial", HAS_ARG, QEMU_OPTION_serial, \
1818 ad96090a Blue Swirl
    "-serial dev     redirect the serial port to char device 'dev'\n",
1819 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1820 5824d651 blueswir1
STEXI
1821 5824d651 blueswir1
@item -serial @var{dev}
1822 6616b2ad Stefan Weil
@findex -serial
1823 5824d651 blueswir1
Redirect the virtual serial port to host character device
1824 5824d651 blueswir1
@var{dev}. The default device is @code{vc} in graphical mode and
1825 5824d651 blueswir1
@code{stdio} in non graphical mode.
1826 5824d651 blueswir1
1827 5824d651 blueswir1
This option can be used several times to simulate up to 4 serial
1828 5824d651 blueswir1
ports.
1829 5824d651 blueswir1
1830 5824d651 blueswir1
Use @code{-serial none} to disable all serial ports.
1831 5824d651 blueswir1
1832 5824d651 blueswir1
Available character devices are:
1833 b3f046c2 Kevin Wolf
@table @option
1834 4e257e5e Kevin Wolf
@item vc[:@var{W}x@var{H}]
1835 5824d651 blueswir1
Virtual console. Optionally, a width and height can be given in pixel with
1836 5824d651 blueswir1
@example
1837 5824d651 blueswir1
vc:800x600
1838 5824d651 blueswir1
@end example
1839 5824d651 blueswir1
It is also possible to specify width or height in characters:
1840 5824d651 blueswir1
@example
1841 5824d651 blueswir1
vc:80Cx24C
1842 5824d651 blueswir1
@end example
1843 5824d651 blueswir1
@item pty
1844 5824d651 blueswir1
[Linux only] Pseudo TTY (a new PTY is automatically allocated)
1845 5824d651 blueswir1
@item none
1846 5824d651 blueswir1
No device is allocated.
1847 5824d651 blueswir1
@item null
1848 5824d651 blueswir1
void device
1849 5824d651 blueswir1
@item /dev/XXX
1850 5824d651 blueswir1
[Linux only] Use host tty, e.g. @file{/dev/ttyS0}. The host serial port
1851 5824d651 blueswir1
parameters are set according to the emulated ones.
1852 5824d651 blueswir1
@item /dev/parport@var{N}
1853 5824d651 blueswir1
[Linux only, parallel port only] Use host parallel port
1854 5824d651 blueswir1
@var{N}. Currently SPP and EPP parallel port features can be used.
1855 5824d651 blueswir1
@item file:@var{filename}
1856 5824d651 blueswir1
Write output to @var{filename}. No character can be read.
1857 5824d651 blueswir1
@item stdio
1858 5824d651 blueswir1
[Unix only] standard input/output
1859 5824d651 blueswir1
@item pipe:@var{filename}
1860 5824d651 blueswir1
name pipe @var{filename}
1861 5824d651 blueswir1
@item COM@var{n}
1862 5824d651 blueswir1
[Windows only] Use host serial port @var{n}
1863 5824d651 blueswir1
@item udp:[@var{remote_host}]:@var{remote_port}[@@[@var{src_ip}]:@var{src_port}]
1864 5824d651 blueswir1
This implements UDP Net Console.
1865 5824d651 blueswir1
When @var{remote_host} or @var{src_ip} are not specified
1866 5824d651 blueswir1
they default to @code{0.0.0.0}.
1867 5824d651 blueswir1
When not using a specified @var{src_port} a random port is automatically chosen.
1868 5824d651 blueswir1
1869 5824d651 blueswir1
If you just want a simple readonly console you can use @code{netcat} or
1870 5824d651 blueswir1
@code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:
1871 5824d651 blueswir1
@code{nc -u -l -p 4555}. Any time qemu writes something to that port it
1872 5824d651 blueswir1
will appear in the netconsole session.
1873 5824d651 blueswir1
1874 5824d651 blueswir1
If you plan to send characters back via netconsole or you want to stop
1875 5824d651 blueswir1
and start qemu a lot of times, you should have qemu use the same
1876 5824d651 blueswir1
source port each time by using something like @code{-serial
1877 5824d651 blueswir1
udp::4555@@:4556} to qemu. Another approach is to use a patched
1878 5824d651 blueswir1
version of netcat which can listen to a TCP port and send and receive
1879 5824d651 blueswir1
characters via udp.  If you have a patched version of netcat which
1880 5824d651 blueswir1
activates telnet remote echo and single char transfer, then you can
1881 5824d651 blueswir1
use the following options to step up a netcat redirector to allow
1882 5824d651 blueswir1
telnet on port 5555 to access the qemu port.
1883 5824d651 blueswir1
@table @code
1884 5824d651 blueswir1
@item Qemu Options:
1885 5824d651 blueswir1
-serial udp::4555@@:4556
1886 5824d651 blueswir1
@item netcat options:
1887 5824d651 blueswir1
-u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
1888 5824d651 blueswir1
@item telnet options:
1889 5824d651 blueswir1
localhost 5555
1890 5824d651 blueswir1
@end table
1891 5824d651 blueswir1
1892 5824d651 blueswir1
@item tcp:[@var{host}]:@var{port}[,@var{server}][,nowait][,nodelay]
1893 5824d651 blueswir1
The TCP Net Console has two modes of operation.  It can send the serial
1894 5824d651 blueswir1
I/O to a location or wait for a connection from a location.  By default
1895 5824d651 blueswir1
the TCP Net Console is sent to @var{host} at the @var{port}.  If you use
1896 5824d651 blueswir1
the @var{server} option QEMU will wait for a client socket application
1897 5824d651 blueswir1
to connect to the port before continuing, unless the @code{nowait}
1898 5824d651 blueswir1
option was specified.  The @code{nodelay} option disables the Nagle buffering
1899 5824d651 blueswir1
algorithm.  If @var{host} is omitted, 0.0.0.0 is assumed. Only
1900 5824d651 blueswir1
one TCP connection at a time is accepted. You can use @code{telnet} to
1901 5824d651 blueswir1
connect to the corresponding character device.
1902 5824d651 blueswir1
@table @code
1903 5824d651 blueswir1
@item Example to send tcp console to 192.168.0.2 port 4444
1904 5824d651 blueswir1
-serial tcp:192.168.0.2:4444
1905 5824d651 blueswir1
@item Example to listen and wait on port 4444 for connection
1906 5824d651 blueswir1
-serial tcp::4444,server
1907 5824d651 blueswir1
@item Example to not wait and listen on ip 192.168.0.100 port 4444
1908 5824d651 blueswir1
-serial tcp:192.168.0.100:4444,server,nowait
1909 5824d651 blueswir1
@end table
1910 5824d651 blueswir1
1911 5824d651 blueswir1
@item telnet:@var{host}:@var{port}[,server][,nowait][,nodelay]
1912 5824d651 blueswir1
The telnet protocol is used instead of raw tcp sockets.  The options
1913 5824d651 blueswir1
work the same as if you had specified @code{-serial tcp}.  The
1914 5824d651 blueswir1
difference is that the port acts like a telnet server or client using
1915 5824d651 blueswir1
telnet option negotiation.  This will also allow you to send the
1916 5824d651 blueswir1
MAGIC_SYSRQ sequence if you use a telnet that supports sending the break
1917 5824d651 blueswir1
sequence.  Typically in unix telnet you do it with Control-] and then
1918 5824d651 blueswir1
type "send break" followed by pressing the enter key.
1919 5824d651 blueswir1
1920 5824d651 blueswir1
@item unix:@var{path}[,server][,nowait]
1921 5824d651 blueswir1
A unix domain socket is used instead of a tcp socket.  The option works the
1922 5824d651 blueswir1
same as if you had specified @code{-serial tcp} except the unix domain socket
1923 5824d651 blueswir1
@var{path} is used for connections.
1924 5824d651 blueswir1
1925 5824d651 blueswir1
@item mon:@var{dev_string}
1926 5824d651 blueswir1
This is a special option to allow the monitor to be multiplexed onto
1927 5824d651 blueswir1
another serial port.  The monitor is accessed with key sequence of
1928 5824d651 blueswir1
@key{Control-a} and then pressing @key{c}. See monitor access
1929 5824d651 blueswir1
@ref{pcsys_keys} in the -nographic section for more keys.
1930 5824d651 blueswir1
@var{dev_string} should be any one of the serial devices specified
1931 5824d651 blueswir1
above.  An example to multiplex the monitor onto a telnet server
1932 5824d651 blueswir1
listening on port 4444 would be:
1933 5824d651 blueswir1
@table @code
1934 5824d651 blueswir1
@item -serial mon:telnet::4444,server,nowait
1935 5824d651 blueswir1
@end table
1936 5824d651 blueswir1
1937 5824d651 blueswir1
@item braille
1938 5824d651 blueswir1
Braille device.  This will use BrlAPI to display the braille output on a real
1939 5824d651 blueswir1
or fake device.
1940 5824d651 blueswir1
1941 be8b28a9 Kevin Wolf
@item msmouse
1942 be8b28a9 Kevin Wolf
Three button serial mouse. Configure the guest to use Microsoft protocol.
1943 5824d651 blueswir1
@end table
1944 5824d651 blueswir1
ETEXI
1945 5824d651 blueswir1
1946 5824d651 blueswir1
DEF("parallel", HAS_ARG, QEMU_OPTION_parallel, \
1947 ad96090a Blue Swirl
    "-parallel dev   redirect the parallel port to char device 'dev'\n",
1948 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1949 5824d651 blueswir1
STEXI
1950 5824d651 blueswir1
@item -parallel @var{dev}
1951 6616b2ad Stefan Weil
@findex -parallel
1952 5824d651 blueswir1
Redirect the virtual parallel port to host device @var{dev} (same
1953 5824d651 blueswir1
devices as the serial port). On Linux hosts, @file{/dev/parportN} can
1954 5824d651 blueswir1
be used to use hardware devices connected on the corresponding host
1955 5824d651 blueswir1
parallel port.
1956 5824d651 blueswir1
1957 5824d651 blueswir1
This option can be used several times to simulate up to 3 parallel
1958 5824d651 blueswir1
ports.
1959 5824d651 blueswir1
1960 5824d651 blueswir1
Use @code{-parallel none} to disable all parallel ports.
1961 5824d651 blueswir1
ETEXI
1962 5824d651 blueswir1
1963 5824d651 blueswir1
DEF("monitor", HAS_ARG, QEMU_OPTION_monitor, \
1964 ad96090a Blue Swirl
    "-monitor dev    redirect the monitor to char device 'dev'\n",
1965 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1966 5824d651 blueswir1
STEXI
1967 4e307fc8 Gerd Hoffmann
@item -monitor @var{dev}
1968 6616b2ad Stefan Weil
@findex -monitor
1969 5824d651 blueswir1
Redirect the monitor to host device @var{dev} (same devices as the
1970 5824d651 blueswir1
serial port).
1971 5824d651 blueswir1
The default device is @code{vc} in graphical mode and @code{stdio} in
1972 5824d651 blueswir1
non graphical mode.
1973 5824d651 blueswir1
ETEXI
1974 6ca5582d Gerd Hoffmann
DEF("qmp", HAS_ARG, QEMU_OPTION_qmp, \
1975 ad96090a Blue Swirl
    "-qmp dev        like -monitor but opens in 'control' mode\n",
1976 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1977 95d5f08b Stefan Weil
STEXI
1978 95d5f08b Stefan Weil
@item -qmp @var{dev}
1979 6616b2ad Stefan Weil
@findex -qmp
1980 95d5f08b Stefan Weil
Like -monitor but opens in 'control' mode.
1981 95d5f08b Stefan Weil
ETEXI
1982 5824d651 blueswir1
1983 22a0e04b Gerd Hoffmann
DEF("mon", HAS_ARG, QEMU_OPTION_mon, \
1984 ad96090a Blue Swirl
    "-mon chardev=[name][,mode=readline|control][,default]\n", QEMU_ARCH_ALL)
1985 22a0e04b Gerd Hoffmann
STEXI
1986 22a0e04b Gerd Hoffmann
@item -mon chardev=[name][,mode=readline|control][,default]
1987 6616b2ad Stefan Weil
@findex -mon
1988 22a0e04b Gerd Hoffmann
Setup monitor on chardev @var{name}.
1989 22a0e04b Gerd Hoffmann
ETEXI
1990 22a0e04b Gerd Hoffmann
1991 c9f398e5 H. Peter Anvin
DEF("debugcon", HAS_ARG, QEMU_OPTION_debugcon, \
1992 ad96090a Blue Swirl
    "-debugcon dev   redirect the debug console to char device 'dev'\n",
1993 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
1994 c9f398e5 H. Peter Anvin
STEXI
1995 c9f398e5 H. Peter Anvin
@item -debugcon @var{dev}
1996 6616b2ad Stefan Weil
@findex -debugcon
1997 c9f398e5 H. Peter Anvin
Redirect the debug console to host device @var{dev} (same devices as the
1998 c9f398e5 H. Peter Anvin
serial port).  The debug console is an I/O port which is typically port
1999 c9f398e5 H. Peter Anvin
0xe9; writing to that I/O port sends output to this device.
2000 c9f398e5 H. Peter Anvin
The default device is @code{vc} in graphical mode and @code{stdio} in
2001 c9f398e5 H. Peter Anvin
non graphical mode.
2002 c9f398e5 H. Peter Anvin
ETEXI
2003 c9f398e5 H. Peter Anvin
2004 5824d651 blueswir1
DEF("pidfile", HAS_ARG, QEMU_OPTION_pidfile, \
2005 ad96090a Blue Swirl
    "-pidfile file   write PID to 'file'\n", QEMU_ARCH_ALL)
2006 5824d651 blueswir1
STEXI
2007 5824d651 blueswir1
@item -pidfile @var{file}
2008 6616b2ad Stefan Weil
@findex -pidfile
2009 5824d651 blueswir1
Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
2010 5824d651 blueswir1
from a script.
2011 5824d651 blueswir1
ETEXI
2012 5824d651 blueswir1
2013 1b530a6d aurel32
DEF("singlestep", 0, QEMU_OPTION_singlestep, \
2014 ad96090a Blue Swirl
    "-singlestep     always run in singlestep mode\n", QEMU_ARCH_ALL)
2015 1b530a6d aurel32
STEXI
2016 1b530a6d aurel32
@item -singlestep
2017 6616b2ad Stefan Weil
@findex -singlestep
2018 1b530a6d aurel32
Run the emulation in single step mode.
2019 1b530a6d aurel32
ETEXI
2020 1b530a6d aurel32
2021 5824d651 blueswir1
DEF("S", 0, QEMU_OPTION_S, \
2022 ad96090a Blue Swirl
    "-S              freeze CPU at startup (use 'c' to start execution)\n",
2023 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2024 5824d651 blueswir1
STEXI
2025 5824d651 blueswir1
@item -S
2026 6616b2ad Stefan Weil
@findex -S
2027 5824d651 blueswir1
Do not start CPU at startup (you must type 'c' in the monitor).
2028 5824d651 blueswir1
ETEXI
2029 5824d651 blueswir1
2030 59030a8c aliguori
DEF("gdb", HAS_ARG, QEMU_OPTION_gdb, \
2031 ad96090a Blue Swirl
    "-gdb dev        wait for gdb connection on 'dev'\n", QEMU_ARCH_ALL)
2032 59030a8c aliguori
STEXI
2033 59030a8c aliguori
@item -gdb @var{dev}
2034 6616b2ad Stefan Weil
@findex -gdb
2035 59030a8c aliguori
Wait for gdb connection on device @var{dev} (@pxref{gdb_usage}). Typical
2036 59030a8c aliguori
connections will likely be TCP-based, but also UDP, pseudo TTY, or even
2037 59030a8c aliguori
stdio are reasonable use case. The latter is allowing to start qemu from
2038 59030a8c aliguori
within gdb and establish the connection via a pipe:
2039 59030a8c aliguori
@example
2040 59030a8c aliguori
(gdb) target remote | exec qemu -gdb stdio ...
2041 59030a8c aliguori
@end example
2042 5824d651 blueswir1
ETEXI
2043 5824d651 blueswir1
2044 59030a8c aliguori
DEF("s", 0, QEMU_OPTION_s, \
2045 ad96090a Blue Swirl
    "-s              shorthand for -gdb tcp::" DEFAULT_GDBSTUB_PORT "\n",
2046 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2047 5824d651 blueswir1
STEXI
2048 59030a8c aliguori
@item -s
2049 6616b2ad Stefan Weil
@findex -s
2050 59030a8c aliguori
Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234
2051 59030a8c aliguori
(@pxref{gdb_usage}).
2052 5824d651 blueswir1
ETEXI
2053 5824d651 blueswir1
2054 5824d651 blueswir1
DEF("d", HAS_ARG, QEMU_OPTION_d, \
2055 ad96090a Blue Swirl
    "-d item1,...    output log to /tmp/qemu.log (use -d ? for a list of log items)\n",
2056 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2057 5824d651 blueswir1
STEXI
2058 5824d651 blueswir1
@item -d
2059 6616b2ad Stefan Weil
@findex -d
2060 5824d651 blueswir1
Output log in /tmp/qemu.log
2061 5824d651 blueswir1
ETEXI
2062 5824d651 blueswir1
2063 c235d738 Matthew Fernandez
DEF("D", HAS_ARG, QEMU_OPTION_D, \
2064 c235d738 Matthew Fernandez
    "-D logfile      output log to logfile (instead of the default /tmp/qemu.log)\n",
2065 c235d738 Matthew Fernandez
    QEMU_ARCH_ALL)
2066 c235d738 Matthew Fernandez
STEXI
2067 c235d738 Matthew Fernandez
@item -D
2068 c235d738 Matthew Fernandez
@findex -D
2069 c235d738 Matthew Fernandez
Output log in logfile instead of /tmp/qemu.log
2070 c235d738 Matthew Fernandez
ETEXI
2071 c235d738 Matthew Fernandez
2072 5824d651 blueswir1
DEF("hdachs", HAS_ARG, QEMU_OPTION_hdachs, \
2073 5824d651 blueswir1
    "-hdachs c,h,s[,t]\n" \
2074 5824d651 blueswir1
    "                force hard disk 0 physical geometry and the optional BIOS\n" \
2075 ad96090a Blue Swirl
    "                translation (t=none or lba) (usually qemu can guess them)\n",
2076 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2077 5824d651 blueswir1
STEXI
2078 5824d651 blueswir1
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
2079 6616b2ad Stefan Weil
@findex -hdachs
2080 5824d651 blueswir1
Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <=
2081 5824d651 blueswir1
@var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS
2082 5824d651 blueswir1
translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
2083 5824d651 blueswir1
all those parameters. This option is useful for old MS-DOS disk
2084 5824d651 blueswir1
images.
2085 5824d651 blueswir1
ETEXI
2086 5824d651 blueswir1
2087 5824d651 blueswir1
DEF("L", HAS_ARG, QEMU_OPTION_L, \
2088 ad96090a Blue Swirl
    "-L path         set the directory for the BIOS, VGA BIOS and keymaps\n",
2089 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2090 5824d651 blueswir1
STEXI
2091 5824d651 blueswir1
@item -L  @var{path}
2092 6616b2ad Stefan Weil
@findex -L
2093 5824d651 blueswir1
Set the directory for the BIOS, VGA BIOS and keymaps.
2094 5824d651 blueswir1
ETEXI
2095 5824d651 blueswir1
2096 5824d651 blueswir1
DEF("bios", HAS_ARG, QEMU_OPTION_bios, \
2097 ad96090a Blue Swirl
    "-bios file      set the filename for the BIOS\n", QEMU_ARCH_ALL)
2098 5824d651 blueswir1
STEXI
2099 5824d651 blueswir1
@item -bios @var{file}
2100 6616b2ad Stefan Weil
@findex -bios
2101 5824d651 blueswir1
Set the filename for the BIOS.
2102 5824d651 blueswir1
ETEXI
2103 5824d651 blueswir1
2104 5824d651 blueswir1
DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \
2105 ad96090a Blue Swirl
    "-enable-kvm     enable KVM full virtualization support\n", QEMU_ARCH_ALL)
2106 5824d651 blueswir1
STEXI
2107 5824d651 blueswir1
@item -enable-kvm
2108 6616b2ad Stefan Weil
@findex -enable-kvm
2109 5824d651 blueswir1
Enable KVM full virtualization support. This option is only available
2110 5824d651 blueswir1
if KVM support is enabled when compiling.
2111 5824d651 blueswir1
ETEXI
2112 5824d651 blueswir1
2113 e37630ca aliguori
DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid,
2114 ad96090a Blue Swirl
    "-xen-domid id   specify xen guest domain id\n", QEMU_ARCH_ALL)
2115 e37630ca aliguori
DEF("xen-create", 0, QEMU_OPTION_xen_create,
2116 e37630ca aliguori
    "-xen-create     create domain using xen hypercalls, bypassing xend\n"
2117 ad96090a Blue Swirl
    "                warning: should not be used when xend is in use\n",
2118 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2119 e37630ca aliguori
DEF("xen-attach", 0, QEMU_OPTION_xen_attach,
2120 e37630ca aliguori
    "-xen-attach     attach to existing xen domain\n"
2121 ad96090a Blue Swirl
    "                xend will use this when starting qemu\n",
2122 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2123 95d5f08b Stefan Weil
STEXI
2124 95d5f08b Stefan Weil
@item -xen-domid @var{id}
2125 6616b2ad Stefan Weil
@findex -xen-domid
2126 95d5f08b Stefan Weil
Specify xen guest domain @var{id} (XEN only).
2127 95d5f08b Stefan Weil
@item -xen-create
2128 6616b2ad Stefan Weil
@findex -xen-create
2129 95d5f08b Stefan Weil
Create domain using xen hypercalls, bypassing xend.
2130 95d5f08b Stefan Weil
Warning: should not be used when xend is in use (XEN only).
2131 95d5f08b Stefan Weil
@item -xen-attach
2132 6616b2ad Stefan Weil
@findex -xen-attach
2133 95d5f08b Stefan Weil
Attach to existing xen domain.
2134 95d5f08b Stefan Weil
xend will use this when starting qemu (XEN only).
2135 95d5f08b Stefan Weil
ETEXI
2136 e37630ca aliguori
2137 5824d651 blueswir1
DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \
2138 ad96090a Blue Swirl
    "-no-reboot      exit instead of rebooting\n", QEMU_ARCH_ALL)
2139 5824d651 blueswir1
STEXI
2140 5824d651 blueswir1
@item -no-reboot
2141 6616b2ad Stefan Weil
@findex -no-reboot
2142 5824d651 blueswir1
Exit instead of rebooting.
2143 5824d651 blueswir1
ETEXI
2144 5824d651 blueswir1
2145 5824d651 blueswir1
DEF("no-shutdown", 0, QEMU_OPTION_no_shutdown, \
2146 ad96090a Blue Swirl
    "-no-shutdown    stop before shutdown\n", QEMU_ARCH_ALL)
2147 5824d651 blueswir1
STEXI
2148 5824d651 blueswir1
@item -no-shutdown
2149 6616b2ad Stefan Weil
@findex -no-shutdown
2150 5824d651 blueswir1
Don't exit QEMU on guest shutdown, but instead only stop the emulation.
2151 5824d651 blueswir1
This allows for instance switching to monitor to commit changes to the
2152 5824d651 blueswir1
disk image.
2153 5824d651 blueswir1
ETEXI
2154 5824d651 blueswir1
2155 5824d651 blueswir1
DEF("loadvm", HAS_ARG, QEMU_OPTION_loadvm, \
2156 5824d651 blueswir1
    "-loadvm [tag|id]\n" \
2157 ad96090a Blue Swirl
    "                start right away with a saved state (loadvm in monitor)\n",
2158 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2159 5824d651 blueswir1
STEXI
2160 5824d651 blueswir1
@item -loadvm @var{file}
2161 6616b2ad Stefan Weil
@findex -loadvm
2162 5824d651 blueswir1
Start right away with a saved state (@code{loadvm} in monitor)
2163 5824d651 blueswir1
ETEXI
2164 5824d651 blueswir1
2165 5824d651 blueswir1
#ifndef _WIN32
2166 5824d651 blueswir1
DEF("daemonize", 0, QEMU_OPTION_daemonize, \
2167 ad96090a Blue Swirl
    "-daemonize      daemonize QEMU after initializing\n", QEMU_ARCH_ALL)
2168 5824d651 blueswir1
#endif
2169 5824d651 blueswir1
STEXI
2170 5824d651 blueswir1
@item -daemonize
2171 6616b2ad Stefan Weil
@findex -daemonize
2172 5824d651 blueswir1
Daemonize the QEMU process after initialization.  QEMU will not detach from
2173 5824d651 blueswir1
standard IO until it is ready to receive connections on any of its devices.
2174 5824d651 blueswir1
This option is a useful way for external programs to launch QEMU without having
2175 5824d651 blueswir1
to cope with initialization race conditions.
2176 5824d651 blueswir1
ETEXI
2177 5824d651 blueswir1
2178 5824d651 blueswir1
DEF("option-rom", HAS_ARG, QEMU_OPTION_option_rom, \
2179 ad96090a Blue Swirl
    "-option-rom rom load a file, rom, into the option ROM space\n",
2180 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2181 5824d651 blueswir1
STEXI
2182 5824d651 blueswir1
@item -option-rom @var{file}
2183 6616b2ad Stefan Weil
@findex -option-rom
2184 5824d651 blueswir1
Load the contents of @var{file} as an option ROM.
2185 5824d651 blueswir1
This option is useful to load things like EtherBoot.
2186 5824d651 blueswir1
ETEXI
2187 5824d651 blueswir1
2188 5824d651 blueswir1
DEF("clock", HAS_ARG, QEMU_OPTION_clock, \
2189 5824d651 blueswir1
    "-clock          force the use of the given methods for timer alarm.\n" \
2190 ad96090a Blue Swirl
    "                To see what timers are available use -clock ?\n",
2191 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2192 5824d651 blueswir1
STEXI
2193 5824d651 blueswir1
@item -clock @var{method}
2194 6616b2ad Stefan Weil
@findex -clock
2195 5824d651 blueswir1
Force the use of the given methods for timer alarm. To see what timers
2196 5824d651 blueswir1
are available use -clock ?.
2197 5824d651 blueswir1
ETEXI
2198 5824d651 blueswir1
2199 1ed2fc1f Jan Kiszka
HXCOMM Options deprecated by -rtc
2200 ad96090a Blue Swirl
DEF("localtime", 0, QEMU_OPTION_localtime, "", QEMU_ARCH_ALL)
2201 ad96090a Blue Swirl
DEF("startdate", HAS_ARG, QEMU_OPTION_startdate, "", QEMU_ARCH_ALL)
2202 1ed2fc1f Jan Kiszka
2203 1ed2fc1f Jan Kiszka
DEF("rtc", HAS_ARG, QEMU_OPTION_rtc, \
2204 6875204c Jan Kiszka
    "-rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew]\n" \
2205 ad96090a Blue Swirl
    "                set the RTC base and clock, enable drift fix for clock ticks (x86 only)\n",
2206 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2207 5824d651 blueswir1
2208 5824d651 blueswir1
STEXI
2209 5824d651 blueswir1
2210 6875204c Jan Kiszka
@item -rtc [base=utc|localtime|@var{date}][,clock=host|vm][,driftfix=none|slew]
2211 6616b2ad Stefan Weil
@findex -rtc
2212 1ed2fc1f Jan Kiszka
Specify @option{base} as @code{utc} or @code{localtime} to let the RTC start at the current
2213 1ed2fc1f Jan Kiszka
UTC or local time, respectively. @code{localtime} is required for correct date in
2214 1ed2fc1f Jan Kiszka
MS-DOS or Windows. To start at a specific point in time, provide @var{date} in the
2215 1ed2fc1f Jan Kiszka
format @code{2006-06-17T16:01:21} or @code{2006-06-17}. The default base is UTC.
2216 1ed2fc1f Jan Kiszka
2217 6875204c Jan Kiszka
By default the RTC is driven by the host system time. This allows to use the
2218 6875204c Jan Kiszka
RTC as accurate reference clock inside the guest, specifically if the host
2219 6875204c Jan Kiszka
time is smoothly following an accurate external reference clock, e.g. via NTP.
2220 6875204c Jan Kiszka
If you want to isolate the guest time from the host, even prevent it from
2221 6875204c Jan Kiszka
progressing during suspension, you can set @option{clock} to @code{vm} instead.
2222 6875204c Jan Kiszka
2223 1ed2fc1f Jan Kiszka
Enable @option{driftfix} (i386 targets only) if you experience time drift problems,
2224 1ed2fc1f Jan Kiszka
specifically with Windows' ACPI HAL. This option will try to figure out how
2225 1ed2fc1f Jan Kiszka
many timer interrupts were not processed by the Windows guest and will
2226 1ed2fc1f Jan Kiszka
re-inject them.
2227 5824d651 blueswir1
ETEXI
2228 5824d651 blueswir1
2229 5824d651 blueswir1
DEF("icount", HAS_ARG, QEMU_OPTION_icount, \
2230 5824d651 blueswir1
    "-icount [N|auto]\n" \
2231 bc14ca24 aliguori
    "                enable virtual instruction counter with 2^N clock ticks per\n" \
2232 ad96090a Blue Swirl
    "                instruction\n", QEMU_ARCH_ALL)
2233 5824d651 blueswir1
STEXI
2234 4e257e5e Kevin Wolf
@item -icount [@var{N}|auto]
2235 6616b2ad Stefan Weil
@findex -icount
2236 5824d651 blueswir1
Enable virtual instruction counter.  The virtual cpu will execute one
2237 4e257e5e Kevin Wolf
instruction every 2^@var{N} ns of virtual time.  If @code{auto} is specified
2238 5824d651 blueswir1
then the virtual cpu speed will be automatically adjusted to keep virtual
2239 5824d651 blueswir1
time within a few seconds of real time.
2240 5824d651 blueswir1
2241 5824d651 blueswir1
Note that while this option can give deterministic behavior, it does not
2242 5824d651 blueswir1
provide cycle accurate emulation.  Modern CPUs contain superscalar out of
2243 5824d651 blueswir1
order cores with complex cache hierarchies.  The number of instructions
2244 5824d651 blueswir1
executed often has little or no correlation with actual performance.
2245 5824d651 blueswir1
ETEXI
2246 5824d651 blueswir1
2247 9dd986cc Richard W.M. Jones
DEF("watchdog", HAS_ARG, QEMU_OPTION_watchdog, \
2248 9dd986cc Richard W.M. Jones
    "-watchdog i6300esb|ib700\n" \
2249 ad96090a Blue Swirl
    "                enable virtual hardware watchdog [default=none]\n",
2250 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2251 9dd986cc Richard W.M. Jones
STEXI
2252 9dd986cc Richard W.M. Jones
@item -watchdog @var{model}
2253 6616b2ad Stefan Weil
@findex -watchdog
2254 9dd986cc Richard W.M. Jones
Create a virtual hardware watchdog device.  Once enabled (by a guest
2255 9dd986cc Richard W.M. Jones
action), the watchdog must be periodically polled by an agent inside
2256 9dd986cc Richard W.M. Jones
the guest or else the guest will be restarted.
2257 9dd986cc Richard W.M. Jones
2258 9dd986cc Richard W.M. Jones
The @var{model} is the model of hardware watchdog to emulate.  Choices
2259 9dd986cc Richard W.M. Jones
for model are: @code{ib700} (iBASE 700) which is a very simple ISA
2260 9dd986cc Richard W.M. Jones
watchdog with a single timer, or @code{i6300esb} (Intel 6300ESB I/O
2261 9dd986cc Richard W.M. Jones
controller hub) which is a much more featureful PCI-based dual-timer
2262 9dd986cc Richard W.M. Jones
watchdog.  Choose a model for which your guest has drivers.
2263 9dd986cc Richard W.M. Jones
2264 9dd986cc Richard W.M. Jones
Use @code{-watchdog ?} to list available hardware models.  Only one
2265 9dd986cc Richard W.M. Jones
watchdog can be enabled for a guest.
2266 9dd986cc Richard W.M. Jones
ETEXI
2267 9dd986cc Richard W.M. Jones
2268 9dd986cc Richard W.M. Jones
DEF("watchdog-action", HAS_ARG, QEMU_OPTION_watchdog_action, \
2269 9dd986cc Richard W.M. Jones
    "-watchdog-action reset|shutdown|poweroff|pause|debug|none\n" \
2270 ad96090a Blue Swirl
    "                action when watchdog fires [default=reset]\n",
2271 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2272 9dd986cc Richard W.M. Jones
STEXI
2273 9dd986cc Richard W.M. Jones
@item -watchdog-action @var{action}
2274 9dd986cc Richard W.M. Jones
2275 9dd986cc Richard W.M. Jones
The @var{action} controls what QEMU will do when the watchdog timer
2276 9dd986cc Richard W.M. Jones
expires.
2277 9dd986cc Richard W.M. Jones
The default is
2278 9dd986cc Richard W.M. Jones
@code{reset} (forcefully reset the guest).
2279 9dd986cc Richard W.M. Jones
Other possible actions are:
2280 9dd986cc Richard W.M. Jones
@code{shutdown} (attempt to gracefully shutdown the guest),
2281 9dd986cc Richard W.M. Jones
@code{poweroff} (forcefully poweroff the guest),
2282 9dd986cc Richard W.M. Jones
@code{pause} (pause the guest),
2283 9dd986cc Richard W.M. Jones
@code{debug} (print a debug message and continue), or
2284 9dd986cc Richard W.M. Jones
@code{none} (do nothing).
2285 9dd986cc Richard W.M. Jones
2286 9dd986cc Richard W.M. Jones
Note that the @code{shutdown} action requires that the guest responds
2287 9dd986cc Richard W.M. Jones
to ACPI signals, which it may not be able to do in the sort of
2288 9dd986cc Richard W.M. Jones
situations where the watchdog would have expired, and thus
2289 9dd986cc Richard W.M. Jones
@code{-watchdog-action shutdown} is not recommended for production use.
2290 9dd986cc Richard W.M. Jones
2291 9dd986cc Richard W.M. Jones
Examples:
2292 9dd986cc Richard W.M. Jones
2293 9dd986cc Richard W.M. Jones
@table @code
2294 9dd986cc Richard W.M. Jones
@item -watchdog i6300esb -watchdog-action pause
2295 9dd986cc Richard W.M. Jones
@item -watchdog ib700
2296 9dd986cc Richard W.M. Jones
@end table
2297 9dd986cc Richard W.M. Jones
ETEXI
2298 9dd986cc Richard W.M. Jones
2299 5824d651 blueswir1
DEF("echr", HAS_ARG, QEMU_OPTION_echr, \
2300 ad96090a Blue Swirl
    "-echr chr       set terminal escape character instead of ctrl-a\n",
2301 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2302 5824d651 blueswir1
STEXI
2303 5824d651 blueswir1
2304 4e257e5e Kevin Wolf
@item -echr @var{numeric_ascii_value}
2305 6616b2ad Stefan Weil
@findex -echr
2306 5824d651 blueswir1
Change the escape character used for switching to the monitor when using
2307 5824d651 blueswir1
monitor and serial sharing.  The default is @code{0x01} when using the
2308 5824d651 blueswir1
@code{-nographic} option.  @code{0x01} is equal to pressing
2309 5824d651 blueswir1
@code{Control-a}.  You can select a different character from the ascii
2310 5824d651 blueswir1
control keys where 1 through 26 map to Control-a through Control-z.  For
2311 5824d651 blueswir1
instance you could use the either of the following to change the escape
2312 5824d651 blueswir1
character to Control-t.
2313 5824d651 blueswir1
@table @code
2314 5824d651 blueswir1
@item -echr 0x14
2315 5824d651 blueswir1
@item -echr 20
2316 5824d651 blueswir1
@end table
2317 5824d651 blueswir1
ETEXI
2318 5824d651 blueswir1
2319 5824d651 blueswir1
DEF("virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon, \
2320 5824d651 blueswir1
    "-virtioconsole c\n" \
2321 ad96090a Blue Swirl
    "                set virtio console\n", QEMU_ARCH_ALL)
2322 5824d651 blueswir1
STEXI
2323 5824d651 blueswir1
@item -virtioconsole @var{c}
2324 6616b2ad Stefan Weil
@findex -virtioconsole
2325 5824d651 blueswir1
Set virtio console.
2326 98b19252 Amit Shah
2327 98b19252 Amit Shah
This option is maintained for backward compatibility.
2328 98b19252 Amit Shah
2329 98b19252 Amit Shah
Please use @code{-device virtconsole} for the new way of invocation.
2330 5824d651 blueswir1
ETEXI
2331 5824d651 blueswir1
2332 5824d651 blueswir1
DEF("show-cursor", 0, QEMU_OPTION_show_cursor, \
2333 ad96090a Blue Swirl
    "-show-cursor    show cursor\n", QEMU_ARCH_ALL)
2334 5824d651 blueswir1
STEXI
2335 95d5f08b Stefan Weil
@item -show-cursor
2336 6616b2ad Stefan Weil
@findex -show-cursor
2337 95d5f08b Stefan Weil
Show cursor.
2338 5824d651 blueswir1
ETEXI
2339 5824d651 blueswir1
2340 5824d651 blueswir1
DEF("tb-size", HAS_ARG, QEMU_OPTION_tb_size, \
2341 ad96090a Blue Swirl
    "-tb-size n      set TB size\n", QEMU_ARCH_ALL)
2342 5824d651 blueswir1
STEXI
2343 95d5f08b Stefan Weil
@item -tb-size @var{n}
2344 6616b2ad Stefan Weil
@findex -tb-size
2345 95d5f08b Stefan Weil
Set TB size.
2346 5824d651 blueswir1
ETEXI
2347 5824d651 blueswir1
2348 5824d651 blueswir1
DEF("incoming", HAS_ARG, QEMU_OPTION_incoming, \
2349 ad96090a Blue Swirl
    "-incoming p     prepare for incoming migration, listen on port p\n",
2350 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2351 5824d651 blueswir1
STEXI
2352 95d5f08b Stefan Weil
@item -incoming @var{port}
2353 6616b2ad Stefan Weil
@findex -incoming
2354 95d5f08b Stefan Weil
Prepare for incoming migration, listen on @var{port}.
2355 5824d651 blueswir1
ETEXI
2356 5824d651 blueswir1
2357 d8c208dd Gerd Hoffmann
DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \
2358 ad96090a Blue Swirl
    "-nodefaults     don't create default devices\n", QEMU_ARCH_ALL)
2359 d8c208dd Gerd Hoffmann
STEXI
2360 3dbf2c7f Stefan Weil
@item -nodefaults
2361 6616b2ad Stefan Weil
@findex -nodefaults
2362 3dbf2c7f Stefan Weil
Don't create default devices.
2363 d8c208dd Gerd Hoffmann
ETEXI
2364 d8c208dd Gerd Hoffmann
2365 5824d651 blueswir1
#ifndef _WIN32
2366 5824d651 blueswir1
DEF("chroot", HAS_ARG, QEMU_OPTION_chroot, \
2367 ad96090a Blue Swirl
    "-chroot dir     chroot to dir just before starting the VM\n",
2368 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2369 5824d651 blueswir1
#endif
2370 5824d651 blueswir1
STEXI
2371 4e257e5e Kevin Wolf
@item -chroot @var{dir}
2372 6616b2ad Stefan Weil
@findex -chroot
2373 5824d651 blueswir1
Immediately before starting guest execution, chroot to the specified
2374 5824d651 blueswir1
directory.  Especially useful in combination with -runas.
2375 5824d651 blueswir1
ETEXI
2376 5824d651 blueswir1
2377 5824d651 blueswir1
#ifndef _WIN32
2378 5824d651 blueswir1
DEF("runas", HAS_ARG, QEMU_OPTION_runas, \
2379 ad96090a Blue Swirl
    "-runas user     change to user id user just before starting the VM\n",
2380 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2381 5824d651 blueswir1
#endif
2382 5824d651 blueswir1
STEXI
2383 4e257e5e Kevin Wolf
@item -runas @var{user}
2384 6616b2ad Stefan Weil
@findex -runas
2385 5824d651 blueswir1
Immediately before starting guest execution, drop root privileges, switching
2386 5824d651 blueswir1
to the specified user.
2387 5824d651 blueswir1
ETEXI
2388 5824d651 blueswir1
2389 5824d651 blueswir1
DEF("prom-env", HAS_ARG, QEMU_OPTION_prom_env,
2390 5824d651 blueswir1
    "-prom-env variable=value\n"
2391 ad96090a Blue Swirl
    "                set OpenBIOS nvram variables\n",
2392 ad96090a Blue Swirl
    QEMU_ARCH_PPC | QEMU_ARCH_SPARC)
2393 95d5f08b Stefan Weil
STEXI
2394 95d5f08b Stefan Weil
@item -prom-env @var{variable}=@var{value}
2395 6616b2ad Stefan Weil
@findex -prom-env
2396 95d5f08b Stefan Weil
Set OpenBIOS nvram @var{variable} to given @var{value} (PPC, SPARC only).
2397 95d5f08b Stefan Weil
ETEXI
2398 5824d651 blueswir1
DEF("semihosting", 0, QEMU_OPTION_semihosting,
2399 ad96090a Blue Swirl
    "-semihosting    semihosting mode\n", QEMU_ARCH_ARM | QEMU_ARCH_M68K)
2400 95d5f08b Stefan Weil
STEXI
2401 95d5f08b Stefan Weil
@item -semihosting
2402 6616b2ad Stefan Weil
@findex -semihosting
2403 95d5f08b Stefan Weil
Semihosting mode (ARM, M68K only).
2404 95d5f08b Stefan Weil
ETEXI
2405 5824d651 blueswir1
DEF("old-param", 0, QEMU_OPTION_old_param,
2406 ad96090a Blue Swirl
    "-old-param      old param mode\n", QEMU_ARCH_ARM)
2407 95d5f08b Stefan Weil
STEXI
2408 95d5f08b Stefan Weil
@item -old-param
2409 6616b2ad Stefan Weil
@findex -old-param (ARM)
2410 95d5f08b Stefan Weil
Old param mode (ARM only).
2411 95d5f08b Stefan Weil
ETEXI
2412 95d5f08b Stefan Weil
2413 715a664a Gerd Hoffmann
DEF("readconfig", HAS_ARG, QEMU_OPTION_readconfig,
2414 ad96090a Blue Swirl
    "-readconfig <file>\n", QEMU_ARCH_ALL)
2415 3dbf2c7f Stefan Weil
STEXI
2416 3dbf2c7f Stefan Weil
@item -readconfig @var{file}
2417 6616b2ad Stefan Weil
@findex -readconfig
2418 3dbf2c7f Stefan Weil
Read device configuration from @var{file}.
2419 3dbf2c7f Stefan Weil
ETEXI
2420 715a664a Gerd Hoffmann
DEF("writeconfig", HAS_ARG, QEMU_OPTION_writeconfig,
2421 715a664a Gerd Hoffmann
    "-writeconfig <file>\n"
2422 ad96090a Blue Swirl
    "                read/write config file\n", QEMU_ARCH_ALL)
2423 3dbf2c7f Stefan Weil
STEXI
2424 3dbf2c7f Stefan Weil
@item -writeconfig @var{file}
2425 6616b2ad Stefan Weil
@findex -writeconfig
2426 3dbf2c7f Stefan Weil
Write device configuration to @var{file}.
2427 3dbf2c7f Stefan Weil
ETEXI
2428 292444cb Anthony Liguori
DEF("nodefconfig", 0, QEMU_OPTION_nodefconfig,
2429 292444cb Anthony Liguori
    "-nodefconfig\n"
2430 ad96090a Blue Swirl
    "                do not load default config files at startup\n",
2431 ad96090a Blue Swirl
    QEMU_ARCH_ALL)
2432 292444cb Anthony Liguori
STEXI
2433 292444cb Anthony Liguori
@item -nodefconfig
2434 6616b2ad Stefan Weil
@findex -nodefconfig
2435 292444cb Anthony Liguori
Normally QEMU loads a configuration file from @var{sysconfdir}/qemu.conf and
2436 292444cb Anthony Liguori
@var{sysconfdir}/target-@var{ARCH}.conf on startup.  The @code{-nodefconfig}
2437 292444cb Anthony Liguori
option will prevent QEMU from loading these configuration files at startup.
2438 292444cb Anthony Liguori
ETEXI
2439 ab6540d5 Prerna Saxena
DEF("trace", HAS_ARG, QEMU_OPTION_trace,
2440 ab6540d5 Prerna Saxena
    "-trace\n"
2441 ab6540d5 Prerna Saxena
    "                Specify a trace file to log traces to\n",
2442 ab6540d5 Prerna Saxena
    QEMU_ARCH_ALL)
2443 ab6540d5 Prerna Saxena
STEXI
2444 e4858974 Lluís
HXCOMM This line is not accurate, as the option is backend-specific but HX does
2445 e4858974 Lluís
HXCOMM not support conditional compilation of text.
2446 ab6540d5 Prerna Saxena
@item -trace
2447 ab6540d5 Prerna Saxena
@findex -trace
2448 ab6540d5 Prerna Saxena
Specify a trace file to log output traces to.
2449 e4858974 Lluís
2450 e4858974 Lluís
This option is available only when using the @var{simple} tracing backend.
2451 ab6540d5 Prerna Saxena
ETEXI
2452 3dbf2c7f Stefan Weil
2453 3dbf2c7f Stefan Weil
HXCOMM This is the last statement. Insert new options before this line!
2454 3dbf2c7f Stefan Weil
STEXI
2455 3dbf2c7f Stefan Weil
@end table
2456 3dbf2c7f Stefan Weil
ETEXI