X-Git-Url: https://repo.jachan.dev/qemu.git/blobdiff_plain/bc14ca2453f22f20569699bda5f12e892131092c..48026075aeca1dc62599a4aaae844edff9679cb4:/qemu-options.hx diff --git a/qemu-options.hx b/qemu-options.hx index 32f936fede..1b420a3c59 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -17,6 +17,13 @@ STEXI Display help and exit ETEXI +DEF("version", 0, QEMU_OPTION_version, + "-version display version information and exit\n") +STEXI +@item -version +Display version information and exit +ETEXI + DEF("M", HAS_ARG, QEMU_OPTION_M, "-M machine select emulated machine (-M ? for list)\n") STEXI @@ -32,7 +39,10 @@ Select CPU model (-cpu ? for list and additional feature selection) ETEXI DEF("smp", HAS_ARG, QEMU_OPTION_smp, - "-smp n set the number of CPUs to 'n' [default=1]\n") + "-smp n[,maxcpus=cpus]\n" + " set the number of CPUs to 'n' [default=1]\n" + " maxcpus= maximum number of total cpus, including\n" + " offline CPUs for hotplug etc.\n") STEXI @item -smp @var{n} Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255 @@ -40,6 +50,14 @@ CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs to 4. ETEXI +DEF("numa", HAS_ARG, QEMU_OPTION_numa, + "-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]\n") +STEXI +@item -numa @var{opts} +Simulate a multi node NUMA system. If mem and cpus are omitted, resources +are split equally. +ETEXI + DEF("fda", HAS_ARG, QEMU_OPTION_fda, "-fda/-fdb file use 'file' as floppy disk 0/1 image\n") DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "") @@ -77,6 +95,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive, "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n" " [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n" " [,cache=writethrough|writeback|none][,format=f][,serial=s]\n" + " [,addr=A]\n" " use 'file' as a drive image\n") STEXI @item -drive @var{option}[,@var{option}[,@var{option}[,...]]] @@ -111,6 +130,8 @@ the format. Can be used to specifiy format=raw to avoid interpreting an untrusted format header. @item serial=@var{serial} This option specifies the serial number to assign to the device. +@item addr=@var{addr} +Specify the controller's PCI address (if=virtio only). @end table By default, writethrough caching is used for all block device. This means that @@ -124,15 +145,13 @@ If your host crashes or loses power, then the guest may experience data corruption. When using the @option{-snapshot} option, writeback caching is used by default. -The host page can be avoided entirely with @option{cache=none}. This will +The host page cache can be avoided entirely with @option{cache=none}. This will attempt to do disk IO directly to the guests memory. QEMU may still perform an internal copy of the data. Some block drivers perform badly with @option{cache=writethrough}, most notably, qcow2. If performance is more important than correctness, -@option{cache=writeback} should be used with qcow2. By default, if no explicit -caching is specified for a qcow2 disk image, @option{cache=writeback} will be -used. For all other disk types, @option{cache=writethrough} is the default. +@option{cache=writeback} should be used with qcow2. Instead of @option{-cdrom} you can use: @example @@ -203,11 +222,30 @@ Use 'file' as a parallel flash image. ETEXI DEF("boot", HAS_ARG, QEMU_OPTION_boot, - "-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)\n") + "-boot [order=drives][,once=drives][,menu=on|off]\n" + " 'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)\n") STEXI -@item -boot [a|c|d|n] -Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot -is the default. +@item -boot [order=@var{drives}][,once=@var{drives}][,menu=on|off] + +Specify boot order @var{drives} as a string of drive letters. Valid +drive letters depend on the target achitecture. The x86 PC uses: a, b +(floppy 1 and 2), c (first hard disk), d (first CD-ROM), n-p (Etherboot +from network adapter 1-4), hard disk boot is the default. To apply a +particular boot order only on the first startup, specify it via +@option{once}. + +Interactive boot menus/prompts can be enabled via @option{menu=on} as far +as firmware/BIOS supports them. The default is non-interactive boot. + +@example +# try to boot from network first, then from hard disk +qemu -boot order=nc +# boot from CD-ROM first, switch back to default order after reboot +qemu -boot once=d +@end example + +Note: The legacy format '-boot @var{drives}' is still supported but its +use is discouraged as it may be removed from future versions. ETEXI DEF("snapshot", 0, QEMU_OPTION_snapshot, @@ -228,10 +266,8 @@ a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or gigabytes respectively. ETEXI -#ifndef _WIN32 DEF("k", HAS_ARG, QEMU_OPTION_k, "-k language use keyboard layout (for example 'fr' for French)\n") -#endif STEXI @item -k @var{language} @@ -348,13 +384,17 @@ Network adapter that supports CDC ethernet and RNDIS protocols. @end table ETEXI +DEF("device", HAS_ARG, QEMU_OPTION_device, + "-device driver[,options] add device\n") DEF("name", HAS_ARG, QEMU_OPTION_name, - "-name string set the name of the guest\n") + "-name string1[,process=string2] set the name of the guest\n" + " string1 sets the window title and string2 the process name (on Linux)\n") STEXI @item -name @var{name} Sets the @var{name} of the guest. This name will be displayed in the SDL window caption. The @var{name} will also be used for the VNC server. +Also optionally set the top visible process name in Linux. ETEXI DEF("uuid", HAS_ARG, QEMU_OPTION_uuid, @@ -452,7 +492,7 @@ Rotate graphical output 90 deg left (only PXA LCD). ETEXI DEF("vga", HAS_ARG, QEMU_OPTION_vga, - "-vga [std|cirrus|vmware|none]\n" + "-vga [std|cirrus|vmware|xenfb|none]\n" " select video card type\n") STEXI @item -vga @var{type} @@ -667,6 +707,20 @@ STEXI Disable HPET support. ETEXI +#ifdef TARGET_I386 +DEF("balloon", HAS_ARG, QEMU_OPTION_balloon, + "-balloon none disable balloon device\n" + "-balloon virtio[,addr=str]\n" + " enable virtio balloon device (default)\n") +#endif +STEXI +@item -balloon none +Disable balloon device. +@item -balloon virtio[,addr=@var{addr}] +Enable virtio balloon device (default), optionally with PCI address +@var{addr}. +ETEXI + #ifdef TARGET_I386 DEF("acpitable", HAS_ARG, QEMU_OPTION_acpitable, "-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" @@ -677,6 +731,27 @@ STEXI Add ACPI table with specified header fields and context from specified files. ETEXI +#ifdef TARGET_I386 +DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, + "-smbios file=binary\n" + " Load SMBIOS entry from binary file\n" + "-smbios type=0[,vendor=str][,version=str][,date=str][,release=%%d.%%d]\n" + " Specify SMBIOS type 0 fields\n" + "-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]\n" + " [,uuid=uuid][,sku=str][,family=str]\n" + " Specify SMBIOS type 1 fields\n") +#endif +STEXI +@item -smbios file=@var{binary} +Load SMBIOS entry from binary file. + +@item -smbios type=0[,vendor=@var{str}][,version=@var{str}][,date=@var{str}][,release=@var{%d.%d}] +Specify SMBIOS type 0 fields + +@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}] +Specify SMBIOS type 1 fields +ETEXI + #ifdef TARGET_I386 DEFHEADING() #endif @@ -689,24 +764,47 @@ STEXI @table @option ETEXI -DEF("net", HAS_ARG, QEMU_OPTION_net, \ - "-net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]\n" +HXCOMM Legacy slirp options (now moved to -net user): +#ifdef CONFIG_SLIRP +DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, "") +DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, "") +DEF("redir", HAS_ARG, QEMU_OPTION_redir, "") +#ifndef _WIN32 +DEF("smb", HAS_ARG, QEMU_OPTION_smb, "") +#endif +#endif + +DEF("net", HAS_ARG, QEMU_OPTION_net, + "-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]\n" " create a new Network Interface Card and connect it to VLAN 'n'\n" #ifdef CONFIG_SLIRP - "-net user[,vlan=n][,name=str][,hostname=host]\n" - " connect the user mode network stack to VLAN 'n' and send\n" - " hostname 'host' to DHCP clients\n" + "-net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=y|n]\n" + " [,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]\n" + " [,hostfwd=rule][,guestfwd=rule]" +#ifndef _WIN32 + "[,smb=dir[,smbserver=addr]]\n" +#endif + " connect the user mode network stack to VLAN 'n', configure its\n" + " DHCP server and enabled optional services\n" #endif #ifdef _WIN32 "-net tap[,vlan=n][,name=str],ifname=name\n" " connect the host TAP network interface to VLAN 'n'\n" #else - "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile]\n" + "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile]" +#ifdef TUNSETSNDBUF + "[,sndbuf=nbytes]" +#endif + "\n" " connect the host TAP network interface to VLAN 'n' and use the\n" " network scripts 'file' (default=%s)\n" " and 'dfile' (default=%s);\n" " use '[down]script=no' to disable script execution;\n" " use 'fd=h' to connect to an already opened TAP interface\n" +#ifdef TUNSETSNDBUF + " use 'sndbuf=nbytes' to limit the size of the send buffer; the\n" + " default of 'sndbuf=1048576' can be disabled using 'sndbuf=0'\n" +#endif #endif "-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]\n" " connect the vlan 'n' to another VLAN using a socket connection\n" @@ -719,30 +817,140 @@ DEF("net", HAS_ARG, QEMU_OPTION_net, \ " Use group 'groupname' and mode 'octalmode' to change default\n" " ownership and permissions for communication port.\n" #endif + "-net dump[,vlan=n][,file=f][,len=n]\n" + " dump traffic on vlan 'n' to file 'f' (max n bytes per packet)\n" "-net none use it alone to have zero network devices; if no -net option\n" " is provided, the default is '-net nic -net user'\n") STEXI -@item -net nic[,vlan=@var{n}][,macaddr=@var{addr}][,model=@var{type}][,name=@var{name}] +@item -net nic[,vlan=@var{n}][,macaddr=@var{mac}][,model=@var{type}][,name=@var{name}][,addr=@var{addr}][,vectors=@var{v}] Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n} = 0 is the default). The NIC is an ne2k_pci by default on the PC -target. Optionally, the MAC address can be changed to @var{addr} -and a @var{name} can be assigned for use in monitor commands. If no -@option{-net} option is specified, a single NIC is created. -Qemu can emulate several different models of network card. +target. Optionally, the MAC address can be changed to @var{mac}, the +device address set to @var{addr} (PCI cards only), +and a @var{name} can be assigned for use in monitor commands. +Optionally, for PCI cards, you can specify the number @var{v} of MSI-X vectors +that the card should have; this option currently only affects virtio cards; set +@var{v} = 0 to disable MSI-X. If no @option{-net} option is specified, a single +NIC is created. Qemu can emulate several different models of network card. Valid values for @var{type} are -@code{i82551}, @code{i82557b}, @code{i82559er}, +@code{virtio}, @code{i82551}, @code{i82557b}, @code{i82559er}, @code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139}, @code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}. Not all devices are supported on all targets. Use -net nic,model=? for a list of available devices for your target. -@item -net user[,vlan=@var{n}][,hostname=@var{name}][,name=@var{name}] +@item -net user[,@var{option}][,@var{option}][,...] Use the user mode network stack which requires no administrator -privilege to run. @option{hostname=name} can be used to specify the client -hostname reported by the builtin DHCP server. +privilege to run. Valid options are: + +@table @code +@item vlan=@var{n} +Connect user mode stack to VLAN @var{n} (@var{n} = 0 is the default). + +@item name=@var{name} +Assign symbolic name for use in monitor commands. + +@item net=@var{addr}[/@var{mask}] +Set IP network address the guest will see. Optionally specify the netmask, +either in the form a.b.c.d or as number of valid top-most bits. Default is +10.0.2.0/8. + +@item host=@var{addr} +Specify the guest-visible address of the host. Default is the 2nd IP in the +guest network, i.e. x.x.x.2. + +@item restrict=y|yes|n|no +If this options is enabled, the guest will be isolated, i.e. it will not be +able to contact the host and no guest IP packets will be routed over the host +to the outside. This option does not affect explicitly set forwarding rule. + +@item hostname=@var{name} +Specifies the client hostname reported by the builtin DHCP server. + +@item dhcpstart=@var{addr} +Specify the first of the 16 IPs the built-in DHCP server can assign. Default +is the 16th to 31st IP in the guest network, i.e. x.x.x.16 to x.x.x.31. + +@item dns=@var{addr} +Specify the guest-visible address of the virtual nameserver. The address must +be different from the host address. Default is the 3rd IP in the guest network, +i.e. x.x.x.3. + +@item tftp=@var{dir} +When using the user mode network stack, activate a built-in TFTP +server. The files in @var{dir} will be exposed as the root of a TFTP server. +The TFTP client on the guest must be configured in binary mode (use the command +@code{bin} of the Unix TFTP client). + +@item bootfile=@var{file} +When using the user mode network stack, broadcast @var{file} as the BOOTP +filename. In conjunction with @option{tftp}, this can be used to network boot +a guest from a local directory. + +Example (using pxelinux): +@example +qemu -hda linux.img -boot n -net user,tftp=/path/to/tftp/files,bootfile=/pxelinux.0 +@end example + +@item smb=@var{dir}[,smbserver=@var{addr}] +When using the user mode network stack, activate a built-in SMB +server so that Windows OSes can access to the host files in @file{@var{dir}} +transparently. The IP address of the SMB server can be set to @var{addr}. By +default the 4th IP in the guest network is used, i.e. x.x.x.4. + +In the guest Windows OS, the line: +@example +10.0.2.4 smbserver +@end example +must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me) +or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000). + +Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}. + +Note that a SAMBA server must be installed on the host OS in +@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd versions from +Red Hat 9, Fedora Core 3 and OpenSUSE 11.x. + +@item hostfwd=[tcp|udp]:[@var{hostaddr}]:@var{hostport}-[@var{guestaddr}]:@var{guestport} +Redirect incoming TCP or UDP connections to the host port @var{hostport} to +the guest IP address @var{guestaddr} on guest port @var{guestport}. If +@var{guestaddr} is not specified, its value is x.x.x.15 (default first address +given by the built-in DHCP server). By specifying @var{hostaddr}, the rule can +be bound to a specific host interface. If no connection type is set, TCP is +used. This option can be given multiple times. + +For example, to redirect host X11 connection from screen 1 to guest +screen 0, use the following: + +@example +# on the host +qemu -net user,hostfwd=tcp:127.0.0.1:6001-:6000 [...] +# this host xterm should open in the guest X11 server +xterm -display :1 +@end example + +To redirect telnet connections from host port 5555 to telnet port on +the guest, use the following: + +@example +# on the host +qemu -net user,hostfwd=tcp:5555::23 [...] +telnet localhost 5555 +@end example + +Then when you use on the host @code{telnet localhost 5555}, you +connect to the guest telnet server. + +@item guestfwd=[tcp]:@var{server}:@var{port}-@var{dev} +Forward guest TCP connections to the IP address @var{server} on port @var{port} +to the character device @var{dev}. This option can be given multiple times. + +@end table -@item -net channel,@var{port}:@var{dev} -Forward @option{user} TCP connection to port @var{port} to character device @var{dev} +Note: Legacy stand-alone options -tftp, -bootp, -smb and -redir are still +processed and applied to -net user. Mixing them with the new configuration +syntax gives undefined results. Their use for new applications is discouraged +as they will be removed from future versions. @item -net tap[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,ifname=@var{name}][,script=@var{file}][,downscript=@var{dfile}] Connect the host TAP network interface @var{name} to VLAN @var{n}, use @@ -839,100 +1047,15 @@ vde_switch -F -sock /tmp/myswitch qemu linux.img -net nic -net vde,sock=/tmp/myswitch @end example +@item -net dump[,vlan=@var{n}][,file=@var{file}][,len=@var{len}] +Dump network traffic on VLAN @var{n} to file @var{file} (@file{qemu-vlan0.pcap} by default). +At most @var{len} bytes (64k by default) per packet are stored. The file format is +libpcap, so it can be analyzed with tools such as tcpdump or Wireshark. + @item -net none Indicate that no network devices should be configured. It is used to override the default configuration (@option{-net nic -net user}) which is activated if no @option{-net} options are provided. -ETEXI - -#ifdef CONFIG_SLIRP -DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, \ - "-tftp dir allow tftp access to files in dir [-net user]\n") -#endif -STEXI -@item -tftp @var{dir} -When using the user mode network stack, activate a built-in TFTP -server. The files in @var{dir} will be exposed as the root of a TFTP server. -The TFTP client on the guest must be configured in binary mode (use the command -@code{bin} of the Unix TFTP client). The host IP address on the guest is as -usual 10.0.2.2. -ETEXI - -#ifdef CONFIG_SLIRP -DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, \ - "-bootp file advertise file in BOOTP replies\n") -#endif -STEXI -@item -bootp @var{file} -When using the user mode network stack, broadcast @var{file} as the BOOTP -filename. In conjunction with @option{-tftp}, this can be used to network boot -a guest from a local directory. - -Example (using pxelinux): -@example -qemu -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0 -@end example -ETEXI - -#ifndef _WIN32 -DEF("smb", HAS_ARG, QEMU_OPTION_smb, \ - "-smb dir allow SMB access to files in 'dir' [-net user]\n") -#endif -STEXI -@item -smb @var{dir} -When using the user mode network stack, activate a built-in SMB -server so that Windows OSes can access to the host files in @file{@var{dir}} -transparently. - -In the guest Windows OS, the line: -@example -10.0.2.4 smbserver -@end example -must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me) -or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000). - -Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}. - -Note that a SAMBA server must be installed on the host OS in -@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd version -2.2.7a from the Red Hat 9 and version 3.0.10-1.fc3 from Fedora Core 3. -ETEXI - -#ifdef CONFIG_SLIRP -DEF("redir", HAS_ARG, QEMU_OPTION_redir, \ - "-redir [tcp|udp]:host-port:[guest-host]:guest-port\n" \ - " redirect TCP or UDP connections from host to guest [-net user]\n") -#endif -STEXI -@item -redir [tcp|udp]:@var{host-port}:[@var{guest-host}]:@var{guest-port} - -When using the user mode network stack, redirect incoming TCP or UDP -connections to the host port @var{host-port} to the guest -@var{guest-host} on guest port @var{guest-port}. If @var{guest-host} -is not specified, its value is 10.0.2.15 (default address given by the -built-in DHCP server). - -For example, to redirect host X11 connection from screen 1 to guest -screen 0, use the following: - -@example -# on the host -qemu -redir tcp:6001::6000 [...] -# this host xterm should open in the guest X11 server -xterm -display :1 -@end example - -To redirect telnet connections from host port 5555 to telnet port on -the guest, use the following: - -@example -# on the host -qemu -redir tcp:5555::23 [...] -telnet localhost 5555 -@end example - -Then when you use on the host @code{telnet localhost 5555}, you -connect to the guest telnet server. @end table ETEXI @@ -1007,10 +1130,11 @@ ETEXI DEFHEADING() -DEFHEADING(Linux boot specific:) +DEFHEADING(Linux/Multiboot boot specific:) STEXI -When using these options, you can use a given -Linux kernel without installing it in the disk image. It can be useful + +When using these options, you can use a given Linux or Multiboot +kernel without installing it in the disk image. It can be useful for easier testing of various kernels. @table @option @@ -1020,7 +1144,8 @@ DEF("kernel", HAS_ARG, QEMU_OPTION_kernel, \ "-kernel bzImage use 'bzImage' as kernel image\n") STEXI @item -kernel @var{bzImage} -Use @var{bzImage} as kernel image. +Use @var{bzImage} as kernel image. The kernel can be either a Linux kernel +or in multiboot format. ETEXI DEF("append", HAS_ARG, QEMU_OPTION_append, \ @@ -1035,6 +1160,13 @@ DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \ STEXI @item -initrd @var{file} Use @var{file} as initial ram disk. + +@item -initrd "@var{file1} arg=foo,@var{file2}" + +This syntax is only available with multiboot. + +Use @var{file1} and @var{file2} as modules and pass arg=foo as parameter to the +first module. ETEXI STEXI @@ -1209,6 +1341,13 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU from a script. ETEXI +DEF("singlestep", 0, QEMU_OPTION_singlestep, \ + "-singlestep always run in singlestep mode\n") +STEXI +@item -singlestep +Run the emulation in single step mode. +ETEXI + DEF("S", 0, QEMU_OPTION_S, \ "-S freeze CPU at startup (use 'c' to start execution)\n") STEXI @@ -1216,19 +1355,25 @@ STEXI Do not start CPU at startup (you must type 'c' in the monitor). ETEXI -DEF("s", 0, QEMU_OPTION_s, \ - "-s wait gdb connection to port\n") +DEF("gdb", HAS_ARG, QEMU_OPTION_gdb, \ + "-gdb dev wait for gdb connection on 'dev'\n") STEXI -@item -s -Wait gdb connection to port 1234 (@pxref{gdb_usage}). +@item -gdb @var{dev} +Wait for gdb connection on device @var{dev} (@pxref{gdb_usage}). Typical +connections will likely be TCP-based, but also UDP, pseudo TTY, or even +stdio are reasonable use case. The latter is allowing to start qemu from +within gdb and establish the connection via a pipe: +@example +(gdb) target remote | exec qemu -gdb stdio ... +@end example ETEXI -DEF("p", HAS_ARG, QEMU_OPTION_p, \ - "-p port set gdb connection port [default=%s]\n") +DEF("s", 0, QEMU_OPTION_s, \ + "-s shorthand for -gdb tcp::%s\n") STEXI -@item -p @var{port} -Change gdb connection port. @var{port} can be either a decimal number -to specify a TCP port, or a host device (same devices as the serial port). +@item -s +Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234 +(@pxref{gdb_usage}). ETEXI DEF("d", HAS_ARG, QEMU_OPTION_d, \ @@ -1265,7 +1410,7 @@ STEXI Set the filename for the BIOS. ETEXI -#ifdef USE_KQEMU +#ifdef CONFIG_KQEMU DEF("kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu, \ "-kernel-kqemu enable KQEMU full virtualization (default is user mode only)\n") #endif @@ -1274,13 +1419,13 @@ STEXI Enable KQEMU full virtualization (default is user mode only). ETEXI -#ifdef USE_KQEMU -DEF("no-kqemu", 0, QEMU_OPTION_no_kqemu, \ - "-no-kqemu disable KQEMU kernel module usage\n") +#ifdef CONFIG_KQEMU +DEF("enable-kqemu", 0, QEMU_OPTION_enable_kqemu, \ + "-enable-kqemu enable KQEMU kernel module usage\n") #endif STEXI -@item -no-kqemu -Disable KQEMU kernel module usage. KQEMU options are only available if +@item -enable-kqemu +Enable KQEMU kernel module usage. KQEMU options are only available if KQEMU support is enabled when compiling. ETEXI @@ -1294,6 +1439,17 @@ Enable KVM full virtualization support. This option is only available if KVM support is enabled when compiling. ETEXI +#ifdef CONFIG_XEN +DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid, + "-xen-domid id specify xen guest domain id\n") +DEF("xen-create", 0, QEMU_OPTION_xen_create, + "-xen-create create domain using xen hypercalls, bypassing xend\n" + " warning: should not be used when xend is in use\n") +DEF("xen-attach", 0, QEMU_OPTION_xen_attach, + "-xen-attach attach to existing xen domain\n" + " xend will use this when starting qemu\n") +#endif + DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \ "-no-reboot exit instead of rebooting\n") STEXI @@ -1383,6 +1539,55 @@ order cores with complex cache hierarchies. The number of instructions executed often has little or no correlation with actual performance. ETEXI +DEF("watchdog", HAS_ARG, QEMU_OPTION_watchdog, \ + "-watchdog i6300esb|ib700\n" \ + " enable virtual hardware watchdog [default=none]\n") +STEXI +@item -watchdog @var{model} +Create a virtual hardware watchdog device. Once enabled (by a guest +action), the watchdog must be periodically polled by an agent inside +the guest or else the guest will be restarted. + +The @var{model} is the model of hardware watchdog to emulate. Choices +for model are: @code{ib700} (iBASE 700) which is a very simple ISA +watchdog with a single timer, or @code{i6300esb} (Intel 6300ESB I/O +controller hub) which is a much more featureful PCI-based dual-timer +watchdog. Choose a model for which your guest has drivers. + +Use @code{-watchdog ?} to list available hardware models. Only one +watchdog can be enabled for a guest. +ETEXI + +DEF("watchdog-action", HAS_ARG, QEMU_OPTION_watchdog_action, \ + "-watchdog-action reset|shutdown|poweroff|pause|debug|none\n" \ + " action when watchdog fires [default=reset]\n") +STEXI +@item -watchdog-action @var{action} + +The @var{action} controls what QEMU will do when the watchdog timer +expires. +The default is +@code{reset} (forcefully reset the guest). +Other possible actions are: +@code{shutdown} (attempt to gracefully shutdown the guest), +@code{poweroff} (forcefully poweroff the guest), +@code{pause} (pause the guest), +@code{debug} (print a debug message and continue), or +@code{none} (do nothing). + +Note that the @code{shutdown} action requires that the guest responds +to ACPI signals, which it may not be able to do in the sort of +situations where the watchdog would have expired, and thus +@code{-watchdog-action shutdown} is not recommended for production use. + +Examples: + +@table @code +@item -watchdog i6300esb -watchdog-action pause +@item -watchdog ib700 +@end table +ETEXI + DEF("echr", HAS_ARG, QEMU_OPTION_echr, \ "-echr chr set terminal escape character instead of ctrl-a\n") STEXI