Annotation of qemu/qemu-options.hx, revision 1.1.1.7

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

unix.superglobalmegacorp.com