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