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