android: qemu-options.hx: Add Android-specific command-line options

Change-Id: Ib5b0ca3fa324e33b4c961a706216e93dff01ee53
diff --git a/os-posix.c b/os-posix.c
index b7c5500..a2a8e31 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -23,6 +23,9 @@
  * THE SOFTWARE.
  */
 
+/* Special case to include "qemu-options.h" here without issues */
+#undef POISON_CONFIG_ANDROID
+
 #include "qemu/osdep.h"
 #include <sys/wait.h>
 /*needed for MAP_POPULATE before including qemu-options.h */
diff --git a/os-win32.c b/os-win32.c
index 5d20c6d..41c41e6 100644
--- a/os-win32.c
+++ b/os-win32.c
@@ -22,6 +22,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+/* Special case to include "qemu-options.h" here without issues */
+#undef POISON_CONFIG_ANDROID
+
 #include "qemu/osdep.h"
 #include <windows.h>
 #include <mmsystem.h>
diff --git a/qemu-options.def b/qemu-options.def
new file mode 100644
index 0000000..9546406
--- /dev/null
+++ b/qemu-options.def
@@ -0,0 +1,896 @@
+
+DEFHEADING(Standard options:)
+
+DEF("help", 0, QEMU_OPTION_h,
+"-h or -help     display this help and exit\n", QEMU_ARCH_ALL)
+
+DEF("version", 0, QEMU_OPTION_version,
+"-version        display version information and exit\n", QEMU_ARCH_ALL)
+
+DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
+"-machine [type=]name[,prop[=value][,...]]\n"
+"                selects emulated machine ('-machine help' for list)\n"
+"                property accel=accel1[:accel2[:...]] selects accelerator\n"
+"                supported accelerators are kvm, xen, tcg (default: tcg)\n"
+"                kernel_irqchip=on|off controls accelerated irqchip support\n"
+"                kernel_irqchip=on|off|split controls accelerated irqchip support (default=off)\n"
+"                vmport=on|off|auto controls emulation of vmport (default: auto)\n"
+"                kvm_shadow_mem=size of KVM shadow MMU in bytes\n"
+"                dump-guest-core=on|off include guest memory in a core dump (default=on)\n"
+"                mem-merge=on|off controls memory merge support (default: on)\n"
+"                igd-passthru=on|off controls IGD GFX passthrough support (default=off)\n"
+"                aes-key-wrap=on|off controls support for AES key wrapping (default=on)\n"
+"                dea-key-wrap=on|off controls support for DEA key wrapping (default=on)\n"
+"                suppress-vmdesc=on|off disables self-describing migration (default=off)\n"
+"                nvdimm=on|off controls NVDIMM support (default=off)\n"
+"                enforce-config-section=on|off enforce configuration section migration (default=off)\n",
+QEMU_ARCH_ALL)
+
+DEF("M", HAS_ARG, QEMU_OPTION_M, "", QEMU_ARCH_ALL)
+
+DEF("cpu", HAS_ARG, QEMU_OPTION_cpu,
+"-cpu cpu        select CPU ('-cpu help' for list)\n", QEMU_ARCH_ALL)
+
+DEF("smp", HAS_ARG, QEMU_OPTION_smp,
+"-smp [cpus=]n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]\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"
+"                cores= number of CPU cores on one socket\n"
+"                threads= number of threads on one CPU core\n"
+"                sockets= number of discrete sockets in the system\n",
+QEMU_ARCH_ALL)
+
+DEF("numa", HAS_ARG, QEMU_OPTION_numa,
+"-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]\n"
+"-numa node[,memdev=id][,cpus=cpu[-cpu]][,nodeid=node]\n", QEMU_ARCH_ALL)
+
+DEF("add-fd", HAS_ARG, QEMU_OPTION_add_fd,
+"-add-fd fd=fd,set=set[,opaque=opaque]\n"
+"                Add 'fd' to fd 'set'\n", QEMU_ARCH_ALL)
+
+DEF("set", HAS_ARG, QEMU_OPTION_set,
+"-set group.id.arg=value\n"
+"                set <arg> parameter for item <id> of type <group>\n"
+"                i.e. -set drive.$id.file=/path/to/image\n", QEMU_ARCH_ALL)
+
+DEF("global", HAS_ARG, QEMU_OPTION_global,
+"-global driver.property=value\n"
+"-global driver=driver,property=property,value=value\n"
+"                set a global default for a driver property\n",
+QEMU_ARCH_ALL)
+
+DEF("boot", HAS_ARG, QEMU_OPTION_boot,
+"-boot [order=drives][,once=drives][,menu=on|off]\n"
+"      [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]\n"
+"                'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)\n"
+"                'sp_name': the file's name that would be passed to bios as logo picture, if menu=on\n"
+"                'sp_time': the period that splash picture last if menu=on, unit is ms\n"
+"                'rb_timeout': the timeout before guest reboot when boot failed, unit is ms\n",
+QEMU_ARCH_ALL)
+
+DEF("m", HAS_ARG, QEMU_OPTION_m,
+"-m[emory] [size=]megs[,slots=n,maxmem=size]\n"
+"                configure guest RAM\n"
+"                size: initial amount of guest memory\n"
+"                slots: number of hotplug slots (default: none)\n"
+"                maxmem: maximum amount of guest memory (default: none)\n"
+"NOTE: Some architectures might enforce a specific granularity\n",
+QEMU_ARCH_ALL)
+
+DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
+"-mem-path FILE  provide backing storage for guest RAM\n", QEMU_ARCH_ALL)
+
+DEF("mem-prealloc", 0, QEMU_OPTION_mem_prealloc,
+"-mem-prealloc   preallocate guest memory (use with -mem-path)\n",
+QEMU_ARCH_ALL)
+
+DEF("k", HAS_ARG, QEMU_OPTION_k,
+"-k language     use keyboard layout (for example 'fr' for French)\n",
+QEMU_ARCH_ALL)
+
+
+DEF("audio-help", 0, QEMU_OPTION_audio_help,
+"-audio-help     print list of audio drivers and their options\n",
+QEMU_ARCH_ALL)
+
+DEF("no-audio", 0, QEMU_OPTION_audio_none,
+"-no-audio        disable audio support\n",
+QEMU_ARCH_ALL)
+
+DEF("soundhw", HAS_ARG, QEMU_OPTION_soundhw,
+"-soundhw c1,... enable audio support\n"
+"                and only specified sound cards (comma separated list)\n"
+"                use '-soundhw help' to get the list of supported cards\n"
+"                use '-soundhw all' to enable all of them\n", QEMU_ARCH_ALL)
+
+DEF("balloon", HAS_ARG, QEMU_OPTION_balloon,
+"-balloon none   disable balloon device\n"
+"-balloon virtio[,addr=str]\n"
+"                enable virtio balloon device (default)\n", QEMU_ARCH_ALL)
+
+DEF("device", HAS_ARG, QEMU_OPTION_device,
+"-device driver[,prop[=value][,...]]\n"
+"                add device (based on driver)\n"
+"                prop=value,... sets driver properties\n"
+"                use '-device help' to print all possible drivers\n"
+"                use '-device driver,help' to print all possible properties\n",
+QEMU_ARCH_ALL)
+
+DEF("name", HAS_ARG, QEMU_OPTION_name,
+"-name string1[,process=string2][,debug-threads=on|off]\n"
+"                set the name of the guest\n"
+"                string1 sets the window title and string2 the process name (on Linux)\n"
+"                When debug-threads is enabled, individual threads are given a separate name (on Linux)\n"
+"                NOTE: The thread names are for debugging and not a stable API.\n",
+QEMU_ARCH_ALL)
+
+DEF("uuid", HAS_ARG, QEMU_OPTION_uuid,
+"-uuid %08x-%04x-%04x-%04x-%012x\n"
+"                specify machine UUID\n", QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+DEFHEADING(Block device options:)
+
+DEF("fda", HAS_ARG, QEMU_OPTION_fda,
+"-fda/-fdb file  use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL)
+DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL)
+
+DEF("hda", HAS_ARG, QEMU_OPTION_hda,
+"-hda/-hdb file  use 'file' as IDE hard disk 0/1 image\n", QEMU_ARCH_ALL)
+DEF("hdb", HAS_ARG, QEMU_OPTION_hdb, "", QEMU_ARCH_ALL)
+DEF("hdc", HAS_ARG, QEMU_OPTION_hdc,
+"-hdc/-hdd file  use 'file' as IDE hard disk 2/3 image\n", QEMU_ARCH_ALL)
+DEF("hdd", HAS_ARG, QEMU_OPTION_hdd, "", QEMU_ARCH_ALL)
+
+DEF("cdrom", HAS_ARG, QEMU_OPTION_cdrom,
+"-cdrom file     use 'file' as IDE cdrom image (cdrom is ide1 master)\n",
+QEMU_ARCH_ALL)
+
+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|directsync|unsafe][,format=f]\n"
+"       [,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
+"       [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
+"       [,readonly=on|off][,copy-on-read=on|off]\n"
+"       [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
+"       [[,bps=b]|[[,bps_rd=r][,bps_wr=w]]]\n"
+"       [[,iops=i]|[[,iops_rd=r][,iops_wr=w]]]\n"
+"       [[,bps_max=bm]|[[,bps_rd_max=rm][,bps_wr_max=wm]]]\n"
+"       [[,iops_max=im]|[[,iops_rd_max=irm][,iops_wr_max=iwm]]]\n"
+"       [[,iops_size=is]]\n"
+"       [[,group=g]]\n"
+"                use 'file' as a drive image\n", QEMU_ARCH_ALL)
+
+DEF("mtdblock", HAS_ARG, QEMU_OPTION_mtdblock,
+"-mtdblock file  use 'file' as on-board Flash memory image\n",
+QEMU_ARCH_ALL)
+
+DEF("sd", HAS_ARG, QEMU_OPTION_sd,
+"-sd file        use 'file' as SecureDigital card image\n", QEMU_ARCH_ALL)
+
+DEF("pflash", HAS_ARG, QEMU_OPTION_pflash,
+"-pflash file    use 'file' as a parallel flash image\n", QEMU_ARCH_ALL)
+
+DEF("snapshot", 0, QEMU_OPTION_snapshot,
+"-snapshot       write to temporary files instead of disk image files\n",
+QEMU_ARCH_ALL)
+
+DEF("hdachs", HAS_ARG, QEMU_OPTION_hdachs, \
+"-hdachs c,h,s[,t]\n" \
+"                force hard disk 0 physical geometry and the optional BIOS\n" \
+"                translation (t=none or lba) (usually QEMU can guess them)\n",
+QEMU_ARCH_ALL)
+
+DEF("fsdev", HAS_ARG, QEMU_OPTION_fsdev,
+"-fsdev fsdriver,id=id[,path=path,][security_model={mapped-xattr|mapped-file|passthrough|none}]\n"
+" [,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]\n",
+QEMU_ARCH_ALL)
+
+
+DEF("virtfs", HAS_ARG, QEMU_OPTION_virtfs,
+"-virtfs local,path=path,mount_tag=tag,security_model=[mapped-xattr|mapped-file|passthrough|none]\n"
+"        [,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]\n",
+QEMU_ARCH_ALL)
+
+
+DEF("virtfs_synth", 0, QEMU_OPTION_virtfs_synth,
+"-virtfs_synth Create synthetic file system image\n",
+QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+DEFHEADING(USB options:)
+
+DEF("usb", 0, QEMU_OPTION_usb,
+"-usb            enable the USB driver (will be the default soon)\n",
+QEMU_ARCH_ALL)
+
+DEF("usbdevice", HAS_ARG, QEMU_OPTION_usbdevice,
+"-usbdevice name add the host or guest USB device 'name'\n",
+QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+DEFHEADING(Display options:)
+
+DEF("display", HAS_ARG, QEMU_OPTION_display,
+"-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
+"            [,window_close=on|off][,gl=on|off]|curses|none|\n"
+"-display gtk[,grab_on_hover=on|off][,gl=on|off]|\n"
+"-display vnc=<display>[,<optargs>]\n"
+"-display curses\n"
+"-display none"
+"                select display type\n"
+"The default display is equivalent to\n"
+#if defined(CONFIG_GTK)
+"\t\"-display gtk\"\n"
+#elif defined(CONFIG_SDL)
+"\t\"-display sdl\"\n"
+#elif defined(CONFIG_COCOA)
+"\t\"-display cocoa\"\n"
+#elif defined(CONFIG_VNC)
+"\t\"-vnc localhost:0,to=99,id=default\"\n"
+#else
+"\t\"-display none\"\n"
+#endif
+, QEMU_ARCH_ALL)
+
+DEF("nographic", 0, QEMU_OPTION_nographic,
+"-nographic      disable graphical output and redirect serial I/Os to console\n",
+QEMU_ARCH_ALL)
+
+DEF("curses", 0, QEMU_OPTION_curses,
+"-curses         shorthand for -display curses\n",
+QEMU_ARCH_ALL)
+
+DEF("no-frame", 0, QEMU_OPTION_no_frame,
+"-no-frame       open SDL window without a frame and window decorations\n",
+QEMU_ARCH_ALL)
+
+DEF("alt-grab", 0, QEMU_OPTION_alt_grab,
+"-alt-grab       use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n",
+QEMU_ARCH_ALL)
+
+DEF("ctrl-grab", 0, QEMU_OPTION_ctrl_grab,
+"-ctrl-grab      use Right-Ctrl to grab mouse (instead of Ctrl-Alt)\n",
+QEMU_ARCH_ALL)
+
+DEF("no-quit", 0, QEMU_OPTION_no_quit,
+"-no-quit        disable SDL window close capability\n", QEMU_ARCH_ALL)
+
+DEF("sdl", 0, QEMU_OPTION_sdl,
+"-sdl            shorthand for -display sdl\n", QEMU_ARCH_ALL)
+
+DEF("spice", HAS_ARG, QEMU_OPTION_spice,
+"-spice [port=port][,tls-port=secured-port][,x509-dir=<dir>]\n"
+"       [,x509-key-file=<file>][,x509-key-password=<file>]\n"
+"       [,x509-cert-file=<file>][,x509-cacert-file=<file>]\n"
+"       [,x509-dh-key-file=<file>][,addr=addr][,ipv4|ipv6|unix]\n"
+"       [,tls-ciphers=<list>]\n"
+"       [,tls-channel=[main|display|cursor|inputs|record|playback]]\n"
+"       [,plaintext-channel=[main|display|cursor|inputs|record|playback]]\n"
+"       [,sasl][,password=<secret>][,disable-ticketing]\n"
+"       [,image-compression=[auto_glz|auto_lz|quic|glz|lz|off]]\n"
+"       [,jpeg-wan-compression=[auto|never|always]]\n"
+"       [,zlib-glz-wan-compression=[auto|never|always]]\n"
+"       [,streaming-video=[off|all|filter]][,disable-copy-paste]\n"
+"       [,disable-agent-file-xfer][,agent-mouse=[on|off]]\n"
+"       [,playback-compression=[on|off]][,seamless-migration=[on|off]]\n"
+"       [,gl=[on|off]]\n"
+"   enable spice\n"
+"   at least one of {port, tls-port} is mandatory\n",
+QEMU_ARCH_ALL)
+
+DEF("portrait", 0, QEMU_OPTION_portrait,
+"-portrait       rotate graphical output 90 deg left (only PXA LCD)\n",
+QEMU_ARCH_ALL)
+
+DEF("rotate", HAS_ARG, QEMU_OPTION_rotate,
+"-rotate <deg>   rotate graphical output some deg left (only PXA LCD)\n",
+QEMU_ARCH_ALL)
+
+DEF("vga", HAS_ARG, QEMU_OPTION_vga,
+"-vga [std|cirrus|vmware|qxl|xenfb|tcx|cg3|virtio|none]\n"
+"                select video card type\n", QEMU_ARCH_ALL)
+
+DEF("full-screen", 0, QEMU_OPTION_full_screen,
+"-full-screen    start in full screen\n", QEMU_ARCH_ALL)
+
+DEF("g", 1, QEMU_OPTION_g ,
+"-g WxH[xDEPTH]  Set the initial graphical resolution and depth\n",
+QEMU_ARCH_PPC | QEMU_ARCH_SPARC)
+
+DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
+"-vnc <display>  shorthand for -display vnc=<display>\n", QEMU_ARCH_ALL)
+
+ARCHHEADING(, QEMU_ARCH_I386)
+
+ARCHHEADING(i386 target only:, QEMU_ARCH_I386)
+
+DEF("win2k-hack", 0, QEMU_OPTION_win2k_hack,
+"-win2k-hack     use it when installing Windows 2000 to avoid a disk full bug\n",
+QEMU_ARCH_I386)
+
+DEF("rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack, "", QEMU_ARCH_I386)
+
+DEF("no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk,
+"-no-fd-bootchk  disable boot signature checking for floppy disks\n",
+QEMU_ARCH_I386)
+
+DEF("no-acpi", 0, QEMU_OPTION_no_acpi,
+"-no-acpi        disable ACPI\n", QEMU_ARCH_I386 | QEMU_ARCH_ARM)
+
+DEF("no-hpet", 0, QEMU_OPTION_no_hpet,
+"-no-hpet        disable HPET\n", QEMU_ARCH_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|file}=file1[:file2]...]\n"
+"                ACPI table description\n", QEMU_ARCH_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"
+"              [,uefi=on|off]\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"
+"-smbios type=2[,manufacturer=str][,product=str][,version=str][,serial=str]\n"
+"              [,asset=str][,location=str]\n"
+"                specify SMBIOS type 2 fields\n"
+"-smbios type=3[,manufacturer=str][,version=str][,serial=str][,asset=str]\n"
+"              [,sku=str]\n"
+"                specify SMBIOS type 3 fields\n"
+"-smbios type=4[,sock_pfx=str][,manufacturer=str][,version=str][,serial=str]\n"
+"              [,asset=str][,part=str]\n"
+"                specify SMBIOS type 4 fields\n"
+"-smbios type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n"
+"               [,asset=str][,part=str][,speed=%d]\n"
+"                specify SMBIOS type 17 fields\n",
+QEMU_ARCH_I386 | QEMU_ARCH_ARM)
+
+DEFHEADING()
+
+DEFHEADING(Network options:)
+
+#ifdef CONFIG_SLIRP
+DEF("tftp", HAS_ARG, QEMU_OPTION_tftp, "", QEMU_ARCH_ALL)
+DEF("bootp", HAS_ARG, QEMU_OPTION_bootp, "", QEMU_ARCH_ALL)
+DEF("redir", HAS_ARG, QEMU_OPTION_redir, "", QEMU_ARCH_ALL)
+#ifndef _WIN32
+DEF("smb", HAS_ARG, QEMU_OPTION_smb, "", QEMU_ARCH_ALL)
+#endif
+#endif
+
+DEF("netdev", HAS_ARG, QEMU_OPTION_netdev,
+#ifdef CONFIG_SLIRP
+"-netdev user,id=str[,ipv4[=on|off]][,net=addr[/mask]][,host=addr]\n"
+"         [,ipv6[=on|off]][,ipv6-net=addr[/int]][,ipv6-host=addr]\n"
+"         [,restrict=on|off][,hostname=host][,dhcpstart=addr]\n"
+"         [,dns=addr][,ipv6-dns=addr][,dnssearch=domain][,tftp=dir]\n"
+"         [,bootfile=f][,hostfwd=rule][,guestfwd=rule]"
+#ifndef _WIN32
+"[,smb=dir[,smbserver=addr]]\n"
+#endif
+"                configure a user mode network backend with ID 'str',\n"
+"                its DHCP server and optional services\n"
+#endif
+#ifdef _WIN32
+"-netdev tap,id=str,ifname=name\n"
+"                configure a host TAP network backend with ID 'str'\n"
+#else
+"-netdev tap,id=str[,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]\n"
+"         [,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off]\n"
+"         [,vhostfd=h][,vhostfds=x:y:...:z][,vhostforce=on|off][,queues=n]\n"
+"         [,poll-us=n]\n"
+"                configure a host TAP network backend with ID 'str'\n"
+"                use network scripts 'file' (default=" DEFAULT_NETWORK_SCRIPT ")\n"
+"                to configure it and 'dfile' (default=" DEFAULT_NETWORK_DOWN_SCRIPT ")\n"
+"                to deconfigure it\n"
+"                use '[down]script=no' to disable script execution\n"
+"                use network helper 'helper' (default=" DEFAULT_BRIDGE_HELPER ") to\n"
+"                configure it\n"
+"                use 'fd=h' to connect to an already opened TAP interface\n"
+"                use 'fds=x:y:...:z' to connect to already opened multiqueue capable TAP interfaces\n"
+"                use 'sndbuf=nbytes' to limit the size of the send buffer (the\n"
+"                default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')\n"
+"                use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag\n"
+"                use vnet_hdr=on to make the lack of IFF_VNET_HDR support an error condition\n"
+"                use vhost=on to enable experimental in kernel accelerator\n"
+"                    (only has effect for virtio guests which use MSIX)\n"
+"                use vhostforce=on to force vhost on for non-MSIX virtio guests\n"
+"                use 'vhostfd=h' to connect to an already opened vhost net device\n"
+"                use 'vhostfds=x:y:...:z to connect to multiple already opened vhost net devices\n"
+"                use 'queues=n' to specify the number of queues to be created for multiqueue TAP\n"
+"                use 'poll-us=n' to speciy the maximum number of microseconds that could be\n"
+"                spent on busy polling for vhost net\n"
+"-netdev bridge,id=str[,br=bridge][,helper=helper]\n"
+"                configure a host TAP network backend with ID 'str' that is\n"
+"                connected to a bridge (default=" DEFAULT_BRIDGE_INTERFACE ")\n"
+"                using the program 'helper (default=" DEFAULT_BRIDGE_HELPER ")\n"
+#endif
+#ifdef __linux__
+"-netdev l2tpv3,id=str,src=srcaddr,dst=dstaddr[,srcport=srcport][,dstport=dstport]\n"
+"         [,rxsession=rxsession],txsession=txsession[,ipv6=on/off][,udp=on/off]\n"
+"         [,cookie64=on/off][,counter][,pincounter][,txcookie=txcookie]\n"
+"         [,rxcookie=rxcookie][,offset=offset]\n"
+"                configure a network backend with ID 'str' connected to\n"
+"                an Ethernet over L2TPv3 pseudowire.\n"
+"                Linux kernel 3.3+ as well as most routers can talk\n"
+"                L2TPv3. This transport allows connecting a VM to a VM,\n"
+"                VM to a router and even VM to Host. It is a nearly-universal\n"
+"                standard (RFC3391). Note - this implementation uses static\n"
+"                pre-configured tunnels (same as the Linux kernel).\n"
+"                use 'src=' to specify source address\n"
+"                use 'dst=' to specify destination address\n"
+"                use 'udp=on' to specify udp encapsulation\n"
+"                use 'srcport=' to specify source udp port\n"
+"                use 'dstport=' to specify destination udp port\n"
+"                use 'ipv6=on' to force v6\n"
+"                L2TPv3 uses cookies to prevent misconfiguration as\n"
+"                well as a weak security measure\n"
+"                use 'rxcookie=0x012345678' to specify a rxcookie\n"
+"                use 'txcookie=0x012345678' to specify a txcookie\n"
+"                use 'cookie64=on' to set cookie size to 64 bit, otherwise 32\n"
+"                use 'counter=off' to force a 'cut-down' L2TPv3 with no counter\n"
+"                use 'pincounter=on' to work around broken counter handling in peer\n"
+"                use 'offset=X' to add an extra offset between header and data\n"
+#endif
+"-netdev socket,id=str[,fd=h][,listen=[host]:port][,connect=host:port]\n"
+"                configure a network backend to connect to another network\n"
+"                using a socket connection\n"
+"-netdev socket,id=str[,fd=h][,mcast=maddr:port[,localaddr=addr]]\n"
+"                configure a network backend to connect to a multicast maddr and port\n"
+"                use 'localaddr=addr' to specify the host address to send packets from\n"
+"-netdev socket,id=str[,fd=h][,udp=host:port][,localaddr=host:port]\n"
+"                configure a network backend to connect to another network\n"
+"                using an UDP tunnel\n"
+#ifdef CONFIG_VDE
+"-netdev vde,id=str[,sock=socketpath][,port=n][,group=groupname][,mode=octalmode]\n"
+"                configure a network backend to connect to port 'n' of a vde switch\n"
+"                running on host and listening for incoming connections on 'socketpath'.\n"
+"                Use group 'groupname' and mode 'octalmode' to change default\n"
+"                ownership and permissions for communication port.\n"
+#endif
+#ifdef CONFIG_NETMAP
+"-netdev netmap,id=str,ifname=name[,devname=nmname]\n"
+"                attach to the existing netmap-enabled network interface 'name', or to a\n"
+"                VALE port (created on the fly) called 'name' ('nmname' is name of the \n"
+"                netmap device, defaults to '/dev/netmap')\n"
+#endif
+"-netdev vhost-user,id=str,chardev=dev[,vhostforce=on|off]\n"
+"                configure a vhost-user network, backed by a chardev 'dev'\n"
+"-netdev hubport,id=str,hubid=n\n"
+"                configure a hub port on QEMU VLAN 'n'\n", QEMU_ARCH_ALL)
+DEF("net", HAS_ARG, QEMU_OPTION_net,
+"-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]\n"
+"                old way to create a new NIC and connect it to VLAN 'n'\n"
+"                (use the '-device devtype,netdev=str' option if possible instead)\n"
+"-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"
+"-net ["
+#ifdef CONFIG_SLIRP
+"user|"
+#endif
+"tap|"
+"bridge|"
+#ifdef CONFIG_VDE
+"vde|"
+#endif
+#ifdef CONFIG_NETMAP
+"netmap|"
+#endif
+"socket][,vlan=n][,option][,option][,...]\n"
+"                old way to initialize a host network interface\n"
+"                (use the -netdev option if possible instead)\n", QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+DEFHEADING(Character device options:)
+
+DEF("chardev", HAS_ARG, QEMU_OPTION_chardev,
+"-chardev null,id=id[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev socket,id=id[,host=host],port=port[,to=to][,ipv4][,ipv6][,nodelay][,reconnect=seconds]\n"
+"         [,server][,nowait][,telnet][,reconnect=seconds][,mux=on|off]\n"
+"         [,logfile=PATH][,logappend=on|off][,tls-creds=ID] (tcp)\n"
+"-chardev socket,id=id,path=path[,server][,nowait][,telnet][,reconnect=seconds]\n"
+"         [,mux=on|off][,logfile=PATH][,logappend=on|off] (unix)\n"
+"-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]\n"
+"         [,localport=localport][,ipv4][,ipv6][,mux=on|off]\n"
+"         [,logfile=PATH][,logappend=on|off]\n"
+"-chardev msmouse,id=id[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]\n"
+"         [,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev ringbuf,id=id[,size=size][,logfile=PATH][,logappend=on|off]\n"
+"-chardev file,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev pipe,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+#ifdef _WIN32
+"-chardev console,id=id[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev serial,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+#else
+"-chardev pty,id=id[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev stdio,id=id[,mux=on|off][,signal=on|off][,logfile=PATH][,logappend=on|off]\n"
+#endif
+#ifdef CONFIG_BRLAPI
+"-chardev braille,id=id[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+#endif
+#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) \
+|| defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+"-chardev serial,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev tty,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+#endif
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
+"-chardev parallel,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+"-chardev parport,id=id,path=path[,mux=on|off][,logfile=PATH][,logappend=on|off]\n"
+#endif
+#if defined(CONFIG_SPICE)
+"-chardev spicevmc,id=id,name=name[,debug=debug][,logfile=PATH][,logappend=on|off]\n"
+"-chardev spiceport,id=id,name=name[,debug=debug][,logfile=PATH][,logappend=on|off]\n"
+#endif
+, QEMU_ARCH_ALL
+)
+
+
+DEFHEADING()
+
+DEFHEADING(Device URL Syntax:)
+DEF("iscsi", HAS_ARG, QEMU_OPTION_iscsi,
+"-iscsi [user=user][,password=password]\n"
+"       [,header-digest=CRC32C|CR32C-NONE|NONE-CRC32C|NONE\n"
+"       [,initiator-name=initiator-iqn][,id=target-iqn]\n"
+"       [,timeout=timeout]\n"
+"                iSCSI session parameters\n", QEMU_ARCH_ALL)
+
+
+DEFHEADING(Bluetooth(R) options:)
+
+DEF("bt", HAS_ARG, QEMU_OPTION_bt, \
+"-bt hci,null    dumb bluetooth HCI - doesn't respond to commands\n" \
+"-bt hci,host[:id]\n" \
+"                use host's HCI with the given name\n" \
+"-bt hci[,vlan=n]\n" \
+"                emulate a standard HCI in virtual scatternet 'n'\n" \
+"-bt vhci[,vlan=n]\n" \
+"                add host computer to virtual scatternet 'n' using VHCI\n" \
+"-bt device:dev[,vlan=n]\n" \
+"                emulate a bluetooth device 'dev' in scatternet 'n'\n",
+QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+#ifdef CONFIG_TPM
+DEFHEADING(TPM device options:)
+
+DEF("tpmdev", HAS_ARG, QEMU_OPTION_tpmdev, \
+"-tpmdev passthrough,id=id[,path=path][,cancel-path=path]\n"
+"                use path to provide path to a character device; default is /dev/tpm0\n"
+"                use cancel-path to provide path to TPM's cancel sysfs entry; if\n"
+"                not provided it will be searched for in /sys/class/misc/tpm?/device\n",
+QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+#endif
+
+DEFHEADING(Linux/Multiboot boot specific:)
+
+DEF("kernel", HAS_ARG, QEMU_OPTION_kernel, \
+"-kernel bzImage use 'bzImage' as kernel image\n", QEMU_ARCH_ALL)
+
+DEF("append", HAS_ARG, QEMU_OPTION_append, \
+"-append cmdline use 'cmdline' as kernel command line\n", QEMU_ARCH_ALL)
+
+DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \
+"-initrd file    use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
+
+DEF("dtb", HAS_ARG, QEMU_OPTION_dtb, \
+"-dtb    file    use 'file' as device tree image\n", QEMU_ARCH_ALL)
+
+DEFHEADING()
+
+DEFHEADING(Debug/Expert options:)
+
+DEF("fw_cfg", HAS_ARG, QEMU_OPTION_fwcfg,
+"-fw_cfg [name=]<name>,file=<file>\n"
+"                add named fw_cfg entry with contents from file\n"
+"-fw_cfg [name=]<name>,string=<str>\n"
+"                add named fw_cfg entry with contents from string\n",
+QEMU_ARCH_ALL)
+
+DEF("serial", HAS_ARG, QEMU_OPTION_serial, \
+"-serial dev     redirect the serial port to char device 'dev'\n",
+QEMU_ARCH_ALL)
+
+DEF("parallel", HAS_ARG, QEMU_OPTION_parallel, \
+"-parallel dev   redirect the parallel port to char device 'dev'\n",
+QEMU_ARCH_ALL)
+
+DEF("monitor", HAS_ARG, QEMU_OPTION_monitor, \
+"-monitor dev    redirect the monitor to char device 'dev'\n",
+QEMU_ARCH_ALL)
+DEF("qmp", HAS_ARG, QEMU_OPTION_qmp, \
+"-qmp dev        like -monitor but opens in 'control' mode\n",
+QEMU_ARCH_ALL)
+DEF("qmp-pretty", HAS_ARG, QEMU_OPTION_qmp_pretty, \
+"-qmp-pretty dev like -qmp but uses pretty JSON formatting\n",
+QEMU_ARCH_ALL)
+
+DEF("mon", HAS_ARG, QEMU_OPTION_mon, \
+"-mon [chardev=]name[,mode=readline|control][,default]\n", QEMU_ARCH_ALL)
+
+DEF("debugcon", HAS_ARG, QEMU_OPTION_debugcon, \
+"-debugcon dev   redirect the debug console to char device 'dev'\n",
+QEMU_ARCH_ALL)
+
+DEF("pidfile", HAS_ARG, QEMU_OPTION_pidfile, \
+"-pidfile file   write PID to 'file'\n", QEMU_ARCH_ALL)
+
+DEF("singlestep", 0, QEMU_OPTION_singlestep, \
+"-singlestep     always run in singlestep mode\n", QEMU_ARCH_ALL)
+
+DEF("S", 0, QEMU_OPTION_S, \
+"-S              freeze CPU at startup (use 'c' to start execution)\n",
+QEMU_ARCH_ALL)
+
+DEF("realtime", HAS_ARG, QEMU_OPTION_realtime,
+"-realtime [mlock=on|off]\n"
+"                run qemu with realtime features\n"
+"                mlock=on|off controls mlock support (default: on)\n",
+QEMU_ARCH_ALL)
+
+DEF("gdb", HAS_ARG, QEMU_OPTION_gdb, \
+"-gdb dev        wait for gdb connection on 'dev'\n", QEMU_ARCH_ALL)
+
+DEF("s", 0, QEMU_OPTION_s, \
+"-s              shorthand for -gdb tcp::" DEFAULT_GDBSTUB_PORT "\n",
+QEMU_ARCH_ALL)
+
+DEF("d", HAS_ARG, QEMU_OPTION_d, \
+"-d item1,...    enable logging of specified items (use '-d help' for a list of log items)\n",
+QEMU_ARCH_ALL)
+
+DEF("D", HAS_ARG, QEMU_OPTION_D, \
+"-D logfile      output log to logfile (default stderr)\n",
+QEMU_ARCH_ALL)
+
+DEF("dfilter", HAS_ARG, QEMU_OPTION_DFILTER, \
+"-dfilter range,..  filter debug output to range of addresses (useful for -d cpu,exec,etc..)\n",
+QEMU_ARCH_ALL)
+
+DEF("L", HAS_ARG, QEMU_OPTION_L, \
+"-L path         set the directory for the BIOS, VGA BIOS and keymaps\n",
+QEMU_ARCH_ALL)
+
+DEF("bios", HAS_ARG, QEMU_OPTION_bios, \
+"-bios file      set the filename for the BIOS\n", QEMU_ARCH_ALL)
+
+DEF("enable-kvm", 0, QEMU_OPTION_enable_kvm, \
+"-enable-kvm     enable KVM full virtualization support\n", QEMU_ARCH_ALL)
+
+DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid,
+"-xen-domid id   specify xen guest domain id\n", QEMU_ARCH_ALL)
+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",
+QEMU_ARCH_ALL)
+DEF("xen-attach", 0, QEMU_OPTION_xen_attach,
+"-xen-attach     attach to existing xen domain\n"
+"                xend will use this when starting QEMU\n",
+QEMU_ARCH_ALL)
+
+DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \
+"-no-reboot      exit instead of rebooting\n", QEMU_ARCH_ALL)
+
+DEF("no-shutdown", 0, QEMU_OPTION_no_shutdown, \
+"-no-shutdown    stop before shutdown\n", QEMU_ARCH_ALL)
+
+DEF("loadvm", HAS_ARG, QEMU_OPTION_loadvm, \
+"-loadvm [tag|id]\n" \
+"                start right away with a saved state (loadvm in monitor)\n",
+QEMU_ARCH_ALL)
+
+#ifndef _WIN32
+DEF("daemonize", 0, QEMU_OPTION_daemonize, \
+"-daemonize      daemonize QEMU after initializing\n", QEMU_ARCH_ALL)
+#endif
+
+DEF("option-rom", HAS_ARG, QEMU_OPTION_option_rom, \
+"-option-rom rom load a file, rom, into the option ROM space\n",
+QEMU_ARCH_ALL)
+
+DEF("clock", HAS_ARG, QEMU_OPTION_clock, "", QEMU_ARCH_ALL)
+
+DEF("localtime", 0, QEMU_OPTION_localtime, "", QEMU_ARCH_ALL)
+DEF("startdate", HAS_ARG, QEMU_OPTION_startdate, "", QEMU_ARCH_ALL)
+
+DEF("rtc", HAS_ARG, QEMU_OPTION_rtc, \
+"-rtc [base=utc|localtime|date][,clock=host|rt|vm][,driftfix=none|slew]\n" \
+"                set the RTC base and clock, enable drift fix for clock ticks (x86 only)\n",
+QEMU_ARCH_ALL)
+
+
+DEF("icount", HAS_ARG, QEMU_OPTION_icount, \
+"-icount [shift=N|auto][,align=on|off][,sleep=on|off,rr=record|replay,rrfile=<filename>]\n" \
+"                enable virtual instruction counter with 2^N clock ticks per\n" \
+"                instruction, enable aligning the host and virtual clocks\n" \
+"                or disable real time cpu sleeping\n", QEMU_ARCH_ALL)
+
+DEF("watchdog", HAS_ARG, QEMU_OPTION_watchdog, \
+"-watchdog model\n" \
+"                enable virtual hardware watchdog [default=none]\n",
+QEMU_ARCH_ALL)
+
+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",
+QEMU_ARCH_ALL)
+
+DEF("echr", HAS_ARG, QEMU_OPTION_echr, \
+"-echr chr       set terminal escape character instead of ctrl-a\n",
+QEMU_ARCH_ALL)
+
+DEF("virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon, \
+"-virtioconsole c\n" \
+"                set virtio console\n", QEMU_ARCH_ALL)
+
+DEF("show-cursor", 0, QEMU_OPTION_show_cursor, \
+"-show-cursor    show cursor\n", QEMU_ARCH_ALL)
+
+DEF("tb-size", HAS_ARG, QEMU_OPTION_tb_size, \
+"-tb-size n      set TB size\n", QEMU_ARCH_ALL)
+
+DEF("incoming", HAS_ARG, QEMU_OPTION_incoming, \
+"-incoming tcp:[host]:port[,to=maxport][,ipv4][,ipv6]\n" \
+"-incoming rdma:host:port[,ipv4][,ipv6]\n" \
+"-incoming unix:socketpath\n" \
+"                prepare for incoming migration, listen on\n" \
+"                specified protocol and socket address\n" \
+"-incoming fd:fd\n" \
+"-incoming exec:cmdline\n" \
+"                accept incoming migration on given file descriptor\n" \
+"                or from given external command\n" \
+"-incoming defer\n" \
+"                wait for the URI to be specified via migrate_incoming\n",
+QEMU_ARCH_ALL)
+
+DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \
+"-nodefaults     don't create default devices\n", QEMU_ARCH_ALL)
+
+#ifndef _WIN32
+DEF("chroot", HAS_ARG, QEMU_OPTION_chroot, \
+"-chroot dir     chroot to dir just before starting the VM\n",
+QEMU_ARCH_ALL)
+#endif
+
+#ifndef _WIN32
+DEF("runas", HAS_ARG, QEMU_OPTION_runas, \
+"-runas user     change to user id user just before starting the VM\n",
+QEMU_ARCH_ALL)
+#endif
+
+DEF("prom-env", HAS_ARG, QEMU_OPTION_prom_env,
+"-prom-env variable=value\n"
+"                set OpenBIOS nvram variables\n",
+QEMU_ARCH_PPC | QEMU_ARCH_SPARC)
+DEF("semihosting", 0, QEMU_OPTION_semihosting,
+"-semihosting    semihosting mode\n",
+QEMU_ARCH_ARM | QEMU_ARCH_M68K | QEMU_ARCH_XTENSA | QEMU_ARCH_LM32 |
+QEMU_ARCH_MIPS)
+DEF("semihosting-config", HAS_ARG, QEMU_OPTION_semihosting_config,
+"-semihosting-config [enable=on|off][,target=native|gdb|auto][,arg=str[,...]]\n" \
+"                semihosting configuration\n",
+QEMU_ARCH_ARM | QEMU_ARCH_M68K | QEMU_ARCH_XTENSA | QEMU_ARCH_LM32 |
+QEMU_ARCH_MIPS)
+DEF("old-param", 0, QEMU_OPTION_old_param,
+"-old-param      old param mode\n", QEMU_ARCH_ARM)
+
+DEF("sandbox", HAS_ARG, QEMU_OPTION_sandbox, \
+"-sandbox <arg>  Enable seccomp mode 2 system call filter (default 'off').\n",
+QEMU_ARCH_ALL)
+
+DEF("readconfig", HAS_ARG, QEMU_OPTION_readconfig,
+"-readconfig <file>\n", QEMU_ARCH_ALL)
+DEF("writeconfig", HAS_ARG, QEMU_OPTION_writeconfig,
+"-writeconfig <file>\n"
+"                read/write config file\n", QEMU_ARCH_ALL)
+DEF("nodefconfig", 0, QEMU_OPTION_nodefconfig,
+"-nodefconfig\n"
+"                do not load default config files at startup\n",
+QEMU_ARCH_ALL)
+DEF("no-user-config", 0, QEMU_OPTION_nouserconfig,
+"-no-user-config\n"
+"                do not load user-provided config files at startup\n",
+QEMU_ARCH_ALL)
+DEF("trace", HAS_ARG, QEMU_OPTION_trace,
+"-trace [[enable=]<pattern>][,events=<file>][,file=<file>]\n"
+"                specify tracing options\n",
+QEMU_ARCH_ALL)
+
+DEF("qtest", HAS_ARG, QEMU_OPTION_qtest, "", QEMU_ARCH_ALL)
+DEF("qtest-log", HAS_ARG, QEMU_OPTION_qtest_log, "", QEMU_ARCH_ALL)
+
+#ifdef __linux__
+DEF("enable-fips", 0, QEMU_OPTION_enablefips,
+"-enable-fips    enable FIPS 140-2 compliance\n",
+QEMU_ARCH_ALL)
+#endif
+
+DEF("no-kvm", 0, QEMU_OPTION_no_kvm, "", QEMU_ARCH_I386)
+
+DEF("no-kvm-pit-reinjection", 0, QEMU_OPTION_no_kvm_pit_reinjection,
+"", QEMU_ARCH_I386)
+
+DEF("no-kvm-pit", 0, QEMU_OPTION_no_kvm_pit, "", QEMU_ARCH_I386)
+
+DEF("no-kvm-irqchip", 0, QEMU_OPTION_no_kvm_irqchip, "", QEMU_ARCH_I386)
+
+DEF("tdf", 0, QEMU_OPTION_tdf,"", QEMU_ARCH_ALL)
+
+DEF("msg", HAS_ARG, QEMU_OPTION_msg,
+"-msg timestamp[=on|off]\n"
+"                change the format of messages\n"
+"                on|off controls leading timestamps (default:on)\n",
+QEMU_ARCH_ALL)
+
+DEF("dump-vmstate", HAS_ARG, QEMU_OPTION_dump_vmstate,
+"-dump-vmstate <file>\n"
+"                Output vmstate information in JSON format to file.\n"
+"                Use the scripts/vmstate-static-checker.py file to\n"
+"                check for possible regressions in migration code\n"
+"                by comparing two such vmstate dumps.\n",
+QEMU_ARCH_ALL)
+
+DEFHEADING(Generic object creation)
+
+DEF("object", HAS_ARG, QEMU_OPTION_object,
+"-object TYPENAME[,PROP1=VALUE1,...]\n"
+"                create a new object of type TYPENAME setting properties\n"
+"                in the order they are specified.  Note that the 'id'\n"
+"                property must be set.  These objects are placed in the\n"
+"                '/objects' path.\n",
+QEMU_ARCH_ALL)
+
+#ifdef CONFIG_ANDROID
+
+DEF("netspeed", HAS_ARG, QEMU_OPTION_netspeed,
+"-netspeed <speed> maximum network download/upload speeds\n", QEMU_ARCH_ALL)
+
+DEF("netdelay", HAS_ARG, QEMU_OPTION_netdelay,
+"-netdelay <delay> network latency emulation\n", QEMU_ARCH_ALL)
+
+DEF("netfast", 0, QEMU_OPTION_netfast,
+"-netfast disable network shaping\n", QEMU_ARCH_ALL)
+
+DEF("boot-property", HAS_ARG, QEMU_OPTION_boot_property, \
+"-boot-property <name>=<value> set system property on boot\n", QEMU_ARCH_ALL)
+
+DEF("lcd-density", HAS_ARG, QEMU_OPTION_lcd_density,
+"-lcd-density density\n"
+"                select lcd display density value (default is 160)\n", QEMU_ARCH_ALL)
+
+DEF("android-ports", HAS_ARG, QEMU_OPTION_android_ports,
+"-android-ports <consoleport>,<adbport>"
+" TCP ports used for the emulator instance and adb bridge\n", QEMU_ARCH_ALL)
+
+DEF("android-report-console", HAS_ARG, QEMU_OPTION_android_report_console, \
+"-android-report-console <socket>"
+" report console port to remote socket\n", QEMU_ARCH_ALL)
+
+DEF("http-proxy", HAS_ARG, QEMU_OPTION_http_proxy,
+"-http-proxy <proxy> make TCP connections through a HTTP/HTTPS proxy\n", QEMU_ARCH_ALL)
+
+DEF("dns-server", HAS_ARG, QEMU_OPTION_dns_server,
+"-dns-server <servers> use this DNS server(s) in the emulated system\n", QEMU_ARCH_ALL)
+
+DEF("android-hw", HAS_ARG, QEMU_OPTION_android_hw,
+"-android-hw <file>\n"
+"                specify the hw config ini file location\n", QEMU_ARCH_ALL)
+
+#endif  // CONFIG_ANDROID
+
diff --git a/qemu-options.hx b/qemu-options.hx
index a71aaf8..741814f 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -328,6 +328,16 @@
 parameters.
 ETEXI
 
+DEF("no-audio", 0, QEMU_OPTION_audio_none,
+    "-no-audio        disable audio support\n",
+    QEMU_ARCH_ALL)
+STEXI
+@item -no-audio
+@findex -no-audio
+Will disable audio support
+parameters.
+ETEXI
+
 DEF("soundhw", HAS_ARG, QEMU_OPTION_soundhw,
     "-soundhw c1,... enable audio support\n"
     "                and only specified sound cards (comma separated list)\n"
@@ -3968,6 +3978,93 @@
 
 ETEXI
 
+#ifdef CONFIG_ANDROID
+
+DEF("netspeed", HAS_ARG, QEMU_OPTION_netspeed,
+    "-netspeed <speed> maximum network download/upload speeds\n", QEMU_ARCH_ALL)
+STEXI
+@item -netspeed @var{speed}
+@findex -netspeed
+Set a maximum network transfer speed, either as a network type or in kbit/s
+ETEXI
+
+DEF("netdelay", HAS_ARG, QEMU_OPTION_netdelay,
+    "-netdelay <delay> network latency emulation\n", QEMU_ARCH_ALL)
+STEXI
+@item -netdelay @var{delay}
+@findex -netdelay
+Set the network delay, either based on a network type or in milliseconds
+ETEXI
+
+DEF("netfast", 0, QEMU_OPTION_netfast,
+    "-netfast disable network shaping\n", QEMU_ARCH_ALL)
+STEXI
+@item -netfast
+@findex -netfast
+Disable network shaping to make network as fast as possible
+ETEXI
+
+DEF("boot-property", HAS_ARG, QEMU_OPTION_boot_property, \
+    "-boot-property <name>=<value> set system property on boot\n", QEMU_ARCH_ALL)
+STEXI
+@item -boot-property
+@findex -boot-property
+Set system property on boot
+ETEXI
+
+DEF("lcd-density", HAS_ARG, QEMU_OPTION_lcd_density,
+    "-lcd-density density\n"
+    "                select lcd display density value (default is 160)\n", QEMU_ARCH_ALL)
+STEXI
+@item -lcd-density density (integer value)
+@findex -lcd-density
+Select lcd display density value (default is 160)
+ETEXI
+
+DEF("android-ports", HAS_ARG, QEMU_OPTION_android_ports,
+    "-android-ports <consoleport>,<adbport>"
+    " TCP ports used for the emulator instance and adb bridge\n", QEMU_ARCH_ALL)
+STEXI
+@item -android-ports @var{consoleport},@var{adbport}
+@findex -android-ports
+TCP ports used for the emulator instance and adb bridge
+ETEXI
+
+DEF("android-report-console", HAS_ARG, QEMU_OPTION_android_report_console, \
+    "-android-report-console <socket>"
+    " report console port to remote socket\n", QEMU_ARCH_ALL)
+STEXI
+@item -android-report-console @var{socket}
+@findex -android-report-console
+Report console port to remote socket
+ETEXI
+
+DEF("http-proxy", HAS_ARG, QEMU_OPTION_http_proxy,
+    "-http-proxy <proxy> make TCP connections through a HTTP/HTTPS proxy\n", QEMU_ARCH_ALL)
+STEXI
+@item -http-proxy @var{proxy}
+@findex -http-proxy
+make TCP connections through a HTTP/HTTPS proxy
+ETEXI
+
+DEF("dns-server", HAS_ARG, QEMU_OPTION_dns_server,
+    "-dns-server <servers> use this DNS server(s) in the emulated system\n", QEMU_ARCH_ALL)
+STEXI
+@item -dns-server @var{servers}
+@findex -dns-server
+Use one or more DNS servers, separated by comma, in the emulated system
+ETEXI
+
+DEF("android-hw", HAS_ARG, QEMU_OPTION_android_hw,
+    "-android-hw <file>\n"
+    "                specify the hw config ini file location\n", QEMU_ARCH_ALL)
+STEXI
+@item -android-hw @var{file}
+@findex -android-hw
+Specify the hw config ini file location
+ETEXI
+
+#endif  // CONFIG_ANDROID
 
 HXCOMM This is the last statement. Insert new options before this line!
 STEXI