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