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