+HXCOMM See docs/devel/docs.rst for the format of this file.
+HXCOMM
HXCOMM Use DEFHEADING() to define headings in both help text and rST.
HXCOMM Text between SRST and ERST is copied to the rST version and
HXCOMM discarded from C version.
" dirty-ring-size=n (KVM dirty ring GFN count, default 0)\n"
" eager-split-size=n (KVM Eager Page Split chunk size, default 0, disabled. ARM only)\n"
" notify-vmexit=run|internal-error|disable,notify-window=n (enable notify VM exit and set notify window, x86 only)\n"
- " thread=single|multi (enable multi-threaded TCG)\n", QEMU_ARCH_ALL)
+ " thread=single|multi (enable multi-threaded TCG)\n"
+ " device=path (KVM device path, default /dev/kvm)\n", QEMU_ARCH_ALL)
SRST
``-accel name[,prop=value[,...]]``
This is used to enable an accelerator. Depending on the target
open up for a specified of time (i.e. notify-window).
Default: notify-vmexit=run,notify-window=0.
+ ``device=path``
+ Sets the path to the KVM device node. Defaults to ``/dev/kvm``. This
+ option can be used to pass the KVM device to use via a file descriptor
+ by setting the value to ``/dev/fdset/NN``.
+
ERST
DEF("smp", HAS_ARG, QEMU_OPTION_smp,
#endif
#if defined(CONFIG_COCOA)
"-display cocoa[,full-grab=on|off][,swap-opt-cmd=on|off]\n"
+ " [,show-cursor=on|off][,left-command-key=on|off]\n"
+ " [,full-screen=on|off][,zoom-to-fit=on|off]\n"
#endif
#if defined(CONFIG_OPENGL)
"-display egl-headless[,rendernode=<file>]\n"
#if defined(CONFIG_DBUS_DISPLAY)
"-display dbus[,addr=<dbusaddr>]\n"
" [,gl=on|core|es|off][,rendernode=<file>]\n"
-#endif
-#if defined(CONFIG_COCOA)
- "-display cocoa[,show-cursor=on|off][,left-command-key=on|off]\n"
#endif
"-display none\n"
" select display backend type\n"
provides drop-down menus and other UI elements to configure and
control the VM during runtime. Valid parameters are:
+ ``full-grab=on|off`` : Capture all key presses, including system combos.
+ This requires accessibility permissions, since it
+ performs a global grab on key events.
+ (default: off) See
+ https://support.apple.com/en-in/guide/mac-help/mh32356/mac
+
+ ``swap-opt-cmd=on|off`` : Swap the Option and Command keys so that their
+ key codes match their position on non-Mac
+ keyboards and you can use Meta/Super and Alt
+ where you expect them. (default: off)
+
``show-cursor=on|off`` : Force showing the mouse cursor
``left-command-key=on|off`` : Disable forwarding left command key to host
+ ``full-screen=on|off`` : Start in fullscreen mode
+
+ ``zoom-to-fit=on|off`` : Expand video output to the window size,
+ defaults to "off"
+
``egl-headless[,rendernode=<file>]``
Offload all OpenGL operations to a local DRI device. For any
graphical display, this display needs to be paired with either
OBP.
ERST
+#ifdef CONFIG_VNC
DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
"-vnc <display> shorthand for -display vnc=<display>\n", QEMU_ARCH_ALL)
+#endif
SRST
``-vnc display[,option[,option[,...]]]``
Normally, if QEMU is compiled with graphical window support, it
needed to boot from old floppy disks.
ERST
-DEF("no-acpi", 0, QEMU_OPTION_no_acpi,
- "-no-acpi disable ACPI\n", QEMU_ARCH_I386 | QEMU_ARCH_ARM)
-SRST
-``-no-acpi``
- Disable ACPI (Advanced Configuration and Power Interface) support.
- Use it if your guest OS complains about ACPI problems (PC target
- machine only).
-ERST
-
-DEF("no-hpet", 0, QEMU_OPTION_no_hpet,
- "-no-hpet disable HPET\n", QEMU_ARCH_I386)
-SRST
-``-no-hpet``
- Disable HPET support. Deprecated, use '-machine hpet=off' instead.
-ERST
-
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("initrd", HAS_ARG, QEMU_OPTION_initrd, \
"-initrd file use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
SRST
+
``-initrd file``
Use file as initial ram disk.
``-initrd "file1 arg=foo,file2"``
This syntax is only available with multiboot.
- Use file1 and file2 as modules and pass arg=foo as parameter to the
- first module.
+ Use file1 and file2 as modules and pass ``arg=foo`` as parameter to the
+ first module. Commas can be provided in module parameters by doubling
+ them on the command line to escape them:
+
+``-initrd "bzImage earlyprintk=xen,,keep root=/dev/xvda1,initrd.img"``
+ Multiboot only. Use bzImage as the first module with
+ "``earlyprintk=xen,keep root=/dev/xvda1``" as its command line,
+ and initrd.img as the second module.
+
ERST
DEF("dtb", HAS_ARG, QEMU_OPTION_dtb, \
SRST
``-fw_cfg [name=]name,file=file``
Add named fw\_cfg entry with contents from file file.
+ If the filename contains comma, you must double it (for instance,
+ "file=my,,file" to use file "my,file").
``-fw_cfg [name=]name,string=str``
Add named fw\_cfg entry with contents from string str.
+ If the string contains comma, you must double it (for instance,
+ "string=my,,string" to use file "my,string").
The terminating NUL character of the contents of str will not be
included as part of the fw\_cfg item data. To insert contents with
from a script.
ERST
-DEF("singlestep", 0, QEMU_OPTION_singlestep, \
- "-singlestep deprecated synonym for -accel tcg,one-insn-per-tb=on\n", QEMU_ARCH_ALL)
-SRST
-``-singlestep``
- This is a deprecated synonym for the TCG accelerator property
- ``one-insn-per-tb``.
-ERST
-
DEF("preconfig", 0, QEMU_OPTION_preconfig, \
"--preconfig pause QEMU before machine is initialized (experimental)\n",
QEMU_ARCH_ALL)
``-nodefaults`` option will disable all those default devices.
ERST
-#ifndef _WIN32
-DEF("chroot", HAS_ARG, QEMU_OPTION_chroot, \
- "-chroot dir chroot to dir just before starting the VM (deprecated)\n",
- QEMU_ARCH_ALL)
-#endif
-SRST
-``-chroot dir``
- Deprecated, use '-run-with chroot=...' instead.
- Immediately before starting guest execution, chroot to the specified
- directory. Especially useful in combination with -runas.
-ERST
-
#ifndef _WIN32
DEF("runas", HAS_ARG, QEMU_OPTION_runas, \
"-runas user change to user id user just before starting the VM\n" \
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("async-teardown", 0, QEMU_OPTION_asyncteardown,
- "-async-teardown enable asynchronous teardown\n",
- QEMU_ARCH_ALL)
-SRST
-``-async-teardown``
- This option is deprecated and should no longer be used. The new option
- ``-run-with async-teardown=on`` is a replacement.
-ERST
-#endif
#ifdef CONFIG_POSIX
DEF("run-with", HAS_ARG, QEMU_OPTION_run_with,
"-run-with [async-teardown=on|off][,chroot=dir]\n"
The ``share`` boolean option is on by default with memfd.
+ ``-object iommufd,id=id[,fd=fd]``
+ Creates an iommufd backend which allows control of DMA mapping
+ through the ``/dev/iommu`` device.
+
+ The ``id`` parameter is a unique ID which frontends (such as
+ vfio-pci of vdpa) will use to connect with the iommufd backend.
+
+ The ``fd`` parameter is an optional pre-opened file descriptor
+ resulting from ``/dev/iommu`` opening. Usually the iommufd is shared
+ across all subsystems, bringing the benefit of centralized
+ reference counting.
+
``-object rng-builtin,id=id``
Creates a random number generator backend which obtains entropy
from QEMU builtin functions. The ``id`` parameter is a unique ID