X-Git-Url: https://repo.jachan.dev/qemu.git/blobdiff_plain/97331287ed2c928af6b9f31728d29ef60c3b8cd8..d23ab92064dd40c668b55544b9b654591e8b963c:/qemu-options.hx diff --git a/qemu-options.hx b/qemu-options.hx index 83b54c3067..453f129949 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -118,8 +118,9 @@ ETEXI 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][,id=name][,aio=threads|native][,readonly=on|off]\n" + " [,cache=writethrough|writeback|none|unsafe][,format=f]\n" + " [,serial=s][,addr=A][,id=name][,aio=threads|native]\n" + " [,readonly=on|off]\n" " use 'file' as a drive image\n", QEMU_ARCH_ALL) STEXI @item -drive @var{option}[,@var{option}[,@var{option}[,...]]] @@ -148,7 +149,7 @@ These options have the same definition as they have in @option{-hdachs}. @item snapshot=@var{snapshot} @var{snapshot} is "on" or "off" and allows to enable snapshot for given drive (see @option{-snapshot}). @item cache=@var{cache} -@var{cache} is "none", "writeback", or "writethrough" and controls how the host cache is used to access block data. +@var{cache} is "none", "writeback", "unsafe", or "writethrough" and controls how the host cache is used to access block data. @item aio=@var{aio} @var{aio} is "threads", or "native" and selects between pthread based disk I/O and native Linux AIO. @item format=@var{format} @@ -169,8 +170,7 @@ the storage subsystem. Writeback caching will report data writes as completed as soon as the data is present in the host page cache. This is safe as long as you trust your host. 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. +corruption. 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 @@ -180,6 +180,13 @@ 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. +In case you don't care about data integrity over host failures, use +cache=unsafe. This option tells qemu that it never needs to write any data +to the disk but can instead keeps things in cache. If anything goes wrong, +like your host losing power, the disk storage getting disconnected accidently, +etc. you're image will most probably be rendered unusable. When using +the @option{-snapshot} option, unsafe caching is always used. + Instead of @option{-cdrom} you can use: @example qemu -drive file=file,index=2,media=cdrom @@ -464,20 +471,89 @@ DEF("device", HAS_ARG, QEMU_OPTION_device, " add device (based on driver)\n" " prop=value,... sets driver properties\n" " use -device ? to print all possible drivers\n" - " use -device driver,? to print all possible options\n" - " use -device driver,option=? to print a help for value\n", + " use -device driver,? to print all possible properties\n", QEMU_ARCH_ALL) STEXI -@item -device @var{driver}[,@var{option}[=@var{value}][,...]] +@item -device @var{driver}[,@var{prop}[=@var{value}][,...]] @findex -device -Add device @var{driver}. Depending on the device type, -@var{option} (with default or given @var{value}) may be useful. -To get a help on possible @var{driver}s, @var{option}s or @var{value}s, use -@code{-device ?}, -@code{-device @var{driver},?} or -@code{-device @var{driver},@var{option}=?}. +Add device @var{driver}. @var{prop}=@var{value} sets driver +properties. Valid properties depend on the driver. To get help on +possible drivers and properties, use @code{-device ?} and +@code{-device @var{driver},?}. ETEXI +DEFHEADING(File system options:) + +DEF("fsdev", HAS_ARG, QEMU_OPTION_fsdev, + "-fsdev local,id=id,path=path,security_model=[mapped|passthrough]\n", + QEMU_ARCH_ALL) + +STEXI + +The general form of a File system device option is: +@table @option + +@item -fsdev @var{fstype} ,id=@var{id} [,@var{options}] +@findex -fsdev +Fstype is one of: +@option{local}, +The specific Fstype will determine the applicable options. + +Options to each backend are described below. + +@item -fsdev local ,id=@var{id} ,path=@var{path} ,security_model=@var{security_model} + +Create a file-system-"device" for local-filesystem. + +@option{local} is only available on Linux. + +@option{path} specifies the path to be exported. @option{path} is required. + +@option{security_model} specifies the security model to be followed. +@option{security_model} is required. + +@end table +ETEXI + +DEFHEADING(Virtual File system pass-through options:) + +DEF("virtfs", HAS_ARG, QEMU_OPTION_virtfs, + "-virtfs local,path=path,mount_tag=tag,security_model=[mapped|passthrough]\n", + QEMU_ARCH_ALL) + +STEXI + +The general form of a Virtual File system pass-through option is: +@table @option + +@item -virtfs @var{fstype} [,@var{options}] +@findex -virtfs +Fstype is one of: +@option{local}, +The specific Fstype will determine the applicable options. + +Options to each backend are described below. + +@item -virtfs local ,path=@var{path} ,mount_tag=@var{mount_tag} ,security_model=@var{security_model} + +Create a Virtual file-system-pass through for local-filesystem. + +@option{local} is only available on Linux. + +@option{path} specifies the path to be exported. @option{path} is required. + +@option{security_model} specifies the security model to be followed. +@option{security_model} is required. + + +@option{mount_tag} specifies the tag with which the exported file is mounted. +@option{mount_tag} is required. + +@end table +ETEXI + +DEFHEADING() + DEF("name", HAS_ARG, QEMU_OPTION_name, "-name string1[,process=string2]\n" " set the name of the guest\n" @@ -755,6 +831,13 @@ empty, with a @code{deny} policy. Thus no one will be allowed to use the VNC server until the ACLs have been loaded. This can be achieved using the @code{acl} monitor command. +@item lossy + +Enable lossy compression methods (gradient, JPEG, ...). If this +option is set, VNC client may receive lossy framebuffer updates +depending on its encoding settings. Enabling this option can save +a lot of bandwidth at the expense of quality. + @end table ETEXI @@ -1191,7 +1274,7 @@ DEF("chardev", HAS_ARG, QEMU_OPTION_chardev, "-chardev serial,id=id,path=path[,mux=on|off]\n" #else "-chardev pty,id=id[,mux=on|off]\n" - "-chardev stdio,id=id[,mux=on|off]\n" + "-chardev stdio,id=id[,mux=on|off][,signal=on|off]\n" #endif #ifdef CONFIG_BRLAPI "-chardev braille,id=id[,mux=on|off]\n" @@ -1372,10 +1455,14 @@ not take any options. @option{pty} is not available on Windows hosts. -@item -chardev stdio ,id=@var{id} +@item -chardev stdio ,id=@var{id} [,signal=on|off] Connect to standard input and standard output of the qemu process. -@option{stdio} does not take any options. @option{stdio} is not available on -Windows hosts. + +@option{signal} controls if signals are enabled on the terminal, that includes +exiting QEMU with the key sequence @key{Control-c}. This option is enabled by +default, use @option{signal=off} to disable it. + +@option{stdio} is not available on Windows hosts. @item -chardev braille ,id=@var{id}