Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\s+@([[:alnum:]][[:alnum:]\-]*)({ <-- HERE })?\s*/ at /usr/share/texinfo/Texinfo/Parser.pm line 5481. Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\s+@([[:alnum:]][[:alnum:]\-]*)({ <-- HERE })?\s*(\@(c|comment)((\@|\s+).*)?)?/ at /usr/share/texinfo/Texinfo/Parser.pm line 5485. NEW LINE(_root::2.): @c %**start of header BEGIN LINE COMMAND c NEW LINE(_root::3.): @setfilename qemu-doc.info BEGIN LINE COMMAND setfilename SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @setfilename MISC END @setfilename NEW LINE(_root::4.): @include version.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included docs/version.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @set VERSION 2.12.0 BEGIN LINE COMMAND set NEW LINE(_root::5.): BEGIN LINE END LINE: (text_root) : contents(5) END EMPTY LINE NEW LINE(_root::6.): @documentlanguage en BEGIN LINE COMMAND documentlanguage END LINE: (misc_line_arg) : contents(2) <- @documentlanguage MISC END @documentlanguage NEW LINE(_root::7.): @documentencoding UTF-8 BEGIN LINE COMMAND documentencoding END LINE: (misc_line_arg) : contents(2) <- @documentencoding MISC END @documentencoding NEW LINE(_root::8.): BEGIN LINE END LINE: (text_root) : contents(8) END EMPTY LINE NEW LINE(_root::9.): @settitle QEMU version @value{VERSION} User Documentation BEGIN LINE COMMAND settitle COMMAND value SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @settitle MISC END @settitle NEW LINE(_root::10.): @exampleindent 0 BEGIN LINE COMMAND exampleindent END LINE: (misc_line_arg) : contents(2) <- @exampleindent MISC END @exampleindent MISC ARGS @exampleindent -> 0 , t: empty_spaces_after_command , -> 1 , t: , -> 2 , t: spaces_at_end , NEW LINE(_root::11.): @paragraphindent 0 BEGIN LINE COMMAND paragraphindent END LINE: (misc_line_arg) : contents(2) <- @paragraphindent MISC END @paragraphindent MISC ARGS @paragraphindent -> 0 , t: empty_spaces_after_command , -> 1 , t: , -> 2 , t: spaces_at_end , NEW LINE(_root::12.): @c %**end of header BEGIN LINE COMMAND c NEW LINE(_root::13.): BEGIN LINE END LINE: (text_root) : contents(13) END EMPTY LINE NEW LINE(_root::14.): @ifinfo BEGIN LINE COMMAND ifinfo CONDITIONAL @ifinfo format info: 1 NEW LINE(_root:ifinfo:15.): @direntry BEGIN LINE COMMAND direntry END LINE: (block_line_arg) : contents(1) <- @direntry MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted:ifinfo:16.): * QEMU: (qemu-doc). The QEMU Emulator User Documentation. BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU ENTRY : SEPARATOR: . MENU NODE . SEPARATOR: . END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifinfo:17.): @end direntry BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK direntry END COMMAND direntry CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root:ifinfo:18.): @end ifinfo BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK ifinfo END COMMAND ifinfo NEW LINE(_root::19.): BEGIN LINE END LINE: (text_root) : contents(15) END EMPTY LINE NEW LINE(_root::20.): @iftex BEGIN LINE COMMAND iftex CONDITIONAL @iftex format tex: 0 NEW LINE(_root::21.): @titlepage NEW LINE(_root::22.): @sp 7 NEW LINE(_root::23.): @center @titlefont{QEMU version @value{VERSION}} NEW LINE(_root::24.): @sp 1 NEW LINE(_root::25.): @center @titlefont{User Documentation} NEW LINE(_root::26.): @sp 3 NEW LINE(_root::27.): @end titlepage NEW LINE(_root::28.): @end iftex CLOSED conditional iftex NEW LINE(_root::29.): BEGIN LINE END LINE: (text_root) : contents(16) END EMPTY LINE NEW LINE(_root::30.): @ifnottex BEGIN LINE COMMAND ifnottex CONDITIONAL @ifnottex format tex: 1 NEW LINE(_root:ifnottex:31.): @node Top BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root:ifnottex:32.): @top BEGIN LINE COMMAND top END LINE: (misc_line_arg) : contents(1) <- @top MISC END @top NEW LINE(_root:ifnottex:33.): BEGIN LINE END LINE: @top : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root:ifnottex:34.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted:ifnottex:35.): * Introduction:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:36.): * QEMU PC System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:37.): * QEMU System emulator for non PC targets:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:38.): * QEMU Guest Agent:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:39.): * QEMU User space emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:40.): * Implementation notes:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:41.): * Deprecated features:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:42.): * License:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:43.): * Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted:ifnottex:44.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root:ifnottex:45.): @end ifnottex BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK ifnottex END COMMAND ifnottex NEW LINE(_root::46.): BEGIN LINE END LINE: @top : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::47.): @contents BEGIN LINE COMMAND contents NEW LINE(_root::48.): BEGIN LINE END LINE: @top : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::49.): @node Introduction BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::50.): @chapter Introduction BEGIN LINE COMMAND chapter END LINE: (misc_line_arg) : contents(2) <- @chapter MISC END @chapter NEW LINE(_root::51.): BEGIN LINE END LINE: @chapter : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::52.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::53.): * intro_features:: Features BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::54.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::55.): BEGIN LINE END LINE: @chapter : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::56.): @node intro_features BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::57.): @section Features BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::58.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::59.): QEMU is a FAST! processor emulator using dynamic translation to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::60.): achieve good emulation speed. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::61.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::62.): @cindex operating modes BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::63.): QEMU has two operating modes: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::64.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::65.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::66.): @cindex system emulation BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::67.): @item Full system emulation. In this mode, QEMU emulates a full system (for BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::68.): example a PC), including one or several processors and various BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::69.): peripherals. It can be used to launch different Operating Systems BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::70.): without rebooting the PC or to debug system code. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::71.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::72.): @cindex user mode emulation BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::73.): @item User mode emulation. In this mode, QEMU can launch BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::74.): processes compiled for one CPU on another CPU. It can be used to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::75.): launch the Wine Windows API emulator (@url{https://www.winehq.org}) or BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::76.): to ease cross-compilation and cross-debugging. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @item NEW LINE(_root::77.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::78.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::79.): BEGIN LINE END LINE: @section : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::80.): QEMU has the following features: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::81.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::82.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::83.): @item QEMU can run without a host kernel driver and yet gives acceptable BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::84.): performance. It uses dynamic translation to native code for reasonable speed, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::85.): with support for self-modifying code and precise exceptions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::86.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::87.): @item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X, BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::88.): Windows) and architectures. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::89.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::90.): @item It performs accurate software emulation of the FPU. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::91.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::92.): BEGIN LINE END LINE: @section : args(1) contents(12) <- (document_root) END EMPTY LINE NEW LINE(_root::93.): QEMU user mode emulation has the following features: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::94.): @itemize BEGIN LINE COMMAND itemize CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::95.): @item Generic Linux system call converter, including most ioctls. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::96.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::97.): @item clone() emulation using native CPU clone() to use Linux scheduler for threads. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::98.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::99.): @item Accurate signal handling by remapping host signals to target signals. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::100.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::101.): BEGIN LINE END LINE: @section : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::102.): QEMU full system emulation has the following features: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::103.): @itemize BEGIN LINE COMMAND itemize CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::104.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::105.): QEMU uses a full software MMU for maximum portability. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::106.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::107.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::108.): QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::109.): execute most of the guest code natively, while BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::110.): continuing to emulate the rest of the machine. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::111.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::112.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::113.): Various hardware devices can be emulated and in some cases, host BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::114.): devices (e.g. serial and parallel ports, USB, drives) can be used BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::115.): transparently by the guest Operating System. Host device passthrough BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::116.): can be used for talking to external physical peripherals (e.g. a BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::117.): webcam, modem or tape drive). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::118.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::119.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::120.): Symmetric multiprocessing (SMP) support. Currently, an in-kernel BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::121.): accelerator is required to use more than one host CPU for emulation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::122.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::123.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::124.): BEGIN LINE END LINE: @section : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::125.): BEGIN LINE END LINE: @section : args(1) contents(19) <- (document_root) END EMPTY LINE NEW LINE(_root::126.): @node QEMU PC System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::127.): @chapter QEMU PC System emulator BEGIN LINE COMMAND chapter END LINE: (misc_line_arg) : contents(2) <- @chapter MISC END @chapter NEW LINE(_root::128.): @cindex system emulation (PC) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::129.): BEGIN LINE END LINE: @chapter : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::130.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::131.): * pcsys_introduction:: Introduction BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::132.): * pcsys_quickstart:: Quick Start BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::133.): * sec_invocation:: Invocation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::134.): * pcsys_keys:: Keys in the graphical frontends BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::135.): * mux_keys:: Keys in the character backend multiplexer BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::136.): * pcsys_monitor:: QEMU Monitor BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::137.): * disk_images:: Disk Images BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::138.): * pcsys_network:: Network emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::139.): * pcsys_other_devs:: Other Devices BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::140.): * direct_linux_boot:: Direct Linux Boot BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::141.): * pcsys_usb:: USB emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::142.): * vnc_security:: VNC security BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::143.): * network_tls:: TLS setup for network services BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::144.): * gdb_usage:: GDB usage BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::145.): * pcsys_os_specific:: Target OS specific information BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::146.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::147.): BEGIN LINE END LINE: @chapter : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::148.): @node pcsys_introduction BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::149.): @section Introduction BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::150.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::151.): @c man begin DESCRIPTION BEGIN LINE COMMAND c NEW LINE(_root::152.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::153.): The QEMU PC System emulator simulates the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::154.): following peripherals: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::155.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::156.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::157.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::158.): i440FX host PCI bridge and PIIX3 PCI to ISA bridge BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::159.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::160.): Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::161.): extensions (hardware level, including all non standard modes). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::162.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::163.): PS/2 mouse and keyboard BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::164.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::165.): 2 PCI IDE interfaces with hard disk and CD-ROM support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::166.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::167.): Floppy disk BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::168.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::169.): PCI and ISA network adapters BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::170.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::171.): Serial ports BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::172.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::173.): IPMI BMC, either and internal or external one BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::174.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::175.): Creative SoundBlaster 16 sound card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::176.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::177.): ENSONIQ AudioPCI ES1370 sound card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::178.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::179.): Intel 82801AA AC97 Audio compatible sound card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::180.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::181.): Intel HD Audio Controller and HDA codec BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::182.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::183.): Adlib (OPL2) - Yamaha YM3812 compatible chip BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::184.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::185.): Gravis Ultrasound GF1 sound card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::186.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::187.): CS4231A compatible sound card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::188.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::189.): PCI UHCI, OHCI, EHCI or XHCI USB controller and a virtual USB-1.1 hub. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::190.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::191.): BEGIN LINE END LINE: @section : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::192.): SMP is supported with up to 255 CPUs. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::193.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::194.): QEMU uses the PC BIOS from the Seabios project and the Plex86/Bochs LGPL BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::195.): VGA BIOS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::196.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::197.): QEMU uses YM3812 emulation by Tatsuyuki Satoh. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::198.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::199.): QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/}) BEGIN LINE PARAGRAPH COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::200.): by Tibor "TS" Schütz. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::201.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::202.): Note that, by default, GUS shares IRQ(7) with parallel ports and so BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::203.): QEMU must be told to not have parallel ports to have working GUS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::204.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::205.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::206.): qemu-system-i386 dos.img -soundhw gus -parallel none BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::207.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::208.): BEGIN LINE END LINE: @section : args(1) contents(19) <- (document_root) END EMPTY LINE NEW LINE(_root::209.): Alternatively: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::210.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::211.): qemu-system-i386 dos.img -device gus,irq=5 BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::212.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::213.): BEGIN LINE END LINE: @section : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::214.): Or some other unclaimed IRQ. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::215.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::216.): CS4231A is the chip used in Windows Sound System and GUSMAX products BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::217.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::218.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::219.): BEGIN LINE END LINE: @section : args(1) contents(28) <- (document_root) END EMPTY LINE NEW LINE(_root::220.): @node pcsys_quickstart BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::221.): @section Quick Start BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::222.): @cindex quick start BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::223.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::224.): Download and uncompress the linux image (@file{linux.img}) and type: BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: : END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::225.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::226.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::227.): qemu-system-i386 linux.img BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::228.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::229.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::230.): Linux should boot and give you a prompt. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::231.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::232.): @node sec_invocation BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::233.): @section Invocation BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::234.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::235.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::236.): @c man begin SYNOPSIS BEGIN LINE COMMAND c NEW LINE(_root|preformatted::237.): @command{qemu-system-i386} address@hidden address@hidden BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::238.): @c man end BEGIN LINE COMMAND c NEW LINE(_root|preformatted::239.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::240.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::241.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::242.): @var{disk_image} is a raw hard disk image for IDE hard disk 0. Some BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::243.): targets do not need a disk image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::244.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::245.): @include qemu-options.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-options.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @subsection Standard options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::3.): @item -h BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::4.): @findex -h BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::5.): Display help and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::6.): @item -version BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::7.): @findex -version BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::8.): Display version information and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::9.): @item -machine address@hidden,address@hidden,...]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::10.): @findex -machine BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::11.): Select the emulated machine by @var{name}. Use @code{-machine help} to list BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::12.): available machines. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::13.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::14.): For architectures which aim to support live migration compatibility BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::15.): across releases, each release will introduce a new versioned machine BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::16.): type. For example, the 2.8.0 release introduced machine types BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::17.): ``pc-i440fx-2.8'' and ``pc-q35-2.8'' for the x86_64/i686 architectures. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::18.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::19.): To allow live migration of guests from QEMU version 2.8.0, to QEMU BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::20.): version 2.9.0, the 2.9.0 version must support the ``pc-i440fx-2.8'' BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::21.): and ``pc-q35-2.8'' machines too. To allow users live migrating VMs BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::22.): to skip multiple intermediate releases when upgrading, new releases BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::23.): of QEMU will support machine types from many previous versions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::24.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::25.): Supported machine properties are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::26.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::27.): @item address@hidden:@var{accels2}[:...]] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::28.): This is used to enable an accelerator. Depending on the target architecture, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::29.): kvm, xen, hax, hvf, whpx or tcg can be available. By default, tcg is used. If there is BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::30.): more than one accelerator specified, the next one is used if the previous one BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::31.): fails to initialize. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::32.): @item kernel_irqchip=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::33.): Controls in-kernel irqchip support for the chosen accelerator when available. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::34.): @item gfx_passthru=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::35.): Enables IGD GFX passthrough support for the chosen machine when available. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::36.): @item vmport=on|off|auto BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::37.): Enables emulation of VMWare IO port, for vmmouse etc. auto says to select the BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::38.): value based on accel. For accel=xen the default is off otherwise the default BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::39.): is on. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::40.): @item kvm_shadow_mem=size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::41.): Defines the size of the KVM shadow MMU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::42.): @item dump-guest-core=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::43.): Include guest memory in a core dump. The default is on. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::44.): @item mem-merge=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::45.): Enables or disables memory merge support. This feature, when supported by BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::46.): the host, de-duplicates identical memory pages among VMs instances BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::47.): (enabled by default). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::48.): @item aes-key-wrap=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::49.): Enables or disables AES key wrapping support on s390-ccw hosts. This feature BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::50.): controls whether AES wrapping keys will be created to allow BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::51.): execution of AES cryptographic functions. The default is on. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::52.): @item dea-key-wrap=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::53.): Enables or disables DEA key wrapping support on s390-ccw hosts. This feature BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::54.): controls whether DEA wrapping keys will be created to allow BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::55.): execution of DEA cryptographic functions. The default is on. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::56.): @item nvdimm=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::57.): Enables or disables NVDIMM support. The default is off. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::58.): @item s390-squash-mcss=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::59.): Enables or disables squashing subchannels into the default css. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::60.): The default is off. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::61.): NOTE: This property is deprecated and will be removed in future releases. BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::62.): The ``s390-squash-mcss=on`` property has been obsoleted by allowing the BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::63.): cssid to be chosen freely. Instead of squashing subchannels into the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::64.): default channel subsystem image for guests that do not support multiple BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::65.): channel subsystems, all devices can be put into the default channel BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::66.): subsystem image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::67.): @item enforce-config-section=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::68.): If @option{enforce-config-section} is set to @var{on}, force migration BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::69.): code to send configuration section even if the machine-type sets the BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::70.): @option{migration.send-configuration} property to @var{off}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::71.): NOTE: this parameter is deprecated. Please use @option{-global} BEGIN LINE SEPARATOR: : SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::72.): @address@hidden|off} instead. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::73.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::74.): Memory encryption object to use. The default is none. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::75.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::76.): @item -cpu @var{model} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::77.): @findex -cpu BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::78.): Select CPU model (@code{-cpu help} for list and additional feature selection) BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::79.): @item -accel @var{name}[,address@hidden,...]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::80.): @findex -accel BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::81.): This is used to enable an accelerator. Depending on the target architecture, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::82.): kvm, xen, hax, hvf, whpx or tcg can be available. By default, tcg is used. If there is BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::83.): more than one accelerator specified, the next one is used if the previous one BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::84.): fails to initialize. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::85.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::86.): @item thread=single|multi BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::87.): Controls number of TCG threads. When the TCG is multi-threaded there will be one BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::88.): thread per vCPU therefor taking advantage of additional host cores. The default BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::89.): is to enable multi-threading where both the back-end and front-ends support it and BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::90.): no incompatible TCG features have been enabled (e.g. icount/replay). BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::91.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::92.): @item -smp address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::93.): @findex -smp BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::94.): Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255 BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::95.): CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::96.): to 4. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::97.): For the PC target, the number of @var{cores} per socket, the number BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::98.): of @var{threads} per cores and the total number of @var{sockets} can be BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::99.): specified. Missing values will be computed. If any on the three values is BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::100.): given, the total number of CPUs @var{n} can be omitted. @var{maxcpus} BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::101.): specifies the maximum number of hotpluggable CPUs. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::102.): @item -numa node[,address@hidden,address@hidden@var{lastcpu}]][,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::103.): @itemx -numa node[,address@hidden,address@hidden@var{lastcpu}]][,address@hidden BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @itemx MISC END @itemx NEW LINE(_root::104.): @itemx -numa dist,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @itemx MISC END @itemx NEW LINE(_root::105.): @itemx -numa cpu,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @itemx MISC END @itemx NEW LINE(_root::106.): @findex -numa BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::107.): Define a NUMA node and assign RAM and VCPUs to it. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::108.): Set the NUMA distance from a source node to a destination node. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::109.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::110.): Legacy VCPU assignment uses @samp{cpus} option where BEGIN LINE PARAGRAPH COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::111.): @var{firstcpu} and @var{lastcpu} are CPU indexes. Each BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::112.): @samp{cpus} option represent a contiguous range of CPU indexes BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::113.): (or a single VCPU if @var{lastcpu} is omitted). A non-contiguous BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::114.): set of VCPUs can be represented by providing multiple @samp{cpus} BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::115.): options. If @samp{cpus} is omitted on all nodes, VCPUs are automatically BEGIN LINE SEPARATOR: . COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::116.): split between them. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(19) <- @table NEW LINE(_root::117.): BEGIN LINE END LINE: (paragraph) : contents(20) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::118.): For example, the following option assigns VCPUs 0, 1, 2 and 5 to BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::119.): a NUMA node: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::120.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::121.): -numa node,cpus=0-2,cpus=5 BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::122.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::123.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @subsection END EMPTY LINE NEW LINE(_root::124.): @samp{cpu} option is a new alternative to @samp{cpus} option BEGIN LINE COMMAND samp PARAGRAPH SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::125.): which uses @samp{socket-id|core-id|thread-id} properties to assign BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::126.): CPU objects to a @var{node} using topology layout properties of CPU. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::127.): The set of properties is machine specific, and depends on used BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::128.): machine type/@samp{smp} options. It could be queried with BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::129.): @samp{hotpluggable-cpus} monitor command. BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::130.): @samp{node-id} property specifies @var{node} to which CPU object BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::131.): will be assigned, it's required for @var{node} to be declared BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(23) <- @table NEW LINE(_root::132.): with @samp{node} option before it's used with @samp{cpu} option. BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(28) <- @table NEW LINE(_root::133.): BEGIN LINE END LINE: (paragraph) : contents(29) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::134.): For example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::135.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::136.): -M pc \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::137.): -smp 1,sockets=2,maxcpus=2 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::138.): -numa node,nodeid=0 -numa node,nodeid=1 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::139.): -numa cpu,node-id=0,socket-id=0 -numa cpu,node-id=1,socket-id=1 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::140.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::141.): BEGIN LINE END LINE: @table : args(1) contents(24) <- @subsection END EMPTY LINE NEW LINE(_root::142.): @samp{mem} assigns a given RAM amount to a node. @samp{memdev} BEGIN LINE COMMAND samp PARAGRAPH SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::143.): assigns RAM from a given memory backend device to a node. If BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::144.): @samp{mem} and @samp{memdev} are omitted in all nodes, RAM is BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::145.): split equally between them. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::146.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::147.): @samp{mem} and @samp{memdev} are mutually exclusive. Furthermore, BEGIN LINE COMMAND samp PARAGRAPH SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::148.): if one node uses @samp{memdev}, all of them have to use it. BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::149.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::150.): @var{source} and @var{destination} are NUMA node IDs. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::151.): @var{distance} is the NUMA distance from @var{source} to @var{destination}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::152.): The distance from a node to itself is always 10. If any pair of nodes is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::153.): given a distance, then all pairs must be given distances. Although, when BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::154.): distances are only given in one direction for each pair of nodes, then BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::155.): the distances in the opposite directions are assumed to be the same. If, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::156.): however, an asymmetrical pair of distances is given for even one node BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::157.): pair, then all node pairs must be provided distance values for both BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::158.): directions, even when they are symmetrical. When a node is unreachable BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::159.): from another node, set the pair's distance to 255. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::160.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::161.): Note that the address@hidden option doesn't allocate any of the BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::162.): specified resources, it just assigns existing resources to NUMA BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::163.): nodes. This means that one still has to use the @option{-m}, BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::164.): @option{-smp} options to allocate RAM and VCPUs respectively. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::165.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::166.): @item -add-fd address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::167.): @findex -add-fd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::168.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::169.): Add a file descriptor to an fd set. Valid options are: BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::170.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::171.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::172.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::173.): This option defines the file descriptor of which a duplicate is added to fd set. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::174.): The file descriptor cannot be stdin, stdout, or stderr. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::175.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::176.): This option defines the ID of the fd set to add the file descriptor to. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::177.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::178.): This option defines a free-form string that can be used to describe @var{fd}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::179.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::180.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::181.): You can open an image using pre-opened file descriptors from an fd set: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::182.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::183.): qemu-system-i386 BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::184.): -add-fd fd=3,set=2,opaque="rdwr:/path/to/file" BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::185.): -add-fd fd=4,set=2,opaque="rdonly:/path/to/file" BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::186.): -drive file=/dev/fdset/2,index=0,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::187.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::188.): @item -set @address@hidden@address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::189.): @findex -set BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::190.): Set parameter @var{arg} for item @var{id} of type @var{group} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::191.): @item -global @address@hidden@var{value} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::192.): @itemx -global address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @itemx MISC END @itemx NEW LINE(_root::193.): @findex -global BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::194.): Set default value of @var{driver}'s property @var{prop} to @var{value}, e.g.: BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::195.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::196.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::197.): qemu-system-i386 -global ide-hd.physical_block_size=4096 disk-image.img BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::198.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::199.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @subsection END EMPTY LINE NEW LINE(_root::200.): In particular, you can use this to set driver properties for devices which are BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::201.): created automatically by the machine model. To create a device which is not BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::202.): created automatically and set properties on it, use address@hidden BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::203.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::204.): -global @address@hidden@var{value} is shorthand for -global BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::205.): address@hidden,address@hidden,address@hidden The BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::206.): longhand syntax works even when @var{driver} contains a dot. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::207.): @item -boot address@hidden,address@hidden,menu=on|off][,address@hidden,address@hidden,address@hidden,strict=on|off] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::208.): @findex -boot BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::209.): Specify boot order @var{drives} as a string of drive letters. Valid BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::210.): drive letters depend on the target architecture. The x86 PC uses: a, b BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::211.): (floppy 1 and 2), c (first hard disk), d (first CD-ROM), n-p (Etherboot BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::212.): from network adapter 1-4), hard disk boot is the default. To apply a BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::213.): particular boot order only on the first startup, specify it via BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::214.): @option{once}. Note that the @option{order} or @option{once} parameter BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::215.): should not be used together with the @option{bootindex} property of BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::216.): devices, since the firmware implementations normally do not support both BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::217.): at the same time. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::218.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::219.): Interactive boot menus/prompts can be enabled via @option{menu=on} as far BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::220.): as firmware/BIOS supports them. The default is non-interactive boot. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::221.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::222.): A splash picture could be passed to bios, enabling user to show it as logo, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::223.): when option address@hidden is given and menu=on, If firmware/BIOS BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::224.): supports them. Currently Seabios for X86 system support it. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::225.): limitation: The splash file could be a jpeg file or a BMP file in 24 BPP BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::226.): format(true color). The resolution should be supported by the SVGA mode, so BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::227.): the recommended is 320x240, 640x480, 800x640. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::228.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::229.): A timeout could be passed to bios, guest will pause for @var{rb_timeout} ms BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::230.): when boot failed, then reboot. If @var{rb_timeout} is '-1', guest will not BEGIN LINE SEPARATOR: , SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::231.): reboot, qemu passes '-1' to bios by default. Currently Seabios for X86 BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::232.): system support it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::233.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::234.): Do strict boot via @option{strict=on} as far as firmware/BIOS BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::235.): supports it. This only effects when boot priority is changed by BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::236.): bootindex options. The default is non-strict boot. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::237.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::238.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::239.): # try to boot from network first, then from hard disk BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::240.): qemu-system-i386 -boot order=nc BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::241.): # boot from CD-ROM first, switch back to default order after reboot BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::242.): qemu-system-i386 -boot once=d BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::243.): # boot with a splash picture for 5 seconds. BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::244.): qemu-system-i386 -boot menu=on,splash=/root/boot.bmp,splash-time=5000 BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::245.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::246.): BEGIN LINE END LINE: @table : args(1) contents(25) <- @subsection END EMPTY LINE NEW LINE(_root::247.): Note: The legacy format '-boot @var{drives}' is still supported but its BEGIN LINE PARAGRAPH SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::248.): use is discouraged as it may be removed from future versions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::249.): @item -m address@hidden,slots=n,maxmem=size] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::250.): @findex -m BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::251.): Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::252.): Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::253.): megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem} BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::254.): could be used to set amount of hotpluggable memory slots and maximum amount of BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::255.): memory. Note that @var{maxmem} must be aligned to the page size. BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::256.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::257.): For example, the following command-line sets the guest startup RAM size to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::258.): 1GB, creates 3 slots to hotplug additional memory and sets the maximum BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::259.): memory the guest can reach to 4GB: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::260.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::261.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::262.): qemu-system-x86_64 -m 1G,slots=3,maxmem=4G BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::263.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::264.): BEGIN LINE END LINE: @table : args(1) contents(20) <- @subsection END EMPTY LINE NEW LINE(_root::265.): If @var{slots} and @var{maxmem} are not specified, memory hotplug won't BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::266.): be enabled and the guest startup RAM will never increase. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::267.): @item -mem-path @var{path} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::268.): @findex -mem-path BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::269.): Allocate guest RAM from a temporarily created file in @var{path}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::270.): @item -mem-prealloc BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::271.): @findex -mem-prealloc BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::272.): Preallocate memory when using -mem-path. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::273.): @item -k @var{language} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::274.): @findex -k BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::275.): Use keyboard layout @var{language} (for example @code{fr} for BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::276.): French). This option is only needed where it is not easy to get raw PC BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::277.): keycodes (e.g. on Macs, with some X11 servers or with a VNC or curses BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::278.): display). You don't normally need to use it on PC/Linux or PC/Windows BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::279.): hosts. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::280.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::281.): The available layouts are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::282.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::283.): ar de-ch es fo fr-ca hu ja mk no pt-br sv BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::284.): da en-gb et fr fr-ch is lt nl pl ru th BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::285.): de en-us fi fr-be hr it lv nl-be pt sl tr BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::286.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::287.): BEGIN LINE END LINE: @table : args(1) contents(22) <- @subsection END EMPTY LINE NEW LINE(_root::288.): The default is @code{en-us}. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::289.): @item -audio-help BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::290.): @findex -audio-help BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::291.): Will show the audio subsystem help: list of drivers, tunable BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::292.): parameters. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::293.): @item -soundhw @var{card1}[,@var{card2},...] or -soundhw all BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::294.): @findex -soundhw BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::295.): Enable audio and selected sound hardware. Use 'help' to print all BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::296.): available sound hardware. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::297.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::298.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::299.): qemu-system-i386 -soundhw sb16,adlib disk.img BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::300.): qemu-system-i386 -soundhw es1370 disk.img BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::301.): qemu-system-i386 -soundhw ac97 disk.img BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::302.): qemu-system-i386 -soundhw hda disk.img BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::303.): qemu-system-i386 -soundhw all disk.img BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::304.): qemu-system-i386 -soundhw help BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::305.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::306.): BEGIN LINE END LINE: @table : args(1) contents(23) <- @subsection END EMPTY LINE NEW LINE(_root::307.): Note that Linux's i810_audio OSS kernel (for AC97) module might BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::308.): require manually specifying clocking. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::309.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::310.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::311.): modprobe i810_audio clocking=48000 BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::312.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::313.): @item -balloon virtio[,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::314.): @findex -balloon BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::315.): Enable virtio balloon device, optionally with PCI address @var{addr}. This BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::316.): option is deprecated, use @option{--device virtio-balloon} instead. BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::317.): @item -device @var{driver}[,@address@hidden,...]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::318.): @findex -device BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::319.): Add device @var{driver}. @address@hidden sets driver BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::320.): properties. Valid properties depend on the driver. To get help on BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::321.): possible drivers and properties, use @code{-device help} and BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::322.): @code{-device @var{driver},help}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::323.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::324.): Some drivers are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::325.): @item -device ipmi-bmc-sim,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::326.): BEGIN LINE END LINE: @table : args(1) contents(22) <- @subsection END EMPTY LINE NEW LINE(_root::327.): Add an IPMI BMC. This is a simulation of a hardware management BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::328.): interface processor that normally sits on a system. It provides BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::329.): a watchdog and the ability to reset and power control the system. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::330.): You need to connect this to an IPMI interface to make it useful BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::331.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::332.): The IPMI slave address to use for the BMC. The default is 0x20. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::333.): This address is the BMC's address on the I2C network of management BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::334.): controllers. If you don't know what this means, it is safe to ignore BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::335.): it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::336.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::337.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::338.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::339.): The BMC to connect to, one of ipmi-bmc-sim or ipmi-bmc-extern above. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::340.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::341.): Define slave address to use for the BMC. The default is 0x20. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::342.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::343.): file containing raw Sensor Data Records (SDR) data. The default is none. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::344.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::345.): size of a Field Replaceable Unit (FRU) area. The default is 1024. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::346.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::347.): file containing raw Field Replaceable Unit (FRU) inventory data. The default is none. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::348.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::349.): BEGIN LINE END LINE: @table : args(1) contents(28) <- @subsection END EMPTY LINE NEW LINE(_root::350.): @item -device ipmi-bmc-extern,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::351.): BEGIN LINE END LINE: @table : args(1) contents(23) <- @subsection END EMPTY LINE NEW LINE(_root::352.): Add a connection to an external IPMI BMC simulator. Instead of BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::353.): locally emulating the BMC like the above item, instead connect BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::354.): to an external entity that provides the IPMI services. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::355.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::356.): A connection is made to an external BMC simulator. If you do this, it BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::357.): is strongly recommended that you use the "reconnect=" chardev option BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::358.): to reconnect to the simulator if the connection is lost. Note that if BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::359.): this is not used carefully, it can be a security issue, as the BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::360.): interface has the ability to send resets, NMIs, and power off the VM. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::361.): It's best if QEMU makes a connection to an external simulator running BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::362.): on a secure port on localhost, so neither the simulator nor QEMU is BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::363.): exposed to any outside network. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::364.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::365.): See the "lanserv/README.vm" file in the OpenIPMI library for more BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::366.): details on the external interface. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::367.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::368.): @item -device isa-ipmi-kcs,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::369.): BEGIN LINE END LINE: @table : args(1) contents(24) <- @subsection END EMPTY LINE NEW LINE(_root::370.): Add a KCS IPMI interafce on the ISA bus. This also adds a BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::371.): corresponding ACPI and SMBIOS entries, if appropriate. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::372.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::373.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::374.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::375.): The BMC to connect to, one of ipmi-bmc-sim or ipmi-bmc-extern above. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::376.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::377.): Define the I/O address of the interface. The default is 0xca0 for KCS. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::378.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::379.): Define the interrupt to use. The default is 5. To disable interrupts, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::380.): set this to 0. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::381.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::382.): BEGIN LINE END LINE: @table : args(1) contents(28) <- @subsection END EMPTY LINE NEW LINE(_root::383.): @item -device isa-ipmi-bt,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::384.): BEGIN LINE END LINE: @table : args(1) contents(25) <- @subsection END EMPTY LINE NEW LINE(_root::385.): Like the KCS interface, but defines a BT interface. The default port is BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::386.): 0xe4 and the default interrupt is 5. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::387.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::388.): @item -name @var{name} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::389.): @findex -name BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::390.): Sets the @var{name} of the guest. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::391.): This name will be displayed in the SDL window caption. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::392.): The @var{name} will also be used for the VNC server. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::393.): Also optionally set the top visible process name in Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::394.): Naming of individual threads can also be enabled on Linux to aid debugging. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::395.): @item -uuid @var{uuid} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::396.): @findex -uuid BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::397.): Set system UUID. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::398.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::399.): @subsection Block device options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::400.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::401.): @item -fda @var{file} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::402.): @itemx -fdb @var{file} BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::403.): @findex -fda BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::404.): @findex -fdb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::405.): Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::406.): @item -hda @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::407.): @itemx -hdb @var{file} BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::408.): @itemx -hdc @var{file} BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::409.): @itemx -hdd @var{file} BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::410.): @findex -hda BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::411.): @findex -hdb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::412.): @findex -hdc BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::413.): @findex -hdd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::414.): Use @var{file} as hard disk 0, 1, 2 or 3 image (@pxref{disk_images}). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::415.): @item -cdrom @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::416.): @findex -cdrom BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::417.): Use @var{file} as CD-ROM image (you cannot use @option{-hdc} and BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::418.): @option{-cdrom} at the same time). You can use the host CD-ROM by BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::419.): using @file{/dev/cdrom} as filename (@pxref{host_drives}). BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::420.): @item -blockdev @var{option}[,@var{option}[,@var{option}[,...]]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::421.): @findex -blockdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::422.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @subsection END EMPTY LINE NEW LINE(_root::423.): Define a new block driver node. Some of the options apply to all block drivers, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::424.): other options are only accepted for a specific block driver. See below for a BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::425.): list of generic options and options for the most common block drivers. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::426.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::427.): Options that expect a reference to another node (e.g. @code{file}) can be BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::428.): given in two ways. Either you specify the node name of an already existing node BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::429.): (address@hidden), or you define a new node inline, adding options BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::430.): for the referenced node after a dot (address@hidden,file.aio=native). BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::431.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::432.): A block driver node created with @option{-blockdev} can be used for a guest BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::433.): device by specifying its node name for the @code{drive} property in a BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::434.): @option{-device} argument that defines a block device. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::435.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::436.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::437.): @item Valid options for any block driver node: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::438.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::439.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::440.): @item driver BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::441.): Specifies the block driver to use for the given node. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::442.): @item node-name BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::443.): This defines the name of the block driver node by which it will be referenced BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::444.): later. The name must be unique, i.e. it must not match the name of a different BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::445.): block driver node, or (if you use @option{-drive} as well) the ID of a drive. BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::446.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::447.): If no node name is specified, it is automatically generated. The generated node BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::448.): name is not intended to be predictable and changes between QEMU invocations. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::449.): For the top level, an explicit node name must be specified. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::450.): @item read-only BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::451.): Open the node read-only. Guest write attempts will fail. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::452.): @item cache.direct BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::453.): The host page cache can be avoided with @option{cache.direct=on}. This will BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::454.): attempt to do disk IO directly to the guest's memory. QEMU may still perform an BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::455.): internal copy of the data. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::456.): @item cache.no-flush BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::457.): In case you don't care about data integrity over host failures, you can use BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::458.): @option{cache.no-flush=on}. This option tells QEMU that it never needs to write BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::459.): any data to the disk but can instead keep things in cache. If anything goes BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::460.): wrong, like your host losing power, the disk storage getting disconnected BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::461.): accidentally, etc. your image will most probably be rendered unusable. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::462.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::463.): @var{discard} is one of "ignore" (or "off") or "unmap" (or "on") and controls BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::464.): whether @code{discard} (also known as @code{trim} or @code{unmap}) requests are BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::465.): ignored or passed to the filesystem. Some machine types may not support BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::466.): discard requests. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::467.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::468.): @var{detect-zeroes} is "off", "on" or "unmap" and enables the automatic BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::469.): conversion of plain zero writes by the OS to driver specific optimized BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::470.): zero write commands. You may even choose "unmap" if @var{discard} is set BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::471.): to "unmap" to allow a zero write to be converted to an @code{unmap} operation. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::472.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::473.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::474.): @item Driver-specific options for @code{file} BEGIN LINE COMMAND item ITEM_LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::475.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::476.): This is the protocol-level block driver for accessing regular files. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::477.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::478.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::479.): @item filename BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::480.): The path to the image file in the local filesystem BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::481.): @item aio BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::482.): Specifies the AIO backend (threads/native, default: threads) BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::483.): @item locking BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::484.): Specifies whether the image file is protected with Linux OFD / POSIX locks. The BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::485.): default is to use the Linux Open File Descriptor API if available, otherwise no BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::486.): lock is applied. (auto/on/off, default: auto) BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::487.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::488.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::489.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::490.): -blockdev driver=file,node-name=disk,filename=disk.img BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::491.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::492.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @table END EMPTY LINE NEW LINE(_root::493.): @item Driver-specific options for @code{raw} BEGIN LINE COMMAND item ITEM_LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::494.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::495.): This is the image format block driver for raw images. It is usually BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::496.): stacked on top of a protocol level block driver such as @code{file}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::497.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::498.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::499.): @item file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::500.): Reference to or definition of the data source block driver node BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::501.): (e.g. a @code{file} driver node) BEGIN LINE SEPARATOR: . SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::502.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::503.): Example 1: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::504.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::505.): -blockdev driver=file,node-name=disk_file,filename=disk.img BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::506.): -blockdev driver=raw,node-name=disk,file=disk_file BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::507.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::508.): Example 2: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::509.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::510.): -blockdev driver=raw,node-name=disk,file.driver=file,file.filename=disk.img BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::511.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::512.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @table END EMPTY LINE NEW LINE(_root::513.): @item Driver-specific options for @code{qcow2} BEGIN LINE COMMAND item ITEM_LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::514.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::515.): This is the image format block driver for qcow2 images. It is usually BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::516.): stacked on top of a protocol level block driver such as @code{file}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::517.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::518.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::519.): @item file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::520.): Reference to or definition of the data source block driver node BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::521.): (e.g. a @code{file} driver node) BEGIN LINE SEPARATOR: . SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::522.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::523.): @item backing BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::524.): Reference to or definition of the backing file block device (default is taken BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::525.): from the image file). It is allowed to pass @code{null} here in order to disable BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::526.): the default backing file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::527.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::528.): @item lazy-refcounts BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::529.): Whether to enable the lazy refcounts feature (on/off; default is taken from the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::530.): image file) BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::531.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::532.): @item cache-size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::533.): The maximum total size of the L2 table and refcount block caches in bytes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::534.): (default: 1048576 bytes or 8 clusters, whichever is larger) BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::535.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::536.): @item l2-cache-size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::537.): The maximum size of the L2 table cache in bytes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::538.): (default: 4/5 of the total cache size) BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::539.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::540.): @item refcount-cache-size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::541.): The maximum size of the refcount block cache in bytes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::542.): (default: 1/5 of the total cache size) BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::543.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::544.): @item cache-clean-interval BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::545.): Clean unused entries in the L2 and refcount caches. The interval is in seconds. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::546.): The default value is 0 and it disables this feature. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::547.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::548.): @item pass-discard-request BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::549.): Whether discard requests to the qcow2 device should be forwarded to the data BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::550.): source (on/off; default: on if discard=unmap is specified, off otherwise) BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::551.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::552.): @item pass-discard-snapshot BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::553.): Whether discard requests for the data source should be issued when a snapshot BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::554.): operation (e.g. deleting a snapshot) frees clusters in the qcow2 file (on/off; BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::555.): default: on) BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::556.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::557.): @item pass-discard-other BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::558.): Whether discard requests for the data source should be issued on other BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::559.): occasions where a cluster gets freed (on/off; default: off) BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::560.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::561.): @item overlap-check BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::562.): Which overlap checks to perform for writes to the image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::563.): (none/constant/cached/all; default: cached). For details or finer BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::564.): granularity control refer to the QAPI documentation of @code{blockdev-add}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::565.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::566.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @table END EMPTY LINE NEW LINE(_root::567.): Example 1: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::568.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::569.): -blockdev driver=file,node-name=my_file,filename=/tmp/disk.qcow2 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::570.): -blockdev driver=qcow2,node-name=hda,file=my_file,overlap-check=none,cache-size=16777216 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::571.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::572.): Example 2: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::573.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::574.): -blockdev driver=qcow2,node-name=disk,file.driver=http,file.filename=http://example.com/image.qcow2 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::575.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::576.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @table END EMPTY LINE NEW LINE(_root::577.): @item Driver-specific options for other drivers BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::578.): Please refer to the QAPI documentation of the @code{blockdev-add} QMP command. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::579.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::580.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::581.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::582.): @item -drive @var{option}[,@var{option}[,@var{option}[,...]]] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::583.): @findex -drive BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::584.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::585.): Define a new drive. This includes creating a block driver node (the backend) as BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::586.): well as a guest device, and is mostly a shortcut for defining the corresponding BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::587.): @option{-blockdev} and @option{-device} options. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::588.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::589.): @option{-drive} accepts all options that are accepted by @option{-blockdev}. In BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::590.): addition, it knows the following options: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::591.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::592.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::593.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::594.): This option defines which disk image (@pxref{disk_images}) to use with BEGIN LINE PARAGRAPH COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::595.): this drive. If the filename contains comma, you must double it BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::596.): (for instance, "file=my,,file" to use file "my,file"). BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::597.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::598.): Special files such as iSCSI devices can be specified using protocol BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::599.): specific URLs. See the section for "Device URL Syntax" for more information. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::600.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::601.): This option defines on which type on interface the drive is connected. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::602.): Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio, none. BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::603.): @item address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::604.): These options define where is connected the drive by defining the bus number and BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::605.): the unit id. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::606.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::607.): This option defines where is connected the drive by using an index in the list BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::608.): of available connectors of a given interface type. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::609.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::610.): This option defines the type of the media: disk or cdrom. BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::611.): @item address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::612.): Force disk physical geometry and the optional BIOS translation (trans=none or BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::613.): lba). These parameters are deprecated, use the corresponding parameters BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::614.): of @code{-device} instead. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::615.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::616.): @var{snapshot} is "on" or "off" and controls snapshot mode for the given drive BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::617.): (see @option{-snapshot}). BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::618.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::619.): @var{cache} is "none", "writeback", "unsafe", "directsync" or "writethrough" BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::620.): and controls how the host cache is used to access block data. This is a BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::621.): shortcut that sets the @option{cache.direct} and @option{cache.no-flush} BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::622.): options (as in @option{-blockdev}), and additionally @option{cache.writeback}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::623.): which provides a default for the @option{write-cache} option of block guest BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::624.): devices (as in @option{-device}). The modes correspond to the following BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(19) <- @table NEW LINE(_root::625.): settings: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::626.): BEGIN LINE END LINE: (paragraph) : contents(21) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::627.): @c Our texi2pod.pl script doesn't support @multitable, so fall back to using BEGIN LINE COMMAND c NEW LINE(_root::628.): @c plain ASCII art (well, UTF-8 art really). This looks okay both in the manpage BEGIN LINE COMMAND c NEW LINE(_root::629.): @c and the HTML output. BEGIN LINE COMMAND c NEW LINE(_root::630.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::631.): @ │ cache.writeback cache.direct cache.no-flush BEGIN LINE COMMAND SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::632.): ─────────────┼───────────────────────────────────────────────── BEGIN LINE END LINE: (preformatted) : contents(3) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::633.): writeback │ on off off BEGIN LINE END LINE: (preformatted) : contents(4) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::634.): none │ on on off BEGIN LINE END LINE: (preformatted) : contents(5) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::635.): writethrough │ off off off BEGIN LINE END LINE: (preformatted) : contents(6) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::636.): directsync │ off on off BEGIN LINE END LINE: (preformatted) : contents(7) <- @example Wide character in print at /usr/share/texinfo/Texinfo/Parser.pm line 3590. NEW LINE(_root|preformatted::637.): unsafe │ on off on BEGIN LINE END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::638.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::639.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @table END EMPTY LINE NEW LINE(_root::640.): The default mode is @option{cache=writeback}. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::641.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::642.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::643.): @var{aio} is "threads", or "native" and selects between pthread based disk I/O and native Linux AIO. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::644.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::645.): Specify which disk @var{format} will be used rather than detecting BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::646.): the format. Can be used to specify format=raw to avoid interpreting BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::647.): an untrusted format header. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::648.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::649.): This option specifies the serial number to assign to the device. This BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::650.): parameter is deprecated, use the corresponding parameter of @code{-device} BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::651.): instead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::652.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::653.): Specify the controller's PCI address (if=virtio only). This parameter is BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::654.): deprecated, use the corresponding parameter of @code{-device} instead. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::655.): @item address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::656.): Specify which @var{action} to take on write and read errors. Valid actions are: BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::657.): "ignore" (ignore the error and try to continue), "stop" (pause QEMU), BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::658.): "report" (report the error to the guest), "enospc" (pause QEMU only if the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::659.): host disk is full; report the error to the guest otherwise). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::660.): The default setting is @option{werror=enospc} and @option{rerror=report}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::661.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::662.): @var{copy-on-read} is "on" or "off" and enables whether to copy read backing BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::663.): file sectors into the image file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::664.): @item address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::665.): Specify bandwidth throttling limits in bytes per second, either for all request BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::666.): types or for reads or writes only. Small values can lead to timeouts or hangs BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::667.): inside the guest. A safe minimum for disks is 2 MB/s. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::668.): @item address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::669.): Specify bursts in bytes per second, either for all request types or for reads BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::670.): or writes only. Bursts allow the guest I/O to spike above the limit BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::671.): temporarily. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::672.): @item address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::673.): Specify request rate limits in requests per second, either for all request BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::674.): types or for reads or writes only. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::675.): @item address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::676.): Specify bursts in requests per second, either for all request types or for reads BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::677.): or writes only. Bursts allow the guest I/O to spike above the limit BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::678.): temporarily. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::679.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::680.): Let every @var{is} bytes of a request count as a new request for iops BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::681.): throttling purposes. Use this option to prevent guests from circumventing iops BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::682.): limits by sending fewer but larger requests. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::683.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::684.): Join a throttling quota group with given name @var{g}. All drives that are BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::685.): members of the same group are accounted for together. Use this option to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::686.): prevent guests from circumventing throttling limits by using many small disks BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::687.): instead of a single larger disk. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::688.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::689.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @subsection END EMPTY LINE NEW LINE(_root::690.): By default, the @option{cache.writeback=on} mode is used. It will report data BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::691.): writes as completed as soon as the data is present in the host page cache. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::692.): This is safe as long as your guest OS makes sure to correctly flush disk caches BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::693.): where needed. If your guest OS does not handle volatile disk write caches BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::694.): correctly and your host crashes or loses power, then the guest may experience BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::695.): data corruption. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::696.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::697.): For such guests, you should consider using @option{cache.writeback=off}. This BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::698.): means that the host page cache will be used to read and write data, but write BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::699.): notification will be sent to the guest only after QEMU has made sure to flush BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::700.): each write to the disk. Be aware that this has a major impact on performance. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::701.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::702.): When using the @option{-snapshot} option, unsafe caching is always used. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::703.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::704.): Copy-on-read avoids accessing the same backing file sectors repeatedly and is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::705.): useful when the backing file is over a slow network. By default copy-on-read BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::706.): is off. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::707.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::708.): Instead of @option{-cdrom} you can use: BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::709.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::710.): qemu-system-i386 -drive file=file,index=2,media=cdrom BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::711.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::712.): BEGIN LINE END LINE: @table : args(1) contents(25) <- @subsection END EMPTY LINE NEW LINE(_root::713.): Instead of @option{-hda}, @option{-hdb}, @option{-hdc}, @option{-hdd}, you can BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::714.): use: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::715.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::716.): qemu-system-i386 -drive file=file,index=0,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::717.): qemu-system-i386 -drive file=file,index=1,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::718.): qemu-system-i386 -drive file=file,index=2,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::719.): qemu-system-i386 -drive file=file,index=3,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::720.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::721.): BEGIN LINE END LINE: @table : args(1) contents(28) <- @subsection END EMPTY LINE NEW LINE(_root::722.): You can open an image using pre-opened file descriptors from an fd set: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::723.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::724.): qemu-system-i386 BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::725.): -add-fd fd=3,set=2,opaque="rdwr:/path/to/file" BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::726.): -add-fd fd=4,set=2,opaque="rdonly:/path/to/file" BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::727.): -drive file=/dev/fdset/2,index=0,media=disk BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::728.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::729.): BEGIN LINE END LINE: @table : args(1) contents(31) <- @subsection END EMPTY LINE NEW LINE(_root::730.): You can connect a CDROM to the slave of ide0: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::731.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::732.): qemu-system-i386 -drive file=file,if=ide,index=1,media=cdrom BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::733.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::734.): BEGIN LINE END LINE: @table : args(1) contents(34) <- @subsection END EMPTY LINE NEW LINE(_root::735.): If you don't specify the "file=" argument, you define an empty drive: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::736.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::737.): qemu-system-i386 -drive if=ide,index=1,media=cdrom BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::738.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::739.): BEGIN LINE END LINE: @table : args(1) contents(37) <- @subsection END EMPTY LINE NEW LINE(_root::740.): Instead of @option{-fda}, @option{-fdb}, you can use: BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::741.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::742.): qemu-system-i386 -drive file=file,index=0,if=floppy BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::743.): qemu-system-i386 -drive file=file,index=1,if=floppy BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::744.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::745.): BEGIN LINE END LINE: @table : args(1) contents(40) <- @subsection END EMPTY LINE NEW LINE(_root::746.): By default, @var{interface} is "ide" and @var{index} is automatically BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::747.): incremented: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::748.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::749.): qemu-system-i386 -drive file=a -drive file=b" BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::750.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::751.): is interpreted like: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::752.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::753.): qemu-system-i386 -hda a -hdb b BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::754.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::755.): @item -mtdblock @var{file} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::756.): @findex -mtdblock BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::757.): Use @var{file} as on-board Flash memory image. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::758.): @item -sd @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::759.): @findex -sd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::760.): Use @var{file} as SecureDigital card image. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::761.): @item -pflash @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::762.): @findex -pflash BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::763.): Use @var{file} as a parallel flash image. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::764.): @item -snapshot BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::765.): @findex -snapshot BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::766.): Write to temporary files instead of disk image files. In this case, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::767.): the raw disk image you use is not written back. You can however force BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::768.): the write back by pressing @key{C-a s} (@pxref{disk_images}). BEGIN LINE COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::769.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::770.): @item -fsdev @var{fsdriver},address@hidden,address@hidden,address@hidden,address@hidden,readonly][,address@hidden|address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(20) <- @item MISC END @item NEW LINE(_root::771.): @findex -fsdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::772.): Define a new file system device. Valid options are: BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::773.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::774.): @item @var{fsdriver} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::775.): This option specifies the fs driver backend to use. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::776.): Currently "local", "handle" and "proxy" file system drivers are supported. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::777.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::778.): Specifies identifier for this device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::779.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::780.): Specifies the export path for the file system device. Files under BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::781.): this path will be available to the 9p client on the guest. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::782.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::783.): Specifies the security model to be used for this export path. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::784.): Supported security models are "passthrough", "mapped-xattr", "mapped-file" and "none". BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::785.): In "passthrough" security model, files are stored using the same BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::786.): credentials as they are created on the guest. This requires QEMU BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::787.): to run as root. In "mapped-xattr" security model, some of the file BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::788.): attributes like uid, gid, mode bits and link target are stored as BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::789.): file attributes. For "mapped-file" these attributes are stored in the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::790.): hidden .virtfs_metadata directory. Directories exported by this security model cannot BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::791.): interact with other unix tools. "none" security model is same as BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::792.): passthrough except the sever won't report failures if it fails to BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::793.): set file attributes like ownership. Security model is mandatory BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::794.): only for local fsdriver. Other fsdrivers (like handle, proxy) don't take BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::795.): security model as a parameter. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::796.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::797.): This is an optional argument. The only supported value is "immediate". BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::798.): This means that host page cache will be used to read and write data but BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::799.): write notification will be sent to the guest only when the data has been BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::800.): reported as written by the storage subsystem. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::801.): @item readonly BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::802.): Enables exporting 9p share as a readonly mount for guests. By default BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::803.): read-write access is given. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::804.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::805.): Enables proxy filesystem driver to use passed socket file for communicating BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::806.): with virtfs-proxy-helper BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::807.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::808.): Enables proxy filesystem driver to use passed socket descriptor for BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::809.): communicating with virtfs-proxy-helper. Usually a helper like libvirt BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::810.): will create socketpair and pass one of the fds as sock_fd BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::811.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::812.): Specifies the default mode for newly created files on the host. Works only BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::813.): with security models "mapped-xattr" and "mapped-file". BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::814.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::815.): Specifies the default mode for newly created directories on the host. Works BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::816.): only with security models "mapped-xattr" and "mapped-file". BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::817.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::818.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::819.): -fsdev option is used along with -device driver "virtio-9p-pci". BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::820.): @item -device virtio-9p-pci,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::821.): Options for virtio-9p-pci driver are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::822.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::823.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::824.): Specifies the id value specified along with -fsdev option BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::825.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::826.): Specifies the tag name to be used by the guest to mount this export point BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::827.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::828.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::829.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @subsection END EMPTY LINE NEW LINE(_root::830.): @item -virtfs @var{fsdriver}[,address@hidden,address@hidden,address@hidden,address@hidden,readonly][,address@hidden|address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(20) <- @item MISC END @item NEW LINE(_root::831.): @findex -virtfs BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::832.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::833.): The general form of a Virtual File system pass-through options are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::834.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::835.): @item @var{fsdriver} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::836.): This option specifies the fs driver backend to use. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::837.): Currently "local", "handle" and "proxy" file system drivers are supported. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::838.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::839.): Specifies identifier for this device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::840.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::841.): Specifies the export path for the file system device. Files under BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::842.): this path will be available to the 9p client on the guest. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::843.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::844.): Specifies the security model to be used for this export path. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::845.): Supported security models are "passthrough", "mapped-xattr", "mapped-file" and "none". BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::846.): In "passthrough" security model, files are stored using the same BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::847.): credentials as they are created on the guest. This requires QEMU BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::848.): to run as root. In "mapped-xattr" security model, some of the file BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::849.): attributes like uid, gid, mode bits and link target are stored as BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::850.): file attributes. For "mapped-file" these attributes are stored in the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::851.): hidden .virtfs_metadata directory. Directories exported by this security model cannot BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::852.): interact with other unix tools. "none" security model is same as BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::853.): passthrough except the sever won't report failures if it fails to BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::854.): set file attributes like ownership. Security model is mandatory only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::855.): for local fsdriver. Other fsdrivers (like handle, proxy) don't take security BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::856.): model as a parameter. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::857.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::858.): This is an optional argument. The only supported value is "immediate". BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::859.): This means that host page cache will be used to read and write data but BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::860.): write notification will be sent to the guest only when the data has been BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::861.): reported as written by the storage subsystem. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::862.): @item readonly BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::863.): Enables exporting 9p share as a readonly mount for guests. By default BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::864.): read-write access is given. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::865.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::866.): Enables proxy filesystem driver to use passed socket file for BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::867.): communicating with virtfs-proxy-helper. Usually a helper like libvirt BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::868.): will create socketpair and pass one of the fds as sock_fd BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::869.): @item sock_fd BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::870.): Enables proxy filesystem driver to use passed 'sock_fd' as the socket BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::871.): descriptor for interfacing with virtfs-proxy-helper BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::872.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::873.): Specifies the default mode for newly created files on the host. Works only BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::874.): with security models "mapped-xattr" and "mapped-file". BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::875.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::876.): Specifies the default mode for newly created directories on the host. Works BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::877.): only with security models "mapped-xattr" and "mapped-file". BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::878.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::879.): @item -virtfs_synth BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::880.): @findex -virtfs_synth BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::881.): Create synthetic file system image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::882.): @item -iscsi BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::883.): @findex -iscsi BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::884.): Configure iSCSI session parameters. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::885.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::886.): @subsection USB options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::887.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::888.): @item -usb BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::889.): @findex -usb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::890.): Enable the USB driver (if it is not used by default yet). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::891.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::892.): @item -usbdevice @var{devname} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::893.): @findex -usbdevice BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::894.): Add the USB device @var{devname}. Note that this option is deprecated, BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::895.): please use @code{-device usb-...} instead. @xref{usb_devices}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND xref SEPARATOR: { OPENED @xref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @xref SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::896.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::897.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::898.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::899.): @item mouse BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::900.): Virtual Mouse. This will override the PS/2 mouse emulation when activated. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::901.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::902.): @item tablet BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::903.): Pointer device that uses absolute coordinates (like a touchscreen). This BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::904.): means QEMU is able to report the mouse position without having to grab the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::905.): mouse. Also overrides the PS/2 mouse emulation when activated. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::906.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::907.): @item braille BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::908.): Braille device. This will use BrlAPI to display the braille output on a real BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::909.): or fake device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::910.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::911.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::912.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::913.): @subsection Display options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::914.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::915.): @item -display @var{type} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::916.): @findex -display BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::917.): Select type of display to use. This option is a replacement for the BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::918.): old style -sdl/-curses/... options. Valid values for @var{type} are BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::919.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::920.): @item sdl BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::921.): Display video output via SDL (usually in a separate graphics BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::922.): window; see the SDL documentation for other possibilities). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::923.): @item curses BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::924.): Display video output via curses. For graphics device models which BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::925.): support a text mode, QEMU can display this output using a BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::926.): curses/ncurses interface. Nothing is displayed when the graphics BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::927.): device is in graphical mode or if the graphics device does not support BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::928.): a text mode. Generally only the VGA device models support text mode. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::929.): @item none BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::930.): Do not display video output. The guest will still see an emulated BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::931.): graphics card, but its output will not be displayed to the QEMU BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::932.): user. This option differs from the -nographic option in that it BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::933.): only affects what is done with video output; -nographic also changes BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::934.): the destination of the serial and parallel port data. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::935.): @item gtk BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::936.): Display video output in a GTK window. This interface provides drop-down BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::937.): menus and other UI elements to configure and control the VM during BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::938.): runtime. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::939.): @item vnc BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::940.): Start a VNC server on display BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::941.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::942.): @item -nographic BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::943.): @findex -nographic BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::944.): Normally, if QEMU is compiled with graphical window support, it displays BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::945.): output such as guest graphics, guest console, and the QEMU monitor in a BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::946.): window. With this option, you can totally disable graphical output so BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::947.): that QEMU is a simple command line application. The emulated serial port BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::948.): is redirected on the console and muxed with the monitor (unless BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::949.): redirected elsewhere explicitly). Therefore, you can still use QEMU to BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::950.): debug a Linux kernel with a serial console. Use @key{C-a h} for help on BEGIN LINE SEPARATOR: . COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::951.): switching between the console and monitor. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::952.): @item -curses BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::953.): @findex -curses BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::954.): Normally, if QEMU is compiled with graphical window support, it displays BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::955.): output such as guest graphics, guest console, and the QEMU monitor in a BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::956.): window. With this option, QEMU can display the VGA output when in text BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::957.): mode using a curses/ncurses interface. Nothing is displayed in graphical BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::958.): mode. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::959.): @item -no-frame BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::960.): @findex -no-frame BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::961.): Do not use decorations for SDL windows and start them using the whole BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::962.): available screen space. This makes the using QEMU in a dedicated desktop BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::963.): workspace more convenient. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::964.): @item -alt-grab BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::965.): @findex -alt-grab BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::966.): Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt). Note that this also BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::967.): affects the special keys (for fullscreen, monitor-mode switching, etc). BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::968.): @item -ctrl-grab BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::969.): @findex -ctrl-grab BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::970.): Use Right-Ctrl to grab mouse (instead of Ctrl-Alt). Note that this also BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::971.): affects the special keys (for fullscreen, monitor-mode switching, etc). BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::972.): @item -no-quit BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::973.): @findex -no-quit BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::974.): Disable SDL window close capability. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::975.): @item -sdl BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::976.): @findex -sdl BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::977.): Enable SDL. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::978.): @item -spice @var{option}[,@var{option}[,...]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::979.): @findex -spice BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::980.): Enable the spice remote desktop protocol. Valid options are BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::981.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::982.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::983.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::984.): @item port= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::985.): Set the TCP port spice is listening on for plaintext channels. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::986.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::987.): @item addr= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::988.): Set the IP address spice is listening on. Default is any address. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::989.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::990.): @item ipv4 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::991.): @itemx ipv6 BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::992.): @itemx unix BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::993.): Force using the specified IP version. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::994.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::995.): @item password= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::996.): Set the password you need to authenticate. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::997.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::998.): @item sasl BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::999.): Require that the client use SASL to authenticate with the spice. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1000.): The exact choice of authentication method used is controlled from the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1001.): system / user's SASL configuration file for the 'qemu' service. This BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1002.): is typically found in /etc/sasl2/qemu.conf. If running QEMU as an BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1003.): unprivileged user, an environment variable SASL_CONF_PATH can be used BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1004.): to make it search alternate locations for the service config. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1005.): While some SASL auth methods can also provide data encryption (eg GSSAPI), BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1006.): it is recommended that SASL always be combined with the 'tls' and BEGIN LINE END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1007.): 'x509' settings to enable use of SSL and server certificates. This BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1008.): ensures a data encryption preventing compromise of authentication BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1009.): credentials. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1010.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1011.): @item disable-ticketing BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1012.): Allow client connects without authentication. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1013.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1014.): @item disable-copy-paste BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1015.): Disable copy paste between the client and the guest. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1016.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1017.): @item disable-agent-file-xfer BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1018.): Disable spice-vdagent based file-xfer between the client and the guest. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1019.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1020.): @item tls-port= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1021.): Set the TCP port spice is listening on for encrypted channels. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1022.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1023.): @item x509-dir= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1024.): Set the x509 file directory. Expects same filenames as -vnc $display,x509=$dir BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1025.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1026.): @item x509-key-file= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1027.): @itemx x509-key-password= BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1028.): @itemx x509-cert-file= BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1029.): @itemx x509-cacert-file= BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1030.): @itemx x509-dh-key-file= BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1031.): The x509 file names can also be configured individually. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1032.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1033.): @item tls-ciphers= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1034.): Specify which ciphers to use. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1035.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1036.): @item tls-channel=[main|display|cursor|inputs|record|playback] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1037.): @itemx plaintext-channel=[main|display|cursor|inputs|record|playback] BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1038.): Force specific channel to be used with or without TLS encryption. The BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1039.): options can be specified multiple times to configure multiple BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1040.): channels. The special name "default" can be used to set the default BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1041.): mode. For channels which are not explicitly forced into one mode the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1042.): spice client is allowed to pick tls/plaintext as he pleases. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1043.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1044.): @item image-compression=[auto_glz|auto_lz|quic|glz|lz|off] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1045.): Configure image compression (lossless). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1046.): Default is auto_glz. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1047.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1048.): @item jpeg-wan-compression=[auto|never|always] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1049.): @itemx zlib-glz-wan-compression=[auto|never|always] BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::1050.): Configure wan image compression (lossy for slow links). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1051.): Default is auto. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1052.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1053.): @item streaming-video=[off|all|filter] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1054.): Configure video stream detection. Default is off. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1055.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1056.): @item agent-mouse=[on|off] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1057.): Enable/disable passing mouse events via vdagent. Default is on. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1058.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1059.): @item playback-compression=[on|off] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1060.): Enable/disable audio stream compression (using celt 0.5.1). Default is on. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1061.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1062.): @item seamless-migration=[on|off] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1063.): Enable/disable spice seamless migration. Default is off. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1064.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1065.): @item gl=[on|off] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1066.): Enable/disable OpenGL context. Default is off. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1067.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1068.): @item rendernode= BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1069.): DRM render node for OpenGL rendering. If not specified, it will pick BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1070.): the first available. (Since 2.9) BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1071.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1072.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1073.): @item -portrait BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1074.): @findex -portrait BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1075.): Rotate graphical output 90 deg left (only PXA LCD). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1076.): @item -rotate @var{deg} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1077.): @findex -rotate BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1078.): Rotate graphical output some deg left (only PXA LCD). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1079.): @item -vga @var{type} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1080.): @findex -vga BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1081.): Select type of VGA card to emulate. Valid values for @var{type} are BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1082.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1083.): @item cirrus BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1084.): Cirrus Logic GD5446 Video card. All Windows versions starting from BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1085.): Windows 95 should recognize and use this graphic card. For optimal BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1086.): performances, use 16 bit color depth in the guest and the host OS. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1087.): (This card was the default before QEMU 2.2) BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1088.): @item std BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1089.): Standard VGA card with Bochs VBE extensions. If your guest OS BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1090.): supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1091.): to use high resolution modes (>= 1280x1024x16) then you should use BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1092.): this option. (This card is the default since QEMU 2.2) BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1093.): @item vmware BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1094.): VMWare SVGA-II compatible adapter. Use it if you have sufficiently BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1095.): recent XFree86/XOrg server or Windows guest with a driver for this BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1096.): card. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1097.): @item qxl BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1098.): QXL paravirtual graphic card. It is VGA compatible (including VESA BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1099.): 2.0 VBE support). Works best with qxl guest drivers installed though. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1100.): Recommended choice when using the spice protocol. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1101.): @item tcx BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1102.): (sun4m only) Sun TCX framebuffer. This is the default framebuffer for BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1103.): sun4m machines and offers both 8-bit and 24-bit colour depths at a BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1104.): fixed resolution of 1024x768. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1105.): @item cg3 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1106.): (sun4m only) Sun cgthree framebuffer. This is a simple 8-bit framebuffer BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1107.): for sun4m machines available in both 1024x768 (OpenBIOS) and 1152x900 (OBP) BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1108.): resolutions aimed at people wishing to run older Solaris versions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1109.): @item virtio BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1110.): Virtio VGA card. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1111.): @item none BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1112.): Disable VGA card. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1113.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::1114.): @item -full-screen BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1115.): @findex -full-screen BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1116.): Start in full screen. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1117.): @item -g @address@hidden@var{depth}] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1118.): @findex -g BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1119.): Set the initial graphical resolution and depth (PPC, SPARC only). BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1120.): @item -vnc @var{display}[,@var{option}[,@var{option}[,...]]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1121.): @findex -vnc BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1122.): Normally, if QEMU is compiled with graphical window support, it displays BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1123.): output such as guest graphics, guest console, and the QEMU monitor in a BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1124.): window. With this option, you can have QEMU listen on VNC display BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1125.): @var{display} and redirect the VGA display over the VNC session. It is BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1126.): very useful to enable the usb tablet device when using this option BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1127.): (option @option{-device usb-tablet}). When using the VNC display, you BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1128.): must use the @option{-k} parameter to set the keyboard layout if you are BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1129.): not using en-us. Valid syntax for the @var{display} is BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1130.): BEGIN LINE END LINE: (paragraph) : contents(16) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1131.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1132.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1133.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1134.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::1135.): With this option, QEMU will try next available VNC @var{display}s, until the BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1136.): number @var{L}, if the origianlly defined "-vnc @var{display}" is not BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1137.): available, e.g. port address@hidden is already used by another BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1138.): application. By default, to=0. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1139.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1140.): @item @var{host}:@var{d} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::1141.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::1142.): TCP connections will only be allowed from @var{host} on display @var{d}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1143.): By convention the TCP port is address@hidden Optionally, @var{host} can BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1144.): be omitted in which case the server will accept connections from any host. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1145.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1146.): @item unix:@var{path} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1147.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::1148.): Connections will be allowed over UNIX domain sockets where @var{path} is the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1149.): location of a unix socket to listen for connections on. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1150.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1151.): @item none BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1152.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::1153.): VNC is initialized but not started. The monitor @code{change} command BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1154.): can be used to later start the VNC server. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1155.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1156.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1157.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @subsection END EMPTY LINE NEW LINE(_root::1158.): Following the @var{display} value there may be one or more @var{option} flags BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1159.): separated by commas. Valid options are BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1160.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1161.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1162.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1163.): @item reverse BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1164.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::1165.): Connect to a listening VNC client via a ``reverse'' connection. The BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1166.): client is specified by the @var{display}. For reverse network BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1167.): connections (@var{host}:@var{d},@code{reverse}), the @var{d} argument BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1168.): is a TCP port number, not a display number. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1169.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1170.): @item websocket BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1171.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::1172.): Opens an additional TCP listening port dedicated to VNC Websocket connections. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1173.): If a bare @var{websocket} option is given, the Websocket port is BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1174.): address@hidden An alternative port can be specified with the BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1175.): syntax @address@hidden BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1176.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1177.): If @var{host} is specified connections will only be allowed from this host. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1178.): It is possible to control the websocket listen address independently, using BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1179.): the syntax @address@hidden:@var{port}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1180.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1181.): If no TLS credentials are provided, the websocket connection runs in BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1182.): unencrypted mode. If TLS credentials are provided, the websocket connection BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1183.): requires encrypted client connections. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1184.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1185.): @item password BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1186.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::1187.): Require that password based authentication is used for client connections. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1188.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1189.): The password must be set separately using the @code{set_password} command in BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1190.): the @ref{pcsys_monitor}. The syntax to change your password is: BEGIN LINE COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1191.): @code{set_password } where could be either BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1192.): "vnc" or "spice". BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1193.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1194.): If you would like to change password expiration, you should use BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1195.): @code{expire_password } where expiration time could BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1196.): be one of the following options: now, never, +seconds or UNIX time of BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1197.): expiration, e.g. +60 to make password expire in 60 seconds, or 1335196800 BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1198.): to make password expire on "Mon Apr 23 12:00:00 EDT 2012" (UNIX time for this BEGIN LINE SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1199.): date and time). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1200.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1201.): You can also use keywords "now" or "never" for the expiration time to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1202.): allow password to expire immediately or never expire. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1203.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1204.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1205.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::1206.): Provides the ID of a set of TLS credentials to use to secure the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1207.): VNC server. They will apply to both the normal VNC server socket BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1208.): and the websocket socket (if enabled). Setting TLS credentials BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1209.): will cause the VNC server socket to enable the VeNCrypt auth BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1210.): mechanism. The credentials should have been previously created BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1211.): using the @option{-object tls-creds} argument. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1212.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1213.): The @option{tls-creds} parameter obsoletes the @option{tls}, BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1214.): @option{x509}, and @option{x509verify} options, and as such BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1215.): it is not permitted to set both new and old type options at BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1216.): the same time. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1217.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1218.): @item tls BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1219.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @table END EMPTY LINE NEW LINE(_root::1220.): Require that client use TLS when communicating with the VNC server. This BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1221.): uses anonymous TLS credentials so is susceptible to a man-in-the-middle BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1222.): attack. It is recommended that this option be combined with either the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1223.): @option{x509} or @option{x509verify} options. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1224.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1225.): This option is now deprecated in favor of using the @option{tls-creds} BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1226.): argument. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1227.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1228.): @item address@hidden/path/to/certificate/dir} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1229.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @table END EMPTY LINE NEW LINE(_root::1230.): Valid if @option{tls} is specified. Require that x509 credentials are used BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1231.): for negotiating the TLS session. The server will send its x509 certificate BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1232.): to the client. It is recommended that a password be set on the VNC server BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1233.): to provide authentication of the client when this is used. The path following BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1234.): this option specifies where the x509 certificates are to be loaded from. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1235.): See the @ref{vnc_security} section for details on generating certificates. BEGIN LINE COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1236.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1237.): This option is now deprecated in favour of using the @option{tls-creds} BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1238.): argument. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1239.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1240.): @item address@hidden/path/to/certificate/dir} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1241.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @table END EMPTY LINE NEW LINE(_root::1242.): Valid if @option{tls} is specified. Require that x509 credentials are used BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1243.): for negotiating the TLS session. The server will send its x509 certificate BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1244.): to the client, and request that the client send its own x509 certificate. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1245.): The server will validate the client's certificate against the CA certificate, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1246.): and reject clients when validation fails. If the certificate authority is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1247.): trusted, this is a sufficient authentication mechanism. You may still wish BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1248.): to set a password on the VNC server as a second authentication layer. The BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1249.): path following this option specifies where the x509 certificates are to BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1250.): be loaded from. See the @ref{vnc_security} section for details on generating BEGIN LINE SEPARATOR: . COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1251.): certificates. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1252.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1253.): This option is now deprecated in favour of using the @option{tls-creds} BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1254.): argument. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1255.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1256.): @item sasl BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1257.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @table END EMPTY LINE NEW LINE(_root::1258.): Require that the client use SASL to authenticate with the VNC server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1259.): The exact choice of authentication method used is controlled from the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1260.): system / user's SASL configuration file for the 'qemu' service. This BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1261.): is typically found in /etc/sasl2/qemu.conf. If running QEMU as an BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1262.): unprivileged user, an environment variable SASL_CONF_PATH can be used BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1263.): to make it search alternate locations for the service config. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1264.): While some SASL auth methods can also provide data encryption (eg GSSAPI), BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1265.): it is recommended that SASL always be combined with the 'tls' and BEGIN LINE END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1266.): 'x509' settings to enable use of SSL and server certificates. This BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1267.): ensures a data encryption preventing compromise of authentication BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1268.): credentials. See the @ref{vnc_security} section for details on using BEGIN LINE SEPARATOR: . COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1269.): SASL authentication. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1270.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1271.): @item acl BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1272.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @table END EMPTY LINE NEW LINE(_root::1273.): Turn on access control lists for checking of the x509 client certificate BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1274.): and SASL party. For x509 certs, the ACL check is made against the BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1275.): certificate's distinguished name. This is something that looks like BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1276.): @code{C=GB,O=ACME,L=Boston,CN=bob}. For SASL party, the ACL check is BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1277.): made against the username, which depending on the SASL plugin, may BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1278.): include a realm component, eg @code{bob} or @code{bob@@EXAMPLE.COM}. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND @ SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1279.): When the @option{acl} flag is set, the initial access list will be BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1280.): empty, with a @code{deny} policy. Thus no one will be allowed to BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::1281.): use the VNC server until the ACLs have been loaded. This can be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::1282.): achieved using the @code{acl} monitor command. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(21) <- @table NEW LINE(_root::1283.): BEGIN LINE END LINE: (paragraph) : contents(22) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1284.): @item lossy BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1285.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @table END EMPTY LINE NEW LINE(_root::1286.): Enable lossy compression methods (gradient, JPEG, ...). If this BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1287.): option is set, VNC client may receive lossy framebuffer updates BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1288.): depending on its encoding settings. Enabling this option can save BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1289.): a lot of bandwidth at the expense of quality. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1290.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1291.): @item non-adaptive BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1292.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @table END EMPTY LINE NEW LINE(_root::1293.): Disable adaptive encodings. Adaptive encodings are enabled by default. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1294.): An adaptive encoding will try to detect frequently updated screen regions, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1295.): and send updates in these regions using a lossy encoding (like JPEG). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1296.): This can be really helpful to save bandwidth when playing videos. Disabling BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1297.): adaptive encodings restores the original static behavior of encodings BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1298.): like Tight. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1299.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1300.): @item share=[allow-exclusive|force-shared|ignore] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1301.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @table END EMPTY LINE NEW LINE(_root::1302.): Set display sharing policy. 'allow-exclusive' allows clients to ask BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1303.): for exclusive access. As suggested by the rfb spec this is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1304.): implemented by dropping other connections. Connecting multiple BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1305.): clients in parallel requires all clients asking for a shared session BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1306.): (vncviewer: -shared switch). This is the default. 'force-shared' BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1307.): disables exclusive client access. Useful for shared desktop sessions, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1308.): where you don't want someone forgetting specify -shared disconnect BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1309.): everybody else. 'ignore' completely ignores the shared flag and BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1310.): allows everybody connect unconditionally. Doesn't conform to the rfb BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1311.): spec but is traditional QEMU behavior. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1312.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1313.): @item key-delay-ms BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1314.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @table END EMPTY LINE NEW LINE(_root::1315.): Set keyboard delay, for key down and key up events, in milliseconds. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1316.): Default is 10. Keyboards are low-bandwidth devices, so this slowdown BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1317.): can help the device and guest to keep up and not lose events in case BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1318.): events are arriving in bulk. Possible causes for the latter are flaky BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1319.): network connections, or scripts for automated testing. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1320.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1321.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1322.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1323.): @subsection i386 target only BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1324.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1325.): @item -win2k-hack BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1326.): @findex -win2k-hack BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1327.): Use it when installing Windows 2000 to avoid a disk full bug. After BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1328.): Windows 2000 is installed, you no longer need this option (this option BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1329.): slows down the IDE transfers). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1330.): @item -no-fd-bootchk BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1331.): @findex -no-fd-bootchk BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1332.): Disable boot signature checking for floppy disks in BIOS. May BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1333.): be needed to boot from old floppy disks. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1334.): @item -no-acpi BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1335.): @findex -no-acpi BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1336.): Disable ACPI (Advanced Configuration and Power Interface) support. Use BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1337.): it if your guest OS complains about ACPI problems (PC target machine BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1338.): only). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1339.): @item -no-hpet BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1340.): @findex -no-hpet BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1341.): Disable HPET support. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1342.): @item -acpitable address@hidden,address@hidden,address@hidden,address@hidden,address@hidden [,address@hidden,address@hidden,address@hidden:@var{file2}]...] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(20) <- @item MISC END @item NEW LINE(_root::1343.): @findex -acpitable BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1344.): Add ACPI table with specified header fields and context from specified files. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1345.): For file=, take whole ACPI table from the specified files, including all BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1346.): ACPI headers (possible overridden by other options). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1347.): For data=, only data BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1348.): portion of the table is used, all header information is specified in the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1349.): command line. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1350.): If a SLIC table is supplied to QEMU, then the SLIC's oem_id and oem_table_id BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1351.): fields will override the same in the RSDT and the FADT (a.k.a. FACP), in order BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1352.): to ensure the field matches required by the Microsoft SLIC spec and the ACPI BEGIN LINE END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1353.): spec. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1354.): @item -smbios address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1355.): @findex -smbios BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1356.): Load SMBIOS entry from binary file. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1357.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1358.): @item -smbios type=0[,address@hidden,address@hidden,address@hidden,address@hidden,uefi=on|off] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::1359.): Specify SMBIOS type 0 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1360.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1361.): @item -smbios type=1[,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::1362.): Specify SMBIOS type 1 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1363.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1364.): @item -smbios type=2[,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::1365.): Specify SMBIOS type 2 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1366.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1367.): @item -smbios type=3[,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1368.): Specify SMBIOS type 3 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1369.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1370.): @item -smbios type=4[,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(14) <- @item MISC END @item NEW LINE(_root::1371.): Specify SMBIOS type 4 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1372.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1373.): @item -smbios type=17[,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::1374.): Specify SMBIOS type 17 fields BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1375.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::1376.): @subsection Network options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1377.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1378.): @item -nic [tap|bridge|user|l2tpv3|vde|netmap|vhost-user|socket][,...][,mac=macaddr][,model=mn] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1379.): @findex -nic BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1380.): This option is a shortcut for configuring both the on-board (default) guest BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1381.): NIC hardware and the host network backend in one go. The host backend options BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1382.): are the same as with the corresponding @option{-netdev} options below. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1383.): The guest NIC model can be set with @address@hidden BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1384.): Use @option{model=help} to list the available device types. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1385.): The hardware MAC address can be set with @address@hidden BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1386.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1387.): The following two example do exactly the same, to show how @option{-nic} can BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1388.): be used to shorten the command line length (note that the e1000 is the default BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1389.): on i386, so the @option{model=e1000} parameter could even be omitted here, too): BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1390.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1391.): qemu-system-i386 -netdev user,id=n1,ipv6=off -device e1000,netdev=n1,mac=52:54:98:76:54:32 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1392.): qemu-system-i386 -nic user,ipv6=off,model=e1000,mac=52:54:98:76:54:32 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1393.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1394.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::1395.): @item -nic none BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1396.): Indicate that no network devices should be configured. It is used to override BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1397.): the default configuration (default NIC with ``user'' host network backend) BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1398.): which is activated if no other networking options are provided. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1399.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1400.): @item -netdev user,address@hidden,@var{option}][,@var{option}][,...] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1401.): @findex -netdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1402.): Configure user mode host network backend which requires no administrator BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1403.): privilege to run. Valid options are: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1404.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1405.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1406.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1407.): Assign symbolic name for use in monitor commands. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1408.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1409.): @item ipv4=on|off and ipv6=on|off BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1410.): Specify that either IPv4 or IPv6 must be enabled. If neither is specified BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1411.): both protocols are enabled. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1412.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1413.): @item address@hidden/@var{mask}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::1414.): Set IP network address the guest will see. Optionally specify the netmask, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1415.): either in the form a.b.c.d or as number of valid top-most bits. Default is BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1416.): 10.0.2.0/24. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1417.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1418.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1419.): Specify the guest-visible address of the host. Default is the 2nd IP in the BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1420.): guest network, i.e. x.x.x.2. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1421.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1422.): @item address@hidden/@var{int}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::1423.): Set IPv6 network address the guest will see (default is fec0::/64). The BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1424.): network prefix is given in the usual hexadecimal IPv6 address BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1425.): notation. The prefix size is optional, and is given as the number of BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1426.): valid top-most bits (default is 64). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1427.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1428.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1429.): Specify the guest-visible IPv6 address of the host. Default is the 2nd IPv6 in BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1430.): the guest network, i.e. xxxx::2. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1431.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1432.): @item restrict=on|off BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1433.): If this option is enabled, the guest will be isolated, i.e. it will not be BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1434.): able to contact the host and no guest IP packets will be routed over the host BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1435.): to the outside. This option does not affect any explicitly set forwarding rules. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1436.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1437.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1438.): Specifies the client hostname reported by the built-in DHCP server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1439.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1440.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1441.): Specify the first of the 16 IPs the built-in DHCP server can assign. Default BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1442.): is the 15th to 31st IP in the guest network, i.e. x.x.x.15 to x.x.x.31. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1443.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1444.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1445.): Specify the guest-visible address of the virtual nameserver. The address must BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1446.): be different from the host address. Default is the 3rd IP in the guest network, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1447.): i.e. x.x.x.3. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1448.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1449.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1450.): Specify the guest-visible address of the IPv6 virtual nameserver. The address BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1451.): must be different from the host address. Default is the 3rd IP in the guest BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1452.): network, i.e. xxxx::3. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1453.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1454.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1455.): Provides an entry for the domain-search list sent by the built-in BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1456.): DHCP server. More than one domain suffix can be transmitted by specifying BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1457.): this option multiple times. If supported, this will cause the guest to BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1458.): automatically try to append the given domain suffix(es) in case a domain name BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1459.): can not be resolved. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1460.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1461.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1462.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1463.): qemu-system-i386 -nic user,dnssearch=mgmt.example.org,dnssearch=example.org BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1464.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1465.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @table END EMPTY LINE NEW LINE(_root::1466.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1467.): When using the user mode network stack, activate a built-in TFTP BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1468.): server. The files in @var{dir} will be exposed as the root of a TFTP server. BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1469.): The TFTP client on the guest must be configured in binary mode (use the command BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1470.): @code{bin} of the Unix TFTP client). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1471.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1472.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1473.): When using the user mode network stack, broadcast @var{file} as the BOOTP BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1474.): filename. In conjunction with @option{tftp}, this can be used to network boot BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1475.): a guest from a local directory. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1476.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1477.): Example (using pxelinux): BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1478.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1479.): qemu-system-i386 -hda linux.img -boot n -device e1000,netdev=n1 \ BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1480.): -netdev user,id=n1,tftp=/path/to/tftp/files,bootfile=/pxelinux.0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1481.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1482.): BEGIN LINE END LINE: @table : args(1) contents(20) <- @table END EMPTY LINE NEW LINE(_root::1483.): @item address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::1484.): When using the user mode network stack, activate a built-in SMB BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1485.): server so that Windows OSes can access to the host files in @address@hidden BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1486.): transparently. The IP address of the SMB server can be set to @var{addr}. By BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1487.): default the 4th IP in the guest network is used, i.e. x.x.x.4. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1488.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1489.): In the guest Windows OS, the line: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1490.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1491.): 10.0.2.4 smbserver BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1492.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1493.): must be added in the file @file{C:\WINDOWS\LMHOSTS} (for windows 9x/Me) BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1494.): or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS} (Windows NT/2000). BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1495.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1496.): Then @address@hidden can be accessed in @file{\\smbserver\qemu}. BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @file COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1497.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1498.): Note that a SAMBA server must be installed on the host OS. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1499.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1500.): @item hostfwd=[tcp|udp]:address@hidden:@address@hidden:@var{guestport} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::1501.): Redirect incoming TCP or UDP connections to the host port @var{hostport} to BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1502.): the guest IP address @var{guestaddr} on guest port @var{guestport}. If BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1503.): @var{guestaddr} is not specified, its value is x.x.x.15 (default first address BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1504.): given by the built-in DHCP server). By specifying @var{hostaddr}, the rule can BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1505.): be bound to a specific host interface. If no connection type is set, TCP is BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1506.): used. This option can be given multiple times. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1507.): BEGIN LINE END LINE: (paragraph) : contents(16) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1508.): For example, to redirect host X11 connection from screen 1 to guest BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1509.): screen 0, use the following: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1510.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1511.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1512.): # on the host BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1513.): qemu-system-i386 -nic user,hostfwd=tcp:127.0.0.1:6001-:6000 BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1514.): # this host xterm should open in the guest X11 server BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1515.): xterm -display :1 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1516.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1517.): BEGIN LINE END LINE: @table : args(1) contents(23) <- @table END EMPTY LINE NEW LINE(_root::1518.): To redirect telnet connections from host port 5555 to telnet port on BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1519.): the guest, use the following: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1520.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1521.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1522.): # on the host BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1523.): qemu-system-i386 -nic user,hostfwd=tcp::5555-:23 BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1524.): telnet localhost 5555 BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1525.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1526.): BEGIN LINE END LINE: @table : args(1) contents(27) <- @table END EMPTY LINE NEW LINE(_root::1527.): Then when you use on the host @code{telnet localhost 5555}, you BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1528.): connect to the guest telnet server. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1529.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1530.): @item guestfwd=[tcp]:@var{server}:@address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::1531.): @itemx guestfwd=[tcp]:@var{server}:@address@hidden:command} BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @itemx MISC END @itemx NEW LINE(_root::1532.): Forward guest TCP connections to the IP address @var{server} on port @var{port} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1533.): to the character device @var{dev} or to a program executed by @var{cmd:command} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1534.): which gets spawned for each connection. This option can be given multiple times. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1535.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1536.): You can either use a chardev directly and have that one used throughout QEMU's BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1537.): lifetime, like in the following example: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1538.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1539.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1540.): # open 10.10.1.1:4321 on bootup, connect 10.0.2.100:1234 to it whenever BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1541.): # the guest accesses it BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1542.): qemu-system-i386 -nic user,guestfwd=tcp:10.0.2.100:1234-tcp:10.10.1.1:4321 BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1543.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1544.): BEGIN LINE END LINE: @table : args(1) contents(25) <- @table END EMPTY LINE NEW LINE(_root::1545.): Or you can execute a command on every TCP connection established by the guest, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1546.): so that QEMU behaves similar to an inetd process for that virtual server: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1547.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1548.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1549.): # call "netcat 10.10.1.1 4321" on every TCP connection to 10.0.2.100:1234 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1550.): # and connect the TCP stream to its stdin/stdout BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1551.): qemu-system-i386 -nic 'user,id=n1,guestfwd=tcp:10.0.2.100:1234-cmd:netcat 10.10.1.1 4321' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1552.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1553.): BEGIN LINE END LINE: @table : args(1) contents(29) <- @table END EMPTY LINE NEW LINE(_root::1554.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1555.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @subsection END EMPTY LINE NEW LINE(_root::1556.): Note: Legacy stand-alone options -tftp, -bootp, -smb and -redir are still BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1557.): processed and applied to -net user. Mixing them with the new configuration BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1558.): syntax gives undefined results. Their use for new applications is discouraged BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1559.): as they will be removed from future versions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1560.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1561.): @item -netdev tap,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::1562.): Configure a host TAP network backend with ID @var{id}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1563.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1564.): Use the network script @var{file} to configure it and the network script BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1565.): @var{dfile} to deconfigure it. If @var{name} is not provided, the OS BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1566.): automatically provides one. The default network configure script is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1567.): @file{/etc/qemu-ifup} and the default network deconfigure script is BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1568.): @file{/etc/qemu-ifdown}. Use @option{script=no} or @option{downscript=no} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1569.): to disable script execution. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::1570.): BEGIN LINE END LINE: (paragraph) : contents(18) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1571.): If running QEMU as an unprivileged user, use the network helper BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1572.): @var{helper} to configure the TAP interface and attach it to the bridge. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1573.): The default network helper executable is @file{/path/to/qemu-bridge-helper} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1574.): and the default bridge device is @file{br0}. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1575.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1576.): @address@hidden can be used to specify the handle of an already BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1577.): opened host TAP interface. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1578.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1579.): Examples: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1580.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1581.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1582.): #launch a QEMU instance with the default network script BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1583.): qemu-system-i386 linux.img -nic tap BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1584.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1585.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @subsection END EMPTY LINE NEW LINE(_root::1586.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1587.): #launch a QEMU instance with two NICs, each one connected BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1588.): #to a TAP device BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1589.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1590.): -netdev tap,id=nd0,ifname=tap0 -device e1000,netdev=nd0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1591.): -netdev tap,id=nd1,ifname=tap1 -device rtl8139,netdev=nd1 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1592.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1593.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @subsection END EMPTY LINE NEW LINE(_root::1594.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1595.): #launch a QEMU instance with the default network helper to BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1596.): #connect a TAP device to bridge br0 BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1597.): qemu-system-i386 linux.img -device virtio-net-pci,netdev=n1 \ BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1598.): -netdev tap,id=n1,"helper=/path/to/qemu-bridge-helper" BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1599.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1600.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @subsection END EMPTY LINE NEW LINE(_root::1601.): @item -netdev bridge,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1602.): Connect a host TAP network interface to a host bridge device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1603.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1604.): Use the network helper @var{helper} to configure the TAP interface and BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1605.): attach it to the bridge. The default network helper executable is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1606.): @file{/path/to/qemu-bridge-helper} and the default bridge BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1607.): device is @file{br0}. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1608.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1609.): Examples: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1610.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1611.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1612.): #launch a QEMU instance with the default network helper to BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1613.): #connect a TAP device to bridge br0 BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1614.): qemu-system-i386 linux.img -netdev bridge,id=n1 -device virtio-net,netdev=n1 BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1615.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1616.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @subsection END EMPTY LINE NEW LINE(_root::1617.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1618.): #launch a QEMU instance with the default network helper to BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1619.): #connect a TAP device to bridge qemubr0 BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1620.): qemu-system-i386 linux.img -netdev bridge,br=qemubr0,id=n1 -device virtio-net,netdev=n1 BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1621.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1622.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @subsection END EMPTY LINE NEW LINE(_root::1623.): @item -netdev socket,address@hidden,address@hidden,address@hidden:@var{port}][,address@hidden:@var{port}] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(14) <- @item MISC END @item NEW LINE(_root::1624.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::1625.): This host network backend can be used to connect the guest's network to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1626.): another QEMU virtual machine using a TCP socket connection. If @option{listen} BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1627.): is specified, QEMU waits for incoming connections on @var{port} BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1628.): (@var{host} is optional). @option{connect} is used to connect to BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1629.): another QEMU instance using the @option{listen} option. @address@hidden BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::1630.): specifies an already opened TCP socket. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::1631.): BEGIN LINE END LINE: (paragraph) : contents(21) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1632.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1633.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1634.): # launch a first QEMU instance BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1635.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1636.): -device e1000,netdev=n1,mac=52:54:00:12:34:56 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1637.): -netdev socket,id=n1,listen=:1234 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1638.): # connect the network of this instance to the network of the first instance BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1639.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::1640.): -device e1000,netdev=n2,mac=52:54:00:12:34:57 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::1641.): -netdev socket,id=n2,connect=127.0.0.1:1234 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::1642.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1643.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::1644.): @item -netdev socket,address@hidden,address@hidden,address@hidden:@var{port}[,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1645.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @subsection END EMPTY LINE NEW LINE(_root::1646.): Configure a socket host network backend to share the guest's network traffic BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1647.): with another QEMU virtual machines using a UDP multicast socket, effectively BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1648.): making a bus for every QEMU with same multicast address @var{maddr} and @var{port}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1649.): NOTES: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1650.): @enumerate BEGIN LINE COMMAND enumerate CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @enumerate NEW LINE(_root::1651.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1652.): Several QEMU can be running on different hosts and share same bus (assuming BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1653.): correct multicast setup for these hosts). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::1654.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1655.): mcast support is compatible with User Mode Linux (argument @address@hidden), see BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::1656.): @url{http://user-mode-linux.sf.net}. BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::1657.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1658.): Use @option{fd=h} to specify an already opened UDP multicast socket. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::1659.): @end enumerate BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK enumerate END COMMAND enumerate CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1660.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::1661.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1662.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1663.): # launch one QEMU instance BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1664.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1665.): -device e1000,netdev=n1,mac=52:54:00:12:34:56 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1666.): -netdev socket,id=n1,mcast=230.0.0.1:1234 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1667.): # launch another QEMU instance on same "bus" BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1668.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::1669.): -device e1000,netdev=n2,mac=52:54:00:12:34:57 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::1670.): -netdev socket,id=n2,mcast=230.0.0.1:1234 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::1671.): # launch yet another QEMU instance on same "bus" BEGIN LINE END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::1672.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(10) <- @example NEW LINE(_root|preformatted::1673.): -device e1000,netdev=n3,macaddr=52:54:00:12:34:58 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::1674.): -netdev socket,id=n3,mcast=230.0.0.1:1234 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(12) <- @example NEW LINE(_root|preformatted::1675.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1676.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::1677.): Example (User Mode Linux compat.): BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1678.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1679.): # launch QEMU instance (note mcast address selected is UML's default) BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1680.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1681.): -device e1000,netdev=n1,mac=52:54:00:12:34:56 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1682.): -netdev socket,id=n1,mcast=239.192.168.1:1102 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1683.): # launch UML BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1684.): /path/to/linux ubd0=/path/to/root_fs eth0=mcast BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::1685.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1686.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::1687.): Example (send packets from host's 1.2.3.4): BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1688.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1689.): qemu-system-i386 linux.img \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1690.): -device e1000,netdev=n1,mac=52:54:00:12:34:56 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1691.): -netdev socket,id=n1,mcast=239.192.168.1:1102,localaddr=1.2.3.4 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1692.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1693.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @subsection END EMPTY LINE NEW LINE(_root::1694.): @item -netdev l2tpv3,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,ipv6][,udp][,cookie64][,counter][,pincounter][,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(22) <- @item MISC END @item NEW LINE(_root::1695.): Configure a L2TPv3 pseudowire host network backend. L2TPv3 (RFC3391) is a BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1696.): popular protocol to transport Ethernet (and other Layer 2) data frames between BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1697.): two systems. It is present in routers, firewalls and the Linux kernel BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1698.): (from version 3.3 onwards). BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1699.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1700.): This transport allows a VM to communicate to another VM, router or firewall directly. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1701.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1702.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1703.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1704.): source address (mandatory) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1705.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1706.): destination address (mandatory) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1707.): @item udp BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1708.): select udp encapsulation (default is ip). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1709.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1710.): source udp port. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1711.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1712.): destination udp port. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1713.): @item ipv6 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1714.): force v6, otherwise defaults to v4. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1715.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1716.): @itemx address@hidden BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::1717.): Cookies are a weak form of security in the l2tpv3 specification. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1718.): Their function is mostly to prevent misconfiguration. By default they are 32 BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1719.): bit. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1720.): @item cookie64 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1721.): Set cookie size to 64 bit instead of the default 32 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1722.): @item counter=off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1723.): Force a 'cut-down' L2TPv3 with no counter as in BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1724.): draft-mkonstan-l2tpext-keyed-ipv6-tunnel-00 BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1725.): @item pincounter=on BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1726.): Work around broken counter handling in peer. This may also help on BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1727.): networks which have packet reorder. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1728.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1729.): Add an extra offset between header and data BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1730.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::1731.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::1732.): For example, to attach a VM running on host 4.3.2.1 via L2TPv3 to the bridge br-lan BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1733.): on the remote Linux host 1.2.3.4: BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1734.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1735.): # Setup tunnel on linux host using raw ip as encapsulation BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1736.): # on 1.2.3.4 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1737.): ip l2tp add tunnel remote 4.3.2.1 local 1.2.3.4 tunnel_id 1 peer_tunnel_id 1 \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1738.): encap udp udp_sport 16384 udp_dport 16384 BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1739.): ip l2tp add session tunnel_id 1 name vmtunnel0 session_id \ BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1740.): 0xFFFFFFFF peer_session_id 0xFFFFFFFF BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::1741.): ifconfig vmtunnel0 mtu 1500 BEGIN LINE END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::1742.): ifconfig vmtunnel0 up BEGIN LINE END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::1743.): brctl addif br-lan vmtunnel0 BEGIN LINE END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::1744.): BEGIN LINE END LINE: (preformatted) : contents(10) <- @example END EMPTY LINE NEW LINE(_root|preformatted::1745.): BEGIN LINE END LINE: (preformatted) : contents(11) <- @example END EMPTY LINE NEW LINE(_root|preformatted::1746.): # on 4.3.2.1 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(12) <- @example NEW LINE(_root|preformatted::1747.): # launch QEMU instance - if your network has reorder or is very lossy add ,pincounter BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(13) <- @example NEW LINE(_root|preformatted::1748.): BEGIN LINE END LINE: (preformatted) : contents(14) <- @example END EMPTY LINE NEW LINE(_root|preformatted::1749.): qemu-system-i386 linux.img -device e1000,netdev=n1 \ BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(15) <- @example NEW LINE(_root|preformatted::1750.): -netdev l2tpv3,id=n1,src=4.2.3.1,dst=1.2.3.4,udp,srcport=16384,dstport=16384,rxsession=0xffffffff,txsession=0xffffffff,counter BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::1751.): BEGIN LINE END LINE: (preformatted) : contents(17) <- @example END EMPTY LINE NEW LINE(_root|preformatted::1752.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1753.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::1754.): @item -netdev vde,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1755.): Configure VDE backend to connect to PORT @var{n} of a vde switch running on host and BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1756.): listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1757.): and MODE @var{octalmode} to change default ownership and permissions for BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1758.): communication port. This option is only available if QEMU has been compiled BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1759.): with vde support enabled. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1760.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1761.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1762.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1763.): # launch vde switch BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1764.): vde_switch -F -sock /tmp/myswitch BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1765.): # launch QEMU instance BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1766.): qemu-system-i386 linux.img -nic vde,sock=/tmp/myswitch BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1767.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1768.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::1769.): @item -netdev vhost-user,address@hidden,vhostforce=on|off][,queues=n] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::1770.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::1771.): Establish a vhost-user netdev, backed by a chardev @var{id}. The chardev should BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1772.): be a unix domain socket backed one. The vhost-user uses a specifically defined BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1773.): protocol to pass vhost ioctl replacement messages to an application on the other BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1774.): end of the socket. On non-MSIX guests, the feature can be forced with BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1775.): @var{vhostforce}. Use 'address@hidden' to specify the number of queues to BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1776.): be created for multiqueue vhost-user. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1777.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1778.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1779.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1780.): qemu -m 512 -object memory-backend-file,id=mem,size=512M,mem-path=/hugetlbfs,share=on \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1781.): -numa node,memdev=mem \ BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1782.): -chardev socket,id=chr0,path=/path/to/socket \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1783.): -netdev type=vhost-user,id=net0,chardev=chr0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1784.): -device virtio-net-pci,netdev=net0 BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1785.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1786.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @subsection END EMPTY LINE NEW LINE(_root::1787.): @item -netdev hubport,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1788.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::1789.): Create a hub port on the emulated hub with ID @var{hubid}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1790.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1791.): The hubport netdev lets you connect a NIC to a QEMU emulated hub instead of a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1792.): single netdev. @code{-net} and @code{-device} with the parameter @option{vlan} BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1793.): (deprecated), or @code{-nic hubport} can also be used to connect a BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1794.): network device or a NIC to a hub. Alternatively, you can also connect the BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1795.): hubport to another netdev with ID @var{nd} by using the @address@hidden BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::1796.): option. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::1797.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1798.): @item -net nic[,address@hidden,address@hidden,address@hidden,address@hidden [,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::1799.): @findex -net BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1800.): Legacy option to configure or create an on-board (or machine default) Network BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1801.): Interface Card(NIC) and connect it either to the emulated hub port ("vlan") BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1802.): with number @var{n} (@var{n} = 0 is the default), or to the netdev @var{nd}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1803.): The NIC is an e1000 by default on the PC target. Optionally, the MAC address BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1804.): can be changed to @var{mac}, the device address set to @var{addr} (PCI cards BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1805.): only), and a @var{name} can be assigned for use in monitor commands. BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::1806.): Optionally, for PCI cards, you can specify the number @var{v} of MSI-X vectors BEGIN LINE SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(21) <- @table NEW LINE(_root::1807.): that the card should have; this option currently only affects virtio cards; set BEGIN LINE END LINE: (paragraph) : contents(22) <- @table NEW LINE(_root::1808.): @var{v} = 0 to disable MSI-X. If no @option{-net} option is specified, a single BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(26) <- @table NEW LINE(_root::1809.): NIC is created. QEMU can emulate several different models of network card. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(27) <- @table NEW LINE(_root::1810.): Use @code{-net nic,model=help} for a list of available devices for your target. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(30) <- @table NEW LINE(_root::1811.): BEGIN LINE END LINE: (paragraph) : contents(31) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1812.): @item -net user|tap|bridge|socket|l2tpv3|vde[,...][,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::1813.): Configure a host network backend (with the options corresponding to the same BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1814.): @option{-netdev} option) and connect it to the emulated hub ("vlan") with the BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1815.): number @var{n} (default is number 0). Use @var{name} to specify the name of the BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1816.): hub port. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1817.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::1818.): @subsection Character device options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1819.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1820.): The general form of a character device option is: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1821.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1822.): @item -chardev @var{backend},address@hidden,mux=on|off][,@var{options}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1823.): @findex -chardev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::1824.): Backend is one of: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1825.): @option{null}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1826.): @option{socket}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1827.): @option{udp}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1828.): @option{msmouse}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1829.): @option{vc}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1830.): @option{ringbuf}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1831.): @option{file}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1832.): @option{pipe}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::1833.): @option{console}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(19) <- @table NEW LINE(_root::1834.): @option{serial}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(21) <- @table NEW LINE(_root::1835.): @option{pty}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(23) <- @table NEW LINE(_root::1836.): @option{stdio}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(25) <- @table NEW LINE(_root::1837.): @option{braille}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(27) <- @table NEW LINE(_root::1838.): @option{tty}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(29) <- @table NEW LINE(_root::1839.): @option{parallel}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(31) <- @table NEW LINE(_root::1840.): @option{parport}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(33) <- @table NEW LINE(_root::1841.): @option{spicevmc}, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(35) <- @table NEW LINE(_root::1842.): @option{spiceport}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(37) <- @table NEW LINE(_root::1843.): The specific backend will determine the applicable options. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(38) <- @table NEW LINE(_root::1844.): BEGIN LINE END LINE: (paragraph) : contents(39) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1845.): Use @code{-chardev help} to print all available chardev backend types. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1846.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1847.): All devices must have an id, which can be any string up to 127 characters long. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1848.): It is used to uniquely identify this device in other command line directives. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1849.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1850.): A character device may be used in multiplexing mode by multiple front-ends. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1851.): Specify @option{mux=on} to enable this mode. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1852.): A multiplexer is a "1:N" device, and here the "1" end is your specified chardev BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1853.): backend, and the "N" end is the various parts of QEMU that can talk to a chardev. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::1854.): If you create a chardev with @option{id=myid} and @option{mux=on}, QEMU will BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::1855.): create a multiplexer with your specified ID, and you can then configure multiple BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::1856.): front ends to use that chardev ID for their input/output. Up to four different BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::1857.): front ends can be connected to a single multiplexed chardev. (Without BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::1858.): multiplexing enabled, a chardev can only be used by a single front end.) BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::1859.): For instance you could use this to allow a single stdio chardev to be used by BEGIN LINE END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::1860.): two serial ports and the QEMU monitor: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::1861.): BEGIN LINE END LINE: (paragraph) : contents(18) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1862.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1863.): -chardev stdio,mux=on,id=char0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1864.): -mon chardev=char0,mode=readline \ BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1865.): -serial chardev:char0 \ BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1866.): -serial chardev:char0 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1867.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1868.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::1869.): You can have more than one multiplexer in a system configuration; for instance BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1870.): you could have a TCP port multiplexed between UART 0 and UART 1, and stdio BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1871.): multiplexed between the QEMU monitor and a parallel port: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1872.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1873.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1874.): -chardev stdio,mux=on,id=char0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1875.): -mon chardev=char0,mode=readline \ BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1876.): -parallel chardev:char0 \ BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1877.): -chardev tcp,...,mux=on,id=char1 \ BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1878.): -serial chardev:char1 \ BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::1879.): -serial chardev:char1 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::1880.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1881.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @subsection END EMPTY LINE NEW LINE(_root::1882.): When you're using a multiplexed character device, some escape sequences are BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1883.): interpreted in the input. @xref{mux_keys, Keys in the character backend BEGIN LINE SEPARATOR: . COMMAND xref SEPARATOR: { OPENED @xref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: , END LINE: (brace_command_arg) : contents(2) <- @xref NEW LINE(_root::1884.): multiplexer}. BEGIN LINE SEPARATOR: } CLOSING(brace) @xref SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1885.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1886.): Note that some other command line options may implicitly create multiplexed BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1887.): character backends; for instance @option{-serial mon:stdio} creates a BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1888.): multiplexed stdio backend connected to the serial port and the QEMU monitor, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1889.): and @option{-nographic} also multiplexes the console and the monitor to BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1890.): stdio. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1891.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1892.): There is currently no support for multiplexing in the other direction BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1893.): (where a single QEMU front end takes input and output from multiple chardevs). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1894.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1895.): Every backend supports the @option{logfile} option, which supplies the path BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1896.): to a file to record all data transmitted via the backend. The @option{logappend} BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1897.): option controls whether the log file will be truncated or appended to when BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1898.): opened. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1899.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1900.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1901.): BEGIN LINE END LINE: @subsection : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::1902.): The available backends are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1903.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1904.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1905.): @item -chardev null,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1906.): A void device. This device will not emit any data, and will drop any data it BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1907.): receives. The null backend does not take any options. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1908.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1909.): @item -chardev socket,address@hidden,@var{TCP options} or @var{unix options}][,server][,nowait][,telnet][,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1910.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @subsection END EMPTY LINE NEW LINE(_root::1911.): Create a two-way stream socket, which can be either a TCP or a unix socket. A BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1912.): unix socket will be created if @option{path} is specified. Behaviour is BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1913.): undefined if TCP options are specified for a unix socket. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1914.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1915.): @option{server} specifies that the socket shall be a listening socket. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1916.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1917.): @option{nowait} specifies that QEMU should not block waiting for a client to BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1918.): connect to a listening socket. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1919.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1920.): @option{telnet} specifies that traffic on the socket should interpret telnet BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1921.): escape sequences. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1922.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1923.): @option{reconnect} sets the timeout for reconnecting on non-server sockets when BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1924.): the remote end goes away. qemu will delay this many seconds and then attempt BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1925.): to reconnect. Zero disables reconnecting, and is the default. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1926.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1927.): @option{tls-creds} requests enablement of the TLS protocol for encryption, BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1928.): and specifies the id of the TLS credentials to use for the handshake. The BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1929.): credentials must be previously created with the @option{-object tls-creds} BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1930.): argument. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1931.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1932.): TCP and unix socket options are given below: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1933.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1934.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1935.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1936.): @item TCP options: address@hidden,address@hidden,address@hidden,ipv4][,ipv6][,nodelay] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1937.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::1938.): @option{host} for a listening socket specifies the local address to be bound. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1939.): For a connecting socket species the remote host to connect to. @option{host} is BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1940.): optional for listening sockets. If not specified it defaults to @code{0.0.0.0}. BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::1941.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1942.): @option{port} for a listening socket specifies the local port to be bound. For a BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1943.): connecting socket specifies the port on the remote host to connect to. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1944.): @option{port} can be given as either a port number or a service name. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1945.): @option{port} is required. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::1946.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1947.): @option{to} is only relevant to listening sockets. If it is specified, and BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1948.): @option{port} cannot be bound, QEMU will attempt to bind to subsequent ports up BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1949.): to and including @option{to} until it succeeds. @option{to} must be specified BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::1950.): as a port number. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::1951.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1952.): @option{ipv4} and @option{ipv6} specify that either IPv4 or IPv6 must be used. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1953.): If neither is specified the socket may use either protocol. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1954.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1955.): @option{nodelay} disables the Nagle algorithm. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1956.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1957.): @item unix options: address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1958.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::1959.): @option{path} specifies the local path of the unix socket. @option{path} is BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1960.): required. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1961.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1962.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1963.): BEGIN LINE END LINE: @table : args(1) contents(20) <- @subsection END EMPTY LINE NEW LINE(_root::1964.): @item -chardev udp,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,ipv4][,ipv6] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1965.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @subsection END EMPTY LINE NEW LINE(_root::1966.): Sends all traffic from the guest to a remote host over UDP. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1967.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1968.): @option{host} specifies the remote host to connect to. If not specified it BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1969.): defaults to @code{localhost}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1970.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1971.): @option{port} specifies the port on the remote host to connect to. @option{port} BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1972.): is required. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1973.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1974.): @option{localaddr} specifies the local address to bind to. If not specified it BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1975.): defaults to @code{0.0.0.0}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1976.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1977.): @option{localport} specifies the local port to bind to. If not specified any BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1978.): available local port will be used. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1979.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1980.): @option{ipv4} and @option{ipv6} specify that either IPv4 or IPv6 must be used. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1981.): If neither is specified the device may use either protocol. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1982.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1983.): @item -chardev msmouse,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1984.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @subsection END EMPTY LINE NEW LINE(_root::1985.): Forward QEMU's emulated msmouse events to the guest. @option{msmouse} does not BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1986.): take any options. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1987.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1988.): @item -chardev vc,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::1989.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @subsection END EMPTY LINE NEW LINE(_root::1990.): Connect to a QEMU text console. @option{vc} may optionally be given a specific BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1991.): size. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1992.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1993.): @option{width} and @option{height} specify the width and height respectively of BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1994.): the console, in pixels. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1995.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1996.): @option{cols} and @option{rows} specify that the console be sized to fit a text BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::1997.): console with the given dimensions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::1998.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1999.): @item -chardev ringbuf,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2000.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::2001.): Create a ring buffer with fixed size @option{size}. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2002.): @var{size} must be a power of two and defaults to @code{64K}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2003.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2004.): @item -chardev file,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2005.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @subsection END EMPTY LINE NEW LINE(_root::2006.): Log all traffic received from the guest to a file. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2007.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2008.): @option{path} specifies the path of the file to be opened. This file will be BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2009.): created if it does not already exist, and overwritten if it does. @option{path} BEGIN LINE SEPARATOR: , SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2010.): is required. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2011.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2012.): @item -chardev pipe,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2013.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @subsection END EMPTY LINE NEW LINE(_root::2014.): Create a two-way connection to the guest. The behaviour differs slightly between BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2015.): Windows hosts and other hosts: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2016.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2017.): On Windows, a single duplex pipe will be created at BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2018.): @address@hidden BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2019.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2020.): On other hosts, 2 pipes will be created called @address@hidden and BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2021.): @address@hidden Data written to @address@hidden will be BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2022.): received by the guest. Data written by the guest can be read from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2023.): @address@hidden QEMU will not create these fifos, and requires them to BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2024.): be present. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2025.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2026.): @option{path} forms part of the pipe path as described above. @option{path} is BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2027.): required. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2028.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2029.): @item -chardev console,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2030.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::2031.): Send traffic from the guest to QEMU's standard output. @option{console} does not BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2032.): take any options. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2033.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2034.): @option{console} is only available on Windows hosts. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2035.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2036.): @item -chardev serial,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2037.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::2038.): Send traffic from the guest to a serial device on the host. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2039.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2040.): On Unix hosts serial will actually accept any tty device, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2041.): not only serial lines. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2042.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2043.): @option{path} specifies the name of the serial device to open. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2044.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2045.): @item -chardev pty,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2046.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::2047.): Create a new pseudo-terminal on the host and connect to it. @option{pty} does BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2048.): not take any options. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2049.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2050.): @option{pty} is not available on Windows hosts. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2051.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2052.): @item -chardev stdio,address@hidden,signal=on|off] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2053.): Connect to standard input and standard output of the QEMU process. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2054.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2055.): @option{signal} controls if signals are enabled on the terminal, that includes BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2056.): exiting QEMU with the key sequence @key{Control-c}. This option is enabled by BEGIN LINE COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2057.): default, use @option{signal=off} to disable it. BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2058.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2059.): @item -chardev braille,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2060.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::2061.): Connect to a local BrlAPI server. @option{braille} does not take any options. BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2062.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2063.): @item -chardev tty,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2064.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @subsection END EMPTY LINE NEW LINE(_root::2065.): @option{tty} is only available on Linux, Sun, FreeBSD, NetBSD, OpenBSD and BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2066.): DragonFlyBSD hosts. It is an alias for @option{serial}. BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2067.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2068.): @option{path} specifies the path to the tty. @option{path} is required. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2069.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2070.): @item -chardev parallel,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2071.): @itemx -chardev parport,address@hidden,address@hidden BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @itemx MISC END @itemx NEW LINE(_root::2072.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::2073.): @option{parallel} is only available on Linux, FreeBSD and DragonFlyBSD hosts. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2074.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2075.): Connect to a local parallel port. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2076.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2077.): @option{path} specifies the path to the parallel port device. @option{path} is BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2078.): required. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2079.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2080.): @item -chardev spicevmc,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::2081.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::2082.): @option{spicevmc} is only available when spice support is built in. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2083.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2084.): @option{debug} debug level for spicevmc BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2085.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2086.): @option{name} name of spice channel to connect to BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2087.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2088.): Connect to a spice virtual machine channel, such as vdiport. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2089.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2090.): @item -chardev spiceport,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::2091.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @subsection END EMPTY LINE NEW LINE(_root::2092.): @option{spiceport} is only available when spice support is built in. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2093.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2094.): @option{debug} debug level for spicevmc BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2095.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2096.): @option{name} name of spice port to connect to BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2097.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2098.): Connect to a spice port, allowing a Spice client to handle the traffic BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2099.): identified by a name (preferably a fqdn). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2100.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2101.): @subsection Bluetooth(R) options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2102.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2103.): @item -bt hci[...] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2104.): @findex -bt BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2105.): Defines the function of the corresponding Bluetooth HCI. -bt options BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2106.): are matched with the HCIs present in the chosen machine type. For BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2107.): example when emulating a machine with only one HCI built into it, only BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2108.): the first @code{-bt hci[...]} option is valid and defines the HCI's BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2109.): logic. The Transport Layer is decided by the machine type. Currently BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2110.): the machines @code{n800} and @code{n810} have one HCI and all other BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2111.): machines have none. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2112.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2113.): @anchor{bt-hcis} BEGIN LINE COMMAND anchor SEPARATOR: { OPENED @anchor, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @anchor END LINE: @table : args(1) contents(7) <- @subsection NEW LINE(_root::2114.): The following three types are recognized: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2115.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2116.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2117.): @item -bt hci,null BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2118.): (default) The corresponding Bluetooth HCI assumes no internal logic BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2119.): and will not respond to any HCI commands or emit events. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2120.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2121.): @item -bt hci,host[:@var{id}] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2122.): (@code{bluez} only) The corresponding HCI passes commands / events BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2123.): to / from the physical HCI identified by the name @var{id} (default: BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2124.): @code{hci0}) on the computer running QEMU. Only available on @code{bluez} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2125.): capable systems like Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2126.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2127.): @item -bt hci[,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2128.): Add a virtual, standard HCI that will participate in the Bluetooth BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2129.): scatternet @var{n} (default @code{0}). Similarly to @option{-net} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2130.): VLANs, devices inside a bluetooth network @var{n} can only communicate BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2131.): with other devices in the same network (scatternet). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2132.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2133.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::2134.): @item -bt vhci[,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2135.): (Linux-host only) Create a HCI in scatternet @var{n} (default 0) attached BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2136.): to the host bluetooth stack instead of to the emulated target. This BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2137.): allows the host and target machines to participate in a common scatternet BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2138.): and communicate. Requires the Linux @code{vhci} driver installed. Can BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2139.): be used as following: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2140.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2141.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2142.): qemu-system-i386 [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2143.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2144.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @subsection END EMPTY LINE NEW LINE(_root::2145.): @item -bt device:@var{dev}[,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2146.): Emulate a bluetooth device @var{dev} and place it in network @var{n} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2147.): (default @code{0}). QEMU can only emulate one type of bluetooth devices BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2148.): currently: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2149.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2150.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2151.): @item keyboard BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2152.): Virtual wireless keyboard implementing the HIDP bluetooth profile. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2153.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2154.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2155.): @subsection TPM device options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2156.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2157.): The general form of a TPM device option is: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2158.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2159.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2160.): @item -tpmdev @var{backend},address@hidden,@var{options}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2161.): @findex -tpmdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2162.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @subsection END EMPTY LINE NEW LINE(_root::2163.): The specific backend type will determine the applicable options. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2164.): The @code{-tpmdev} option creates the TPM backend and requires a BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2165.): @code{-device} option that specifies the TPM frontend interface model. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2166.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2167.): Use @code{-tpmdev help} to print all available TPM backend types. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2168.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2169.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2170.): BEGIN LINE END LINE: @subsection : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::2171.): The available backends are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2172.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2173.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2174.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2175.): @item -tpmdev passthrough,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::2176.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @subsection END EMPTY LINE NEW LINE(_root::2177.): (Linux-host only) Enable access to the host's TPM using the passthrough BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2178.): driver. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2179.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2180.): @option{path} specifies the path to the host's TPM device, i.e., on BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2181.): a Linux host this would be @code{/dev/tpm0}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2182.): @option{path} is optional and by default @code{/dev/tpm0} is used. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2183.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2184.): @option{cancel-path} specifies the path to the host TPM device's sysfs BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2185.): entry allowing for cancellation of an ongoing TPM command. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2186.): @option{cancel-path} is optional and by default QEMU will search for the BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2187.): sysfs entry to use. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2188.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2189.): Some notes about using the host's TPM with the passthrough driver: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2190.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2191.): The TPM device accessed by the passthrough driver must not be BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2192.): used by any other application on the host. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2193.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2194.): Since the host's firmware (BIOS/UEFI) has already initialized the TPM, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2195.): the VM's firmware (BIOS/UEFI) will not be able to initialize the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2196.): TPM again and may therefore not show a TPM-specific menu that would BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2197.): otherwise allow the user to configure the TPM, e.g., allow the user to BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2198.): enable/disable or activate/deactivate the TPM. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2199.): Further, if TPM ownership is released from within a VM then the host's TPM BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2200.): will get disabled and deactivated. To enable and activate the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2201.): TPM again afterwards, the host has to be rebooted and the user is BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2202.): required to enter the firmware's menu to enable and activate the TPM. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2203.): If the TPM is left disabled and/or deactivated most TPM commands will fail. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2204.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2205.): To create a passthrough TPM use the following two options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2206.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2207.): -tpmdev passthrough,id=tpm0 -device tpm-tis,tpmdev=tpm0 BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2208.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2209.): Note that the @code{-tpmdev} id is @code{tpm0} and is referenced by BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2210.): @code{tpmdev=tpm0} in the device option. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2211.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2212.): @item -tpmdev emulator,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2213.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @subsection END EMPTY LINE NEW LINE(_root::2214.): (Linux-host only) Enable access to a TPM emulator using Unix domain socket based BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2215.): chardev backend. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2216.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2217.): @option{chardev} specifies the unique ID of a character device backend that provides connection to the software TPM server. BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2218.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2219.): To create a TPM emulator backend device with chardev socket backend: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2220.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2221.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::2222.): -chardev socket,id=chrtpm,path=/tmp/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::2223.): BEGIN LINE END LINE: (preformatted) : contents(3) <- @example END EMPTY LINE NEW LINE(_root|preformatted::2224.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2225.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::2226.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2227.): @subsection Linux/Multiboot boot specific BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2228.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2229.): When using these options, you can use a given Linux or Multiboot BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2230.): kernel without installing it in the disk image. It can be useful BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2231.): for easier testing of various kernels. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2232.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2233.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2234.): @item -kernel @var{bzImage} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2235.): @findex -kernel BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2236.): Use @var{bzImage} as kernel image. The kernel can be either a Linux kernel BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2237.): or in multiboot format. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2238.): @item -append @var{cmdline} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2239.): @findex -append BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2240.): Use @var{cmdline} as kernel command line BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2241.): @item -initrd @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2242.): @findex -initrd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2243.): Use @var{file} as initial ram disk. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2244.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2245.): @item -initrd "@var{file1} arg=foo,@var{file2}" BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2246.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @subsection END EMPTY LINE NEW LINE(_root::2247.): This syntax is only available with multiboot. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2248.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2249.): Use @var{file1} and @var{file2} as modules and pass arg=foo as parameter to the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2250.): first module. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2251.): @item -dtb @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2252.): @findex -dtb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2253.): Use @var{file} as a device tree binary (dtb) image and pass it to the kernel BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2254.): on boot. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2255.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2256.): @subsection Debug/Expert options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2257.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2258.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2259.): @item -fw_cfg address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2260.): @findex -fw_cfg BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2261.): Add named fw_cfg entry with contents from file @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2262.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2263.): @item -fw_cfg address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2264.): Add named fw_cfg entry with contents from string @var{str}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2265.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2266.): The terminating NUL character of the contents of @var{str} will not be BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2267.): included as part of the fw_cfg item data. To insert contents with BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2268.): embedded NUL characters, you have to use the @var{file} parameter. BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2269.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2270.): The fw_cfg entries are passed by QEMU through to the guest. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2271.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2272.): Example: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2273.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2274.): -fw_cfg name=opt/com.mycompany/blob,file=./my_blob.bin BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2275.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2276.): creates an fw_cfg entry named opt/com.mycompany/blob with contents BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2277.): from ./my_blob.bin. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2278.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2279.): @item -serial @var{dev} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2280.): @findex -serial BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2281.): Redirect the virtual serial port to host character device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2282.): @var{dev}. The default device is @code{vc} in graphical mode and BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2283.): @code{stdio} in non graphical mode. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2284.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2285.): This option can be used several times to simulate up to 4 serial BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2286.): ports. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2287.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2288.): Use @code{-serial none} to disable all serial ports. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2289.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2290.): Available character devices are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2291.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2292.): @item vc[:@address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2293.): Virtual console. Optionally, a width and height can be given in pixel with BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2294.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2295.): vc:800x600 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2296.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2297.): It is also possible to specify width or height in characters: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2298.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2299.): vc:80Cx24C BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2300.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2301.): @item pty BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2302.): [Linux only] Pseudo TTY (a new PTY is automatically allocated) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2303.): @item none BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2304.): No device is allocated. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2305.): @item null BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2306.): void device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2307.): @item chardev:@var{id} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2308.): Use a named character device defined with the @code{-chardev} option. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2309.): @item /dev/XXX BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2310.): [Linux only] Use host tty, e.g. @file{/dev/ttyS0}. The host serial port BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . SEPARATOR: . COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2311.): parameters are set according to the emulated ones. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2312.): @item /dev/address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2313.): [Linux only, parallel port only] Use host parallel port BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2314.): @var{N}. Currently SPP and EPP parallel port features can be used. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2315.): @item file:@var{filename} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2316.): Write output to @var{filename}. No character can be read. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2317.): @item stdio BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2318.): [Unix only] standard input/output BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2319.): @item pipe:@var{filename} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2320.): name pipe @var{filename} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2321.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2322.): [Windows only] Use host serial port @var{n} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2323.): @item udp:address@hidden:@var{remote_port}[@@address@hidden:@var{src_port}] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND @ COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::2324.): This implements UDP Net Console. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2325.): When @var{remote_host} or @var{src_ip} are not specified BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2326.): they default to @code{0.0.0.0}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2327.): When not using a specified @var{src_port} a random port is automatically chosen. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2328.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2329.): If you just want a simple readonly console you can use @code{netcat} or BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2330.): @code{nc}, by starting QEMU with: @code{-serial udp::4555} and nc as: BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: : COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: : SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2331.): @code{nc -u -l -p 4555}. Any time QEMU writes something to that port it BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2332.): will appear in the netconsole session. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2333.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2334.): If you plan to send characters back via netconsole or you want to stop BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2335.): and start QEMU a lot of times, you should have QEMU use the same BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2336.): source port each time by using something like @code{-serial BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg END LINE: (brace_command_arg) : contents(1) <- @code NEW LINE(_root::2337.): udp::4555@@:4556} to QEMU. Another approach is to use a patched BEGIN LINE SEPARATOR: : SEPARATOR: : COMMAND @ SEPARATOR: : SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2338.): version of netcat which can listen to a TCP port and send and receive BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2339.): characters via udp. If you have a patched version of netcat which BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2340.): activates telnet remote echo and single char transfer, then you can BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2341.): use the following options to set up a netcat redirector to allow BEGIN LINE END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2342.): telnet on port 5555 to access the QEMU port. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2343.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2344.): @item QEMU Options: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2345.): -serial udp::4555@@:4556 BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: : COMMAND @ SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2346.): @item netcat options: BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2347.): -u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2348.): @item telnet options: BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2349.): localhost 5555 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2350.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2351.): BEGIN LINE END LINE: @table : args(1) contents(20) <- @table END EMPTY LINE NEW LINE(_root::2352.): @item tcp:address@hidden:@var{port}[,@var{server}][,nowait][,nodelay][,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::2353.): The TCP Net Console has two modes of operation. It can send the serial BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2354.): I/O to a location or wait for a connection from a location. By default BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2355.): the TCP Net Console is sent to @var{host} at the @var{port}. If you use BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2356.): the @var{server} option QEMU will wait for a client socket application BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2357.): to connect to the port before continuing, unless the @code{nowait} BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2358.): option was specified. The @code{nodelay} option disables the Nagle buffering BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::2359.): algorithm. The @code{reconnect} option only applies if @var{noserver} is BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(21) <- @table NEW LINE(_root::2360.): set, if the connection goes down it will attempt to reconnect at the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(22) <- @table NEW LINE(_root::2361.): given interval. If @var{host} is omitted, 0.0.0.0 is assumed. Only BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(25) <- @table NEW LINE(_root::2362.): one TCP connection at a time is accepted. You can use @code{telnet} to BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(28) <- @table NEW LINE(_root::2363.): connect to the corresponding character device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(29) <- @table NEW LINE(_root::2364.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2365.): @item Example to send tcp console to 192.168.0.2 port 4444 BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2366.): -serial tcp:192.168.0.2:4444 BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2367.): @item Example to listen and wait on port 4444 for connection BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2368.): -serial tcp::4444,server BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2369.): @item Example to not wait and listen on ip 192.168.0.100 port 4444 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2370.): -serial tcp:192.168.0.100:4444,server,nowait BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2371.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2372.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @table END EMPTY LINE NEW LINE(_root::2373.): @item telnet:@var{host}:@var{port}[,server][,nowait][,nodelay] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2374.): The telnet protocol is used instead of raw tcp sockets. The options BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2375.): work the same as if you had specified @code{-serial tcp}. The BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2376.): difference is that the port acts like a telnet server or client using BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2377.): telnet option negotiation. This will also allow you to send the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2378.): MAGIC_SYSRQ sequence if you use a telnet that supports sending the break BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2379.): sequence. Typically in unix telnet you do it with Control-] and then BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2380.): type "send break" followed by pressing the enter key. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2381.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2382.): @item unix:@var{path}[,server][,nowait][,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2383.): A unix domain socket is used instead of a tcp socket. The option works the BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2384.): same as if you had specified @code{-serial tcp} except the unix domain socket BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2385.): @var{path} is used for connections. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2386.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2387.): @item mon:@var{dev_string} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2388.): This is a special option to allow the monitor to be multiplexed onto BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2389.): another serial port. The monitor is accessed with key sequence of BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2390.): @key{Control-a} and then pressing @key{c}. BEGIN LINE COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2391.): @var{dev_string} should be any one of the serial devices specified BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2392.): above. An example to multiplex the monitor onto a telnet server BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2393.): listening on port 4444 would be: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2394.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2395.): @item -serial mon:telnet::4444,server,nowait BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2396.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2397.): When the monitor is multiplexed to stdio in this way, Ctrl+C will not terminate BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2398.): QEMU any more but will be passed to the guest instead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2399.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2400.): @item braille BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2401.): Braille device. This will use BrlAPI to display the braille output on a real BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2402.): or fake device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2403.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2404.): @item msmouse BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2405.): Three button serial mouse. Configure the guest to use Microsoft protocol. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2406.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2407.): @item -parallel @var{dev} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2408.): @findex -parallel BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2409.): Redirect the virtual parallel port to host device @var{dev} (same BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2410.): devices as the serial port). On Linux hosts, @file{/dev/parportN} can BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2411.): be used to use hardware devices connected on the corresponding host BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2412.): parallel port. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2413.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2414.): This option can be used several times to simulate up to 3 parallel BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2415.): ports. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2416.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2417.): Use @code{-parallel none} to disable all parallel ports. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2418.): @item -monitor @var{dev} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2419.): @findex -monitor BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2420.): Redirect the monitor to host device @var{dev} (same devices as the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2421.): serial port). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2422.): The default device is @code{vc} in graphical mode and @code{stdio} in BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2423.): non graphical mode. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2424.): Use @code{-monitor none} to disable the default monitor. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2425.): @item -qmp @var{dev} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2426.): @findex -qmp BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2427.): Like -monitor but opens in 'control' mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2428.): @item -qmp-pretty @var{dev} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2429.): @findex -qmp-pretty BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2430.): Like -qmp but uses pretty JSON formatting. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2431.): @item -mon [chardev=]name[,mode=readline|control][,pretty[=on|off]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2432.): @findex -mon BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2433.): Setup monitor on chardev @var{name}. @code{pretty} turns on JSON pretty printing BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2434.): easing human reading and debugging. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2435.): @item -debugcon @var{dev} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2436.): @findex -debugcon BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2437.): Redirect the debug console to host device @var{dev} (same devices as the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2438.): serial port). The debug console is an I/O port which is typically port BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2439.): 0xe9; writing to that I/O port sends output to this device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2440.): The default device is @code{vc} in graphical mode and @code{stdio} in BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2441.): non graphical mode. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2442.): @item -pidfile @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2443.): @findex -pidfile BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2444.): Store the QEMU process PID in @var{file}. It is useful if you launch QEMU BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2445.): from a script. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2446.): @item -singlestep BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2447.): @findex -singlestep BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2448.): Run the emulation in single step mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2449.): @item -S BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2450.): @findex -S BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2451.): Do not start CPU at startup (you must type 'c' in the monitor). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2452.): @item -realtime mlock=on|off BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2453.): @findex -realtime BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2454.): Run qemu with realtime features. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2455.): mlocking qemu and guest memory can be enabled via @option{mlock=on} BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2456.): (enabled by default). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2457.): @item -gdb @var{dev} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2458.): @findex -gdb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2459.): Wait for gdb connection on device @var{dev} (@pxref{gdb_usage}). Typical BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2460.): connections will likely be TCP-based, but also UDP, pseudo TTY, or even BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2461.): stdio are reasonable use case. The latter is allowing to start QEMU from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2462.): within gdb and establish the connection via a pipe: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2463.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2464.): (gdb) target remote | exec qemu-system-i386 -gdb stdio ... BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2465.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2466.): @item -s BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2467.): @findex -s BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2468.): Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234 BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: : SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2469.): (@pxref{gdb_usage}). BEGIN LINE COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2470.): @item -d @var{item1}[,...] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2471.): @findex -d BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2472.): Enable logging of specified items. Use '-d help' for a list of log items. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2473.): @item -D @var{logfile} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2474.): @findex -D BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2475.): Output log in @var{logfile} instead of to stderr BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2476.): @item -dfilter @var{range1}[,...] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2477.): @findex -dfilter BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2478.): Filter debug output to that relevant to a range of target addresses. The filter BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2479.): spec can be either @address@hidden, @address@hidden or BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2480.): @address@hidden where @var{start} @var{end} and @var{size} are the BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::2481.): addresses and sizes required. For example: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(21) <- @table NEW LINE(_root::2482.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2483.): -dfilter 0x8000..0x8fff,0xffffffc000080000+0x200,0xffffffc000060000-0x1000 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2484.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2485.): Will dump output for any code in the 0x1000 sized block starting at 0x8000 and BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2486.): the 0x200 sized block starting at 0xffffffc000080000 and another 0x1000 sized BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2487.): block starting at 0xffffffc00005f000. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2488.): @item -L @var{path} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2489.): @findex -L BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2490.): Set the directory for the BIOS, VGA BIOS and keymaps. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2491.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2492.): To list all the data directories, use @code{-L help}. BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2493.): @item -bios @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2494.): @findex -bios BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2495.): Set the filename for the BIOS. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2496.): @item -enable-kvm BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2497.): @findex -enable-kvm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2498.): Enable KVM full virtualization support. This option is only available BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2499.): if KVM support is enabled when compiling. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2500.): @item -enable-hax BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2501.): @findex -enable-hax BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2502.): Enable HAX (Hardware-based Acceleration eXecution) support. This option BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2503.): is only available if HAX support is enabled when compiling. HAX is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2504.): applicable to MAC and Windows platform, and thus does not conflict with BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2505.): KVM. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2506.): @item -xen-domid @var{id} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2507.): @findex -xen-domid BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2508.): Specify xen guest domain @var{id} (XEN only). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2509.): @item -xen-create BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2510.): @findex -xen-create BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2511.): Create domain using xen hypercalls, bypassing xend. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2512.): Warning: should not be used when xend is in use (XEN only). BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2513.): @item -xen-attach BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2514.): @findex -xen-attach BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2515.): Attach to existing xen domain. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2516.): xend will use this when starting QEMU (XEN only). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2517.): @findex -xen-domid-restrict BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2518.): Restrict set of available xen operations to specified domain id (XEN only). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2519.): @item -no-reboot BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2520.): @findex -no-reboot BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2521.): Exit instead of rebooting. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2522.): @item -no-shutdown BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2523.): @findex -no-shutdown BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2524.): Don't exit QEMU on guest shutdown, but instead only stop the emulation. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2525.): This allows for instance switching to monitor to commit changes to the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2526.): disk image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2527.): @item -loadvm @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2528.): @findex -loadvm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2529.): Start right away with a saved state (@code{loadvm} in monitor) BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2530.): @item -daemonize BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2531.): @findex -daemonize BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2532.): Daemonize the QEMU process after initialization. QEMU will not detach from BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2533.): standard IO until it is ready to receive connections on any of its devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2534.): This option is a useful way for external programs to launch QEMU without having BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2535.): to cope with initialization race conditions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2536.): @item -option-rom @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2537.): @findex -option-rom BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2538.): Load the contents of @var{file} as an option ROM. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2539.): This option is useful to load things like EtherBoot. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2540.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2541.): @item -rtc [base=utc|localtime|@var{date}][,clock=host|vm][,driftfix=none|slew] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::2542.): @findex -rtc BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2543.): Specify @option{base} as @code{utc} or @code{localtime} to let the RTC start at the current BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2544.): UTC or local time, respectively. @code{localtime} is required for correct date in BEGIN LINE SEPARATOR: , SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2545.): MS-DOS or Windows. To start at a specific point in time, provide @var{date} in the BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2546.): format @code{2006-06-17T16:01:21} or @code{2006-06-17}. The default base is UTC. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: : SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::2547.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2548.): By default the RTC is driven by the host system time. This allows using of the BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2549.): RTC as accurate reference clock inside the guest, specifically if the host BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2550.): time is smoothly following an accurate external reference clock, e.g. via NTP. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2551.): If you want to isolate the guest time from the host, you can set @option{clock} BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2552.): to @code{rt} instead. To even prevent it from progressing during suspension, BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2553.): you can set it to @code{vm}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2554.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2555.): Enable @option{driftfix} (i386 targets only) if you experience time drift problems, BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2556.): specifically with Windows' ACPI HAL. This option will try to figure out how BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2557.): many timer interrupts were not processed by the Windows guest and will BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2558.): re-inject them. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2559.): @item -icount address@hidden|auto][,rr=record|replay,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2560.): @findex -icount BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2561.): Enable virtual instruction counter. The virtual cpu will execute one BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2562.): instruction every address@hidden ns of virtual time. If @code{auto} is specified BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2563.): then the virtual cpu speed will be automatically adjusted to keep virtual BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2564.): time within a few seconds of real time. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2565.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2566.): When the virtual cpu is sleeping, the virtual time will advance at default BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2567.): speed unless @option{sleep=on|off} is specified. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2568.): With @option{sleep=on|off}, the virtual time will jump to the next timer deadline BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2569.): instantly whenever the virtual cpu goes to sleep mode and will not advance BEGIN LINE END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2570.): if no timer is enabled. This behavior give deterministic execution times from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2571.): the guest point of view. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2572.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2573.): Note that while this option can give deterministic behavior, it does not BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2574.): provide cycle accurate emulation. Modern CPUs contain superscalar out of BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2575.): order cores with complex cache hierarchies. The number of instructions BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2576.): executed often has little or no correlation with actual performance. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2577.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2578.): @option{align=on} will activate the delay algorithm which will try BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2579.): to synchronise the host clock and the virtual clock. The goal is to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2580.): have a guest running at the real frequency imposed by the shift option. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2581.): Whenever the guest clock is behind the host clock and if BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2582.): @option{align=on} is specified then we print a message to the user BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2583.): to inform about the delay. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2584.): Currently this option does not work when @option{shift} is @code{auto}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2585.): Note: The sync algorithm will work for those shift values for which BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::2586.): the guest clock runs ahead of the host clock. Typically this happens BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::2587.): when the shift value is high (how high depends on the host machine). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::2588.): BEGIN LINE END LINE: (paragraph) : contents(17) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2589.): When @option{rr} option is specified deterministic record/replay is enabled. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2590.): Replay log is written into @var{filename} file in record mode and BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2591.): read from this file in replay mode. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2592.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2593.): Option rrsnapshot is used to create new vm snapshot named @var{snapshot} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2594.): at the start of execution recording. In replay mode this option is used BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2595.): to load the initial VM state. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2596.): @item -watchdog @var{model} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2597.): @findex -watchdog BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2598.): Create a virtual hardware watchdog device. Once enabled (by a guest BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2599.): action), the watchdog must be periodically polled by an agent inside BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2600.): the guest or else the guest will be restarted. Choose a model for BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2601.): which your guest has drivers. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2602.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2603.): The @var{model} is the model of hardware watchdog to emulate. Use BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2604.): @code{-watchdog help} to list available hardware models. Only one BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2605.): watchdog can be enabled for a guest. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2606.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2607.): The following models may be available: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2608.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2609.): @item ib700 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2610.): iBASE 700 is a very simple ISA watchdog with a single timer. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2611.): @item i6300esb BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2612.): Intel 6300ESB I/O controller hub is a much more featureful PCI-based BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2613.): dual-timer watchdog. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2614.): @item diag288 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2615.): A virtual watchdog for s390x backed by the diagnose 288 hypercall BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2616.): (currently KVM only). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2617.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2618.): @item -watchdog-action @var{action} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2619.): @findex -watchdog-action BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2620.): BEGIN LINE END LINE: @table : args(1) contents(37) <- @subsection END EMPTY LINE NEW LINE(_root::2621.): The @var{action} controls what QEMU will do when the watchdog timer BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2622.): expires. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2623.): The default is BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2624.): @code{reset} (forcefully reset the guest). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2625.): Other possible actions are: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2626.): @code{shutdown} (attempt to gracefully shutdown the guest), BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2627.): @code{poweroff} (forcefully poweroff the guest), BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2628.): @code{inject-nmi} (inject a NMI into the guest), BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::2629.): @code{pause} (pause the guest), BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::2630.): @code{debug} (print a debug message and continue), or BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::2631.): @code{none} (do nothing). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::2632.): BEGIN LINE END LINE: (paragraph) : contents(21) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2633.): Note that the @code{shutdown} action requires that the guest responds BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2634.): to ACPI signals, which it may not be able to do in the sort of BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2635.): situations where the watchdog would have expired, and thus BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2636.): @code{-watchdog-action shutdown} is not recommended for production use. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2637.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2638.): Examples: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2639.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2640.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2641.): @item -watchdog i6300esb -watchdog-action pause BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2642.): @itemx -watchdog ib700 BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::2643.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2644.): BEGIN LINE END LINE: @table : args(1) contents(45) <- @subsection END EMPTY LINE NEW LINE(_root::2645.): @item -echr @var{numeric_ascii_value} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2646.): @findex -echr BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2647.): Change the escape character used for switching to the monitor when using BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2648.): monitor and serial sharing. The default is @code{0x01} when using the BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2649.): @code{-nographic} option. @code{0x01} is equal to pressing BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2650.): @code{Control-a}. You can select a different character from the ascii BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2651.): control keys where 1 through 26 map to Control-a through Control-z. For BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2652.): instance you could use the either of the following to change the escape BEGIN LINE END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2653.): character to Control-t. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2654.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2655.): @item -echr 0x14 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2656.): @itemx -echr 20 BEGIN LINE COMMAND itemx ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @itemx MISC END @itemx NEW LINE(_root::2657.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2658.): @item -virtioconsole @var{c} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2659.): @findex -virtioconsole BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2660.): Set virtio console. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2661.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2662.): This option is maintained for backward compatibility. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2663.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2664.): Please use @code{-device virtconsole} for the new way of invocation. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2665.): @item -show-cursor BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2666.): @findex -show-cursor BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2667.): Show cursor. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2668.): @item -tb-size @var{n} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2669.): @findex -tb-size BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2670.): Set TB size. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2671.): @item -incoming tcp:address@hidden:@var{port}[,address@hidden,ipv4][,ipv6] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2672.): @itemx -incoming rdma:@var{host}:@var{port}[,ipv4][,ipv6] BEGIN LINE COMMAND itemx ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , END LINE: (misc_line_arg) : contents(6) <- @itemx MISC END @itemx NEW LINE(_root::2673.): @findex -incoming BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2674.): Prepare for incoming migration, listen on a given tcp port. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2675.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2676.): @item -incoming unix:@var{socketpath} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2677.): Prepare for incoming migration, listen on a given unix socket. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2678.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2679.): @item -incoming fd:@var{fd} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2680.): Accept incoming migration from a given filedescriptor. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2681.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2682.): @item -incoming exec:@var{cmdline} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2683.): Accept incoming migration as an output from specified external command. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2684.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2685.): @item -incoming defer BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2686.): Wait for the URI to be specified via migrate_incoming. The monitor can BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2687.): be used to change settings (such as migration parameters) prior to issuing BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2688.): the migrate_incoming to allow the migration to begin. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2689.): @item -only-migratable BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2690.): @findex -only-migratable BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2691.): Only allow migratable devices. Devices will not be allowed to enter an BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2692.): unmigratable state. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2693.): @item -nodefaults BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2694.): @findex -nodefaults BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2695.): Don't create default devices. Normally, QEMU sets the default devices like serial BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2696.): port, parallel port, virtual console, monitor device, VGA adapter, floppy and BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2697.): CD-ROM drive and others. The @code{-nodefaults} option will disable all those BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2698.): default devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2699.): @item -chroot @var{dir} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2700.): @findex -chroot BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2701.): Immediately before starting guest execution, chroot to the specified BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2702.): directory. Especially useful in combination with -runas. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2703.): @item -runas @var{user} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2704.): @findex -runas BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2705.): Immediately before starting guest execution, drop root privileges, switching BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2706.): to the specified user. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2707.): @item -prom-env @address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2708.): @findex -prom-env BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2709.): Set OpenBIOS nvram @var{variable} to given @var{value} (PPC, SPARC only). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2710.): @item -semihosting BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2711.): @findex -semihosting BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2712.): Enable semihosting mode (ARM, M68K, Xtensa, MIPS only). BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2713.): @item -semihosting-config [enable=on|off][,target=native|gdb|auto][,arg=str[,...]] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2714.): @findex -semihosting-config BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2715.): Enable and configure semihosting (ARM, M68K, Xtensa, MIPS only). BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2716.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2717.): @item address@hidden|gdb|auto} BEGIN LINE COMMAND item ITEM_LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2718.): Defines where the semihosting calls will be addressed, to QEMU (@code{native}) BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2719.): or to GDB (@code{gdb}). The default is @code{auto}, which means @code{gdb} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2720.): during debug sessions and @code{native} otherwise. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2721.): @item address@hidden,address@hidden,... BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::2722.): Allows the user to pass input arguments, and can be used multiple times to build BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2723.): up a list. The old-style @code{-kernel}/@code{-append} method of passing a BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2724.): command line is still supported for backward compatibility. If both the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2725.): @code{--semihosting-config arg} and the @code{-kernel}/@code{-append} are BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2726.): specified, the former is passed to semihosting as it always takes precedence. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::2727.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2728.): @item -old-param BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2729.): @findex -old-param (ARM) BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2730.): Old param mode (ARM only). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2731.): @item -sandbox @var{arg}[,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::2732.): @findex -sandbox BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2733.): Enable Seccomp mode 2 system call filter. 'on' will enable syscall filtering and 'off' will BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2734.): disable it. The default is 'off'. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2735.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2736.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2737.): Enable Obsolete system calls BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2738.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2739.): Disable set*uid|gid system calls BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2740.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2741.): Disable *fork and execve BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2742.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2743.): Disable process affinity and schedular priority BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2744.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2745.): @item -readconfig @var{file} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2746.): @findex -readconfig BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2747.): Read device configuration from @var{file}. This approach is useful when you want to spawn BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2748.): QEMU process with many command line options but you don't want to exceed the command line BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2749.): character limit. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2750.): @item -writeconfig @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2751.): @findex -writeconfig BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2752.): Write device configuration to @var{file}. The @var{file} can be either filename to save BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2753.): command line and device configuration into file or dash @code{-}) character to print the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2754.): output to stdout. This can be later used as input file for @code{-readconfig} option. BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2755.): @item -no-user-config BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2756.): @findex -no-user-config BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2757.): The @code{-no-user-config} option makes QEMU not load any of the user-provided BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2758.): config files on @var{sysconfdir}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2759.): @item -trace address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2760.): @findex -trace BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2761.): @include qemu-option-trace.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-option-trace.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): Specify tracing options. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::4.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::5.): Immediately enable events matching @var{pattern}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::6.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::7.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::8.): available if QEMU has been compiled with the @var{simple}, @var{log} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::9.): or @var{ftrace} tracing backend. To specify multiple events or patterns, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::10.): specify the @option{-trace} option multiple times. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::11.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::12.): Use @code{-trace help} to print a list of names of trace points. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::13.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::14.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::15.): Immediately enable events listed in @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::16.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::17.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::18.): available if QEMU has been compiled with the @var{simple}, @var{log} or BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::19.): @var{ftrace} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::20.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::21.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::22.): Log output traces to @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::23.): This option is only available if QEMU has been compiled with BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::24.): the @var{simple} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::25.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2762.): @item -enable-fips BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2763.): @findex -enable-fips BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2764.): Enable FIPS 140-2 compliance mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2765.): @item -msg timestamp[=on|off] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2766.): @findex -msg BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2767.): prepend a timestamp to each log message.(default:on) BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2768.): @item -dump-vmstate @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2769.): @findex -dump-vmstate BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2770.): Dump json-encoded vmstate information for current machine type to file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2771.): in @var{file} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2772.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2773.): @subsection Generic object creation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2774.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2775.): @item -object @var{typename}[,@address@hidden,...] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2776.): @findex -object BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::2777.): Create a new object of type @var{typename} setting properties BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2778.): in the order they are specified. Note that the 'id' BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2779.): property must be set. These objects are placed in the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2780.): '/objects' path. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2781.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2782.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2783.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2784.): @item -object memory-backend-file,address@hidden,address@hidden,address@hidden,address@hidden|off},address@hidden|off},address@hidden|off},address@hidden|off},address@hidden|off},address@hidden,address@hidden|preferred|bind|interleave},address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(23) <- @item MISC END @item NEW LINE(_root::2785.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::2786.): Creates a memory file backend object, which can be used to back BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2787.): the guest RAM with huge pages. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2788.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2789.): The @option{id} parameter is a unique ID that will be used to reference this BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2790.): memory region when configuring the @option{-numa} argument. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2791.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2792.): The @option{size} option provides the size of the memory region, and accepts BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2793.): common suffixes, eg @option{500M}. BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2794.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2795.): The @option{mem-path} provides the path to either a shared memory or huge page BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2796.): filesystem mount. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2797.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2798.): The @option{share} boolean option determines whether the memory BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2799.): region is marked as private to QEMU, or shared. The latter allows BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2800.): a co-operating external process to access the QEMU memory region. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2801.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2802.): The @option{share} is also required for pvrdma devices due to BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2803.): limitations in the RDMA API provided by Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2804.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2805.): Setting share=on might affect the ability to configure NUMA BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2806.): bindings for the memory backend under some circumstances, see BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2807.): Documentation/vm/numa_memory_policy.txt on the Linux kernel BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2808.): source tree for additional details. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2809.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2810.): Setting the @option{discard-data} boolean option to @var{on} BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2811.): indicates that file contents can be destroyed when QEMU exits, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2812.): to avoid unnecessarily flushing data to the backing file. Note BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2813.): that @option{discard-data} is only an optimization, and QEMU BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2814.): might not discard file contents if it aborts unexpectedly or is BEGIN LINE END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2815.): terminated using SIGKILL. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2816.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2817.): The @option{merge} boolean option enables memory merge, also known as BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2818.): MADV_MERGEABLE, so that Kernel Samepage Merging will consider the pages for BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2819.): memory deduplication. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2820.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2821.): Setting the @option{dump} boolean option to @var{off} excludes the memory from BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2822.): core dumps. This feature is also known as MADV_DONTDUMP. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2823.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2824.): The @option{prealloc} boolean option enables memory preallocation. BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2825.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2826.): The @option{host-nodes} option binds the memory range to a list of NUMA host BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2827.): nodes. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2828.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2829.): The @option{policy} option sets the NUMA policy to one of the following values: BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2830.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2831.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2832.): @item @var{default} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2833.): default host policy BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2834.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2835.): @item @var{preferred} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2836.): prefer the given host node list for allocation BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2837.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2838.): @item @var{bind} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2839.): restrict memory allocation to the given host node list BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2840.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2841.): @item @var{interleave} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2842.): interleave memory allocations across the given host node list BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2843.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2844.): BEGIN LINE END LINE: @table : args(1) contents(31) <- @table END EMPTY LINE NEW LINE(_root::2845.): The @option{align} option specifies the base address alignment when BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2846.): QEMU mmap(2) @option{mem-path}, and accepts common suffixes, eg BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2847.): @option{2M}. Some backend store specified by @option{mem-path} BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2848.): requires an alignment different than the default one used by QEMU, eg BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2849.): the device DAX /dev/dax0.0 requires 2M alignment rather than 4K. In BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2850.): such cases, users can specify the required alignment via this option. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2851.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2852.): @item -object memory-backend-ram,address@hidden,address@hidden|off},address@hidden|off},address@hidden|off},address@hidden|off},address@hidden,address@hidden,address@hidden|preferred|bind|interleave} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(17) <- @item MISC END @item NEW LINE(_root::2853.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::2854.): Creates a memory backend object, which can be used to back the guest RAM. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2855.): Memory backend objects offer more control than the @option{-m} option that is BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2856.): traditionally used to define guest RAM. Please refer to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2857.): @option{memory-backend-file} for a description of the options. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2858.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2859.): @item -object memory-backend-memfd,address@hidden,address@hidden|off},address@hidden|off},address@hidden|off},address@hidden,address@hidden,address@hidden|preferred|bind|interleave},address@hidden|off},address@hidden|off},address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(21) <- @item MISC END @item NEW LINE(_root::2860.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::2861.): Creates an anonymous memory file backend object, which allows QEMU to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2862.): share the memory with an external process (e.g. when using BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2863.): vhost-user). The memory is allocated with memfd and optional BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2864.): sealing. (Linux only) BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2865.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2866.): The @option{seal} option creates a sealed-file, that will block BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2867.): further resizing the memory ('on' by default). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2868.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2869.): The @option{hugetlb} option specify the file to be created resides in BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2870.): the hugetlbfs filesystem (since Linux 4.14). Used in conjunction with BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2871.): the @option{hugetlb} option, the @option{hugetlbsize} option specify BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2872.): the hugetlb page size on systems that support multiple hugetlb page BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2873.): sizes (it must be a power of 2 value supported by the system). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2874.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2875.): In some versions of Linux, the @option{hugetlb} option is incompatible BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2876.): with the @option{seal} option (requires at least Linux 4.16). BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2877.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2878.): Please refer to @option{memory-backend-file} for a description of the BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2879.): other options. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2880.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2881.): @item -object rng-random,address@hidden,address@hidden/dev/random} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2882.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::2883.): Creates a random number generator backend which obtains entropy from BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2884.): a device on the host. The @option{id} parameter is a unique ID that BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2885.): will be used to reference this entropy backend from the @option{virtio-rng} BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2886.): device. The @option{filename} parameter specifies which file to obtain BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2887.): entropy from and if omitted defaults to @option{/dev/random}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2888.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2889.): @item -object rng-egd,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2890.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @table END EMPTY LINE NEW LINE(_root::2891.): Creates a random number generator backend which obtains entropy from BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2892.): an external daemon running on the host. The @option{id} parameter is BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2893.): a unique ID that will be used to reference this entropy backend from BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2894.): the @option{virtio-rng} device. The @option{chardev} parameter is BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2895.): the unique ID of a character device backend that provides the connection BEGIN LINE END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2896.): to the RNG daemon. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2897.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2898.): @item -object tls-creds-anon,address@hidden,address@hidden,address@hidden/path/to/cred/dir},address@hidden|off} BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::2899.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @table END EMPTY LINE NEW LINE(_root::2900.): Creates a TLS anonymous credentials object, which can be used to provide BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2901.): TLS support on network backends. The @option{id} parameter is a unique BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2902.): ID which network backends will use to access the credentials. The BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2903.): @option{endpoint} is either @option{server} or @option{client} depending BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2904.): on whether the QEMU network backend that uses the credentials will be BEGIN LINE END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2905.): acting as a client or as a server. If @option{verify-peer} is enabled BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::2906.): (the default) then once the handshake is completed, the peer credentials BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::2907.): will be verified, though this is a no-op for anonymous credentials. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::2908.): BEGIN LINE END LINE: (paragraph) : contents(18) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2909.): The @var{dir} parameter tells QEMU where to find the credential BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2910.): files. For server endpoints, this directory may contain a file BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2911.): @var{dh-params.pem} providing diffie-hellman parameters to use BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2912.): for the TLS server. If the file is missing, QEMU will generate BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2913.): a set of DH parameters at startup. This is a computationally BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2914.): expensive operation that consumes random pool entropy, so it is BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2915.): recommended that a persistent set of parameters be generated BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2916.): upfront and saved. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2917.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2918.): @item -object tls-creds-x509,address@hidden,address@hidden,address@hidden/path/to/cred/dir},address@hidden,address@hidden|off},address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(13) <- @item MISC END @item NEW LINE(_root::2919.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @table END EMPTY LINE NEW LINE(_root::2920.): Creates a TLS anonymous credentials object, which can be used to provide BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2921.): TLS support on network backends. The @option{id} parameter is a unique BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2922.): ID which network backends will use to access the credentials. The BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2923.): @option{endpoint} is either @option{server} or @option{client} depending BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2924.): on whether the QEMU network backend that uses the credentials will be BEGIN LINE END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2925.): acting as a client or as a server. If @option{verify-peer} is enabled BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::2926.): (the default) then once the handshake is completed, the peer credentials BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::2927.): will be verified. With x509 certificates, this implies that the clients BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::2928.): must be provided with valid client certificates too. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::2929.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2930.): The @var{dir} parameter tells QEMU where to find the credential BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2931.): files. For server endpoints, this directory may contain a file BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2932.): @var{dh-params.pem} providing diffie-hellman parameters to use BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2933.): for the TLS server. If the file is missing, QEMU will generate BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2934.): a set of DH parameters at startup. This is a computationally BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2935.): expensive operation that consumes random pool entropy, so it is BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2936.): recommended that a persistent set of parameters be generated BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2937.): upfront and saved. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2938.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2939.): For x509 certificate credentials the directory will contain further files BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2940.): providing the x509 certificates. The certificates must be stored BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2941.): in PEM format, in filenames @var{ca-cert.pem}, @var{ca-crl.pem} (optional), BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2942.): @var{server-cert.pem} (only servers), @var{server-key.pem} (only servers), BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2943.): @var{client-cert.pem} (only clients), and @var{client-key.pem} (only clients). BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::2944.): BEGIN LINE END LINE: (paragraph) : contents(16) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2945.): For the @var{server-key.pem} and @var{client-key.pem} files which BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2946.): contain sensitive private keys, it is possible to use an encrypted BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2947.): version by providing the @var{passwordid} parameter. This provides BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2948.): the ID of a previously created @code{secret} object containing the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::2949.): password for decryption. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::2950.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2951.): The @var{priority} parameter allows to override the global default BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2952.): priority used by gnutls. This can be useful if the system administrator BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2953.): needs to use a weaker set of crypto priorities for QEMU without BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2954.): potentially forcing the weakness onto all applications. Or conversely BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2955.): if one wants wants a stronger default for QEMU than for all other BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2956.): applications, they can do this through this parameter. Its format is BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2957.): a gnutls priority string as described at BEGIN LINE END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2958.): @url{https://gnutls.org/manual/html_node/Priority-Strings.html}. BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::2959.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2960.): @item -object filter-buffer,address@hidden,address@hidden,address@hidden,address@hidden|rx|tx}][,address@hidden|off}] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::2961.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @table END EMPTY LINE NEW LINE(_root::2962.): Interval @var{t} can't be 0, this filter batches the packet delivery: all BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2963.): packets arriving in a given interval on netdev @var{netdevid} are delayed BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2964.): until the end of the interval. Interval is in microseconds. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2965.): @option{status} is optional that indicate whether the netfilter is BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2966.): on (enabled) or off (disabled), the default status for netfilter will be 'on'. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::2967.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2968.): queue @var{all|rx|tx} is an option that can be applied to any netfilter. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2969.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2970.): @option{all}: the filter is attached both to the receive and the transmit BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2971.): queue of the netdev (default). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2972.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2973.): @option{rx}: the filter is attached to the receive queue of the netdev, BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2974.): where it will receive packets sent to the netdev. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2975.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2976.): @option{tx}: the filter is attached to the transmit queue of the netdev, BEGIN LINE COMMAND option PARAGRAPH SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2977.): where it will receive packets sent by the netdev. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2978.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2979.): @item -object filter-mirror,address@hidden,address@hidden,address@hidden,address@hidden|rx|tx}[,vnet_hdr_support] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::2980.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @table END EMPTY LINE NEW LINE(_root::2981.): filter-mirror on netdev @var{netdevid},mirror net packet to address@hidden, if it has the vnet_hdr_support flag, filter-mirror will mirror packet with vnet_hdr_len. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2982.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2983.): @item -object filter-redirector,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden|rx|tx}[,vnet_hdr_support] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::2984.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @table END EMPTY LINE NEW LINE(_root::2985.): filter-redirector on netdev @var{netdevid},redirect filter's net packet to chardev BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2986.): @var{chardevid},and redirect indev's packet to filter.if it has the vnet_hdr_support flag, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2987.): filter-redirector will redirect packet with vnet_hdr_len. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2988.): Create a filter-redirector we need to differ outdev id from indev id, id can not BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2989.): be the same. we can just use indev or outdev, but at least one of indev or outdev BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2990.): need to be specified. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::2991.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2992.): @item -object filter-rewriter,address@hidden,address@hidden,address@hidden|rx|tx},[vnet_hdr_support] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::2993.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @table END EMPTY LINE NEW LINE(_root::2994.): Filter-rewriter is a part of COLO project.It will rewrite tcp packet to BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2995.): secondary from primary to keep secondary tcp connection,and rewrite BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2996.): tcp packet to primary from secondary make tcp packet can be handled by BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2997.): client.if it has the vnet_hdr_support flag, we can parse packet with vnet header. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2998.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2999.): usage: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3000.): colo secondary: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3001.): -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3002.): -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::3003.): -object filter-rewriter,id=rew0,netdev=hn0,queue=all BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::3004.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3005.): @item -object filter-dump,address@hidden,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::3006.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @table END EMPTY LINE NEW LINE(_root::3007.): Dump the network traffic on netdev @var{dev} to the file specified by BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3008.): @var{filename}. At most @var{len} bytes (64k by default) per packet are stored. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::3009.): The file format is libpcap, so it can be analyzed with tools such as tcpdump BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::3010.): or Wireshark. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::3011.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3012.): @item -object colo-compare,address@hidden,address@hidden,address@hidden,address@hidden,vnet_hdr_support] BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::3013.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @table END EMPTY LINE NEW LINE(_root::3014.): Colo-compare gets packet from address@hidden and address@hidden, than compare primary packet with BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::3015.): secondary packet. If the packets are same, we will output primary BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::3016.): packet to address@hidden, else we will notify colo-frame BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::3017.): do checkpoint and send primary packet to address@hidden BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::3018.): if it has the vnet_hdr_support flag, colo compare will send/recv packet with vnet_hdr_len. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::3019.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3020.): we must use it with the help of filter-mirror and filter-redirector. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3021.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3022.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3023.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3024.): primary: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3025.): -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::3026.): -device e1000,id=e0,netdev=hn0,mac=52:a4:00:12:78:66 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::3027.): -chardev socket,id=mirror0,host=3.3.3.3,port=9003,server,nowait BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::3028.): -chardev socket,id=compare1,host=3.3.3.3,port=9004,server,nowait BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::3029.): -chardev socket,id=compare0,host=3.3.3.3,port=9001,server,nowait BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::3030.): -chardev socket,id=compare0-0,host=3.3.3.3,port=9001 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::3031.): -chardev socket,id=compare_out,host=3.3.3.3,port=9005,server,nowait BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::3032.): -chardev socket,id=compare_out0,host=3.3.3.3,port=9005 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(10) <- @example NEW LINE(_root|preformatted::3033.): -object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::3034.): -object filter-redirector,netdev=hn0,id=redire0,queue=rx,indev=compare_out BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(12) <- @example NEW LINE(_root|preformatted::3035.): -object filter-redirector,netdev=hn0,id=redire1,queue=rx,outdev=compare0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(13) <- @example NEW LINE(_root|preformatted::3036.): -object colo-compare,id=comp0,primary_in=compare0-0,secondary_in=compare1,outdev=compare_out0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(14) <- @example NEW LINE(_root|preformatted::3037.): BEGIN LINE END LINE: (preformatted) : contents(15) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3038.): secondary: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::3039.): -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,down script=/etc/qemu-ifdown BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(17) <- @example NEW LINE(_root|preformatted::3040.): -device e1000,netdev=hn0,mac=52:a4:00:12:78:66 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(18) <- @example NEW LINE(_root|preformatted::3041.): -chardev socket,id=red0,host=3.3.3.3,port=9003 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(19) <- @example NEW LINE(_root|preformatted::3042.): -chardev socket,id=red1,host=3.3.3.3,port=9004 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(20) <- @example NEW LINE(_root|preformatted::3043.): -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(21) <- @example NEW LINE(_root|preformatted::3044.): -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(22) <- @example NEW LINE(_root|preformatted::3045.): BEGIN LINE END LINE: (preformatted) : contents(23) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3046.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3047.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @table END EMPTY LINE NEW LINE(_root::3048.): If you want to know the detail of above command line, you can read BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3049.): the colo-compare git log. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3050.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3051.): @item -object cryptodev-backend-builtin,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::3052.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @table END EMPTY LINE NEW LINE(_root::3053.): Creates a cryptodev backend which executes crypto opreation from BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3054.): the QEMU cipher APIS. The @var{id} parameter is BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::3055.): a unique ID that will be used to reference this cryptodev backend from BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::3056.): the @option{virtio-crypto} device. The @var{queues} parameter is optional, BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::3057.): which specify the queue number of cryptodev backend, the default of BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::3058.): @var{queues} is 1. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::3059.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3060.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3061.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3062.): # qemu-system-x86_64 \ BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3063.): [...] \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::3064.): -object cryptodev-backend-builtin,id=cryptodev0 \ BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::3065.): -device virtio-crypto-pci,id=crypto0,cryptodev=cryptodev0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::3066.): [...] BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::3067.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3068.): BEGIN LINE END LINE: @table : args(1) contents(20) <- @table END EMPTY LINE NEW LINE(_root::3069.): @item -object cryptodev-vhost-user,address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::3070.): BEGIN LINE END LINE: @table : args(1) contents(17) <- @table END EMPTY LINE NEW LINE(_root::3071.): Creates a vhost-user cryptodev backend, backed by a chardev @var{chardevid}. BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3072.): The @var{id} parameter is a unique ID that will be used to reference this BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::3073.): cryptodev backend from the @option{virtio-crypto} device. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::3074.): The chardev should be a unix domain socket backed one. The vhost-user uses BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::3075.): a specifically defined protocol to pass vhost ioctl replacement messages BEGIN LINE END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::3076.): to an application on the other end of the socket. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::3077.): The @var{queues} parameter is optional, which specify the queue number BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::3078.): of cryptodev backend for multiqueue vhost-user, the default of @var{queues} is 1. BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::3079.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3080.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3081.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3082.): # qemu-system-x86_64 \ BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3083.): [...] \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::3084.): -chardev socket,id=chardev0,path=/path/to/socket \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::3085.): -object cryptodev-vhost-user,id=cryptodev0,chardev=chardev0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::3086.): -device virtio-crypto-pci,id=crypto0,cryptodev=cryptodev0 \ BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::3087.): [...] BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::3088.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3089.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @table END EMPTY LINE NEW LINE(_root::3090.): @item -object secret,address@hidden,address@hidden,address@hidden|base64}[,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::3091.): @item -object secret,address@hidden,address@hidden,address@hidden|base64}[,address@hidden,address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(12) <- @item MISC END @item NEW LINE(_root::3092.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @table END EMPTY LINE NEW LINE(_root::3093.): Defines a secret to store a password, encryption key, or some other sensitive BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3094.): data. The sensitive data can either be passed directly via the @var{data} BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3095.): parameter, or indirectly via the @var{file} parameter. Using the @var{data} BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::3096.): parameter is insecure unless the sensitive data is encrypted. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::3097.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3098.): The sensitive data can be provided in raw format (the default), or base64. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3099.): When encoded as JSON, the raw format only supports valid UTF-8 characters, BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3100.): so base64 is recommended for sending binary data. QEMU will convert from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3101.): which ever format is provided to the format it needs internally. eg, an BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::3102.): RBD password can be provided in raw format, even though it will be base64 BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::3103.): encoded when passed onto the RBD sever. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::3104.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3105.): For added protection, it is possible to encrypt the data associated with BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3106.): a secret using the AES-256-CBC cipher. Use of encryption is indicated BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3107.): by providing the @var{keyid} and @var{iv} parameters. The @var{keyid} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::3108.): parameter provides the ID of a previously defined secret that contains BEGIN LINE END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::3109.): the AES-256 decryption key. This key should be 32-bytes long and be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::3110.): base64 encoded. The @var{iv} parameter provides the random initialization BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::3111.): vector used for encryption of this particular secret and should be a BEGIN LINE END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::3112.): base64 encrypted string of the 16-byte IV. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::3113.): BEGIN LINE END LINE: (paragraph) : contents(17) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3114.): The simplest (insecure) usage is to provide the secret inline BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3115.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3116.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3117.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3118.): # $QEMU -object secret,id=sec0,data=letmein,format=raw BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3119.): BEGIN LINE END LINE: (preformatted) : contents(3) <- @example END EMPTY LINE NEW LINE(_root|preformatted::3120.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3121.): BEGIN LINE END LINE: @table : args(1) contents(29) <- @table END EMPTY LINE NEW LINE(_root::3122.): The simplest secure usage is to provide the secret via a file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3123.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3124.): # printf "letmein" > mypasswd.txt BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3125.): # $QEMU -object secret,id=sec0,file=mypasswd.txt,format=raw BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3126.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3127.): For greater security, AES-256-CBC should be used. To illustrate usage, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3128.): consider the openssl command line tool which can encrypt the data. Note BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3129.): that when encrypting, the plaintext must be padded to the cipher block BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3130.): size (32 bytes) using the standard PKCS#5/6 compatible padding algorithm. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::3131.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3132.): First a master key needs to be created in base64 encoding: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3133.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3134.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3135.): # openssl rand -base64 32 > key.b64 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::3136.): # KEY=$(base64 -d key.b64 | hexdump -v -e '/1 "%02X"') BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3137.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3138.): BEGIN LINE END LINE: @table : args(1) contents(39) <- @table END EMPTY LINE NEW LINE(_root::3139.): Each secret to be encrypted needs to have a random initialization vector BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3140.): generated. These do not need to be kept secret BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3141.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3142.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3143.): # openssl rand -base64 16 > iv.b64 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::3144.): # IV=$(base64 -d iv.b64 | hexdump -v -e '/1 "%02X"') BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3145.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3146.): BEGIN LINE END LINE: @table : args(1) contents(43) <- @table END EMPTY LINE NEW LINE(_root::3147.): The secret to be defined can now be encrypted, in this case we're BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::3148.): telling openssl to base64 encode the result, but it could be left BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3149.): as raw bytes if desired. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::3150.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3151.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3152.): # SECRET=$(printf "letmein" | BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::3153.): openssl enc -aes-256-cbc -a -K $KEY -iv $IV) BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3154.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::3155.): BEGIN LINE END LINE: @table : args(1) contents(47) <- @table END EMPTY LINE NEW LINE(_root::3156.): When launching QEMU, create a master secret pointing to @code{key.b64} BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::3157.): and specify that to be used to decrypt the user password. Pass the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::3158.): contents of @code{iv.b64} to the second secret BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::3159.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3160.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::3161.): # $QEMU \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::3162.): -object secret,id=secmaster0,format=base64,file=key.b64 \ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::3163.): -object secret,id=sec0,keyid=secmaster0,format=base64,\ BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::3164.): data=$SECRET,iv=$([:]//'' BEGIN LINE SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::265.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::266.): By default qemu will use the iSCSI initiator-name BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::267.): 'iqn.2008-11.org.linux-kvm[:]' but this can also be set from the command BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::268.): line or a configuration file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::269.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::270.): Since version Qemu 2.4 it is possible to specify a iSCSI request timeout to detect BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::271.): stalled requests and force a reestablishment of the session. The timeout BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::272.): is specified in seconds. The default is 0 which means no timeout. Libiscsi BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::273.): 1.15.0 or greater is required for this feature. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::274.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::275.): Example (without authentication): BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::276.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::277.): qemu-system-i386 -iscsi initiator-name=iqn.2001-04.com.example:my-initiator \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::278.): -cdrom iscsi://192.0.2.1/iqn.2001-04.com.example/2 \ BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::279.): -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1 BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::280.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::281.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::282.): Example (CHAP username/password via URL): BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::283.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::284.): qemu-system-i386 -drive file=iscsi://user%password@@192.0.2.1/iqn.2001-04.com.example/1 BEGIN LINE SEPARATOR: : COMMAND @ SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::285.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::286.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @subsection END EMPTY LINE NEW LINE(_root::287.): Example (CHAP username/password via environment variables): BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::288.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::289.): LIBISCSI_CHAP_USERNAME="user" \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::290.): LIBISCSI_CHAP_PASSWORD="password" \ BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::291.): qemu-system-i386 -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1 BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::292.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::293.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @subsection END EMPTY LINE NEW LINE(_root::294.): @item NBD BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::295.): QEMU supports NBD (Network Block Devices) both using TCP protocol as well BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::296.): as Unix Domain Sockets. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::297.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::298.): Syntax for specifying a NBD device using TCP BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::299.): ``nbd::[:exportname=]'' BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::300.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::301.): Syntax for specifying a NBD device using Unix Domain Sockets BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::302.): ``nbd:unix:[:exportname=]'' BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::303.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::304.): Example for TCP BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::305.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::306.): qemu-system-i386 --drive file=nbd:192.0.2.1:30000 BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::307.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::308.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::309.): Example for Unix Domain Sockets BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::310.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::311.): qemu-system-i386 --drive file=nbd:unix:/tmp/nbd-socket BEGIN LINE SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::312.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::313.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::314.): @item SSH BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::315.): QEMU supports SSH (Secure Shell) access to remote disks. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::316.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::317.): Examples: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::318.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::319.): qemu-system-i386 -drive file=ssh://user@@host/path/to/disk.img BEGIN LINE SEPARATOR: : COMMAND @ SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::320.): qemu-system-i386 -drive file.driver=ssh,file.user=user,file.host=host,file.port=22,file.path=/path/to/disk.img BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::321.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::322.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @subsection END EMPTY LINE NEW LINE(_root::323.): Currently authentication must be done using ssh-agent. Other BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::324.): authentication methods may be supported in future. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::325.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::326.): @item Sheepdog BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::327.): Sheepdog is a distributed storage system for QEMU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::328.): QEMU supports using either local sheepdog devices or remote networked BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::329.): devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::330.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::331.): Syntax for specifying a sheepdog device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::332.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::333.): sheepdog[+tcp|+unix]://[host:port]/vdiname[?socket=path][#snapid|#tag] BEGIN LINE SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::334.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::335.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @subsection END EMPTY LINE NEW LINE(_root::336.): Example BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::337.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::338.): qemu-system-i386 --drive file=sheepdog://192.0.2.1:30000/MyVirtualMachine BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::339.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::340.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::341.): See also @url{https://sheepdog.github.io/sheepdog/}. BEGIN LINE PARAGRAPH COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::342.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::343.): @item GlusterFS BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::344.): GlusterFS is a user space distributed file system. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::345.): QEMU supports the use of GlusterFS volumes for hosting VM disk images using BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::346.): TCP, Unix Domain Sockets and RDMA transport protocols. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::347.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::348.): Syntax for specifying a VM disk image on GlusterFS volume is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::349.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::350.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::351.): URI: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::352.): gluster[+type]://[host[:port]]/volume/path[?socket=...][,debug=N][,logfile=...] BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::353.): BEGIN LINE END LINE: (preformatted) : contents(4) <- @example END EMPTY LINE NEW LINE(_root|preformatted::354.): JSON: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::355.): 'json:@{"driver":"qcow2","file":@{"driver":"gluster","volume":"testvol","path":"a.img","debug":N,"logfile":"...", BEGIN LINE SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: , SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(10) <- @example NEW LINE(_root|preformatted::356.): @ "server":address@hidden"type":"tcp","host":"...","port":"..."@}, BEGIN LINE COMMAND SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND } SEPARATOR: , END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::357.): @ @{"type":"unix","socket":"..."@address@hidden@}' BEGIN LINE COMMAND COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND } COMMAND } COMMAND } END LINE: (preformatted) : contents(25) <- @example NEW LINE(_root|preformatted::358.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::359.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::360.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::361.): Example BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::362.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::363.): URI: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::364.): qemu-system-x86_64 --drive file=gluster://192.0.2.1/testvol/a.img, BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::365.): @ file.debug=9,file.logfile=/var/log/qemu-gluster.log BEGIN LINE COMMAND SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::366.): BEGIN LINE END LINE: (preformatted) : contents(5) <- @example END EMPTY LINE NEW LINE(_root|preformatted::367.): JSON: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::368.): qemu-system-x86_64 'json:@{"driver":"qcow2", BEGIN LINE SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::369.): @ "file":@{"driver":"gluster", BEGIN LINE COMMAND SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(13) <- @example NEW LINE(_root|preformatted::370.): @ "volume":"testvol","path":"a.img", BEGIN LINE COMMAND SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(15) <- @example NEW LINE(_root|preformatted::371.): @ "debug":9,"logfile":"/var/log/qemu-gluster.log", BEGIN LINE COMMAND SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(17) <- @example NEW LINE(_root|preformatted::372.): @ "server":address@hidden"type":"tcp","host":"1.2.3.4","port":address@hidden, BEGIN LINE COMMAND SEPARATOR: : COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: : COMMAND } SEPARATOR: , END LINE: (preformatted) : contents(23) <- @example NEW LINE(_root|preformatted::373.): @ @{"type":"unix","socket":"/var/run/glusterd.socket"@address@hidden@}' BEGIN LINE COMMAND COMMAND { SEPARATOR: : SEPARATOR: , SEPARATOR: : SEPARATOR: . COMMAND } COMMAND } COMMAND } END LINE: (preformatted) : contents(32) <- @example NEW LINE(_root|preformatted::374.): qemu-system-x86_64 -drive driver=qcow2,file.driver=gluster,file.volume=testvol,file.path=/path/a.img, BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(33) <- @example NEW LINE(_root|preformatted::375.): @ file.debug=9,file.logfile=/var/log/qemu-gluster.log, BEGIN LINE COMMAND SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(35) <- @example NEW LINE(_root|preformatted::376.): @ file.server.0.type=tcp,file.server.0.host=1.2.3.4,file.server.0.port=24007, BEGIN LINE COMMAND SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(37) <- @example NEW LINE(_root|preformatted::377.): @ file.server.1.type=unix,file.server.1.socket=/var/run/glusterd.socket BEGIN LINE COMMAND SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(39) <- @example NEW LINE(_root|preformatted::378.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::379.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::380.): See also @url{http://www.gluster.org}. BEGIN LINE PARAGRAPH COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::381.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::382.): @item HTTP/HTTPS/FTP/FTPS BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::383.): QEMU supports read-only access to files accessed over http(s) and ftp(s). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::384.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::385.): Syntax using a single filename: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::386.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::387.): ://[[:]@@]/ BEGIN LINE SEPARATOR: : SEPARATOR: : COMMAND @ END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::388.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::389.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::390.): where: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::391.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::392.): @item protocol BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::393.): 'http', 'https', 'ftp', or 'ftps'. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::394.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::395.): @item username BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::396.): Optional username for authentication to the remote server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::397.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::398.): @item password BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::399.): Optional password for authentication to the remote server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::400.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::401.): @item host BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::402.): Address of the remote server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::403.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::404.): @item path BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::405.): Path on the remote server, including any query string. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::406.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::407.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::408.): The following options are also supported: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::409.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::410.): @item url BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::411.): The full URL when passing options to the driver explicitly. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::412.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::413.): @item readahead BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::414.): The amount of data to read ahead with each range request to the remote server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::415.): This value may optionally have the suffix 'T', 'G', 'M', 'K', 'k' or 'b'. If it BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::416.): does not have a suffix, it will be assumed to be in bytes. The value must be a BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::417.): multiple of 512 bytes. It defaults to 256k. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::418.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::419.): @item sslverify BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::420.): Whether to verify the remote server's certificate when connecting over SSL. It BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::421.): can have the value 'on' or 'off'. It defaults to 'on'. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::422.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::423.): @item cookie BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::424.): Send this cookie (it can also be a list of cookies separated by ';') with BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::425.): each outgoing request. Only supported when using protocols such as HTTP BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::426.): which support cookies, otherwise ignored. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::427.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::428.): @item timeout BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::429.): Set the timeout in seconds of the CURL connection. This timeout is the time BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::430.): that CURL waits for a response from the remote server to get the size of the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::431.): image to be downloaded. If not set, the default timeout of 5 seconds is used. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::432.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::433.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::434.): Note that when passing options to qemu explicitly, @option{driver} is the value BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::435.): of . BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::436.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::437.): Example: boot from a remote Fedora 20 live ISO image BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::438.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::439.): qemu-system-x86_64 --drive media=cdrom,file=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso,readonly BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::440.): BEGIN LINE END LINE: (preformatted) : contents(2) <- @example END EMPTY LINE NEW LINE(_root|preformatted::441.): qemu-system-x86_64 --drive media=cdrom,file.driver=http,file.url=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso,readonly BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::442.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::443.): BEGIN LINE END LINE: @table : args(1) contents(23) <- @subsection END EMPTY LINE NEW LINE(_root::444.): Example: boot from a remote Fedora 20 cloud image using a local overlay for BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::445.): writes, copy-on-read, and a readahead of 64k BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::446.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::447.): qemu-img create -f qcow2 -o backing_file='json:@{"file.driver":"http",, "file.url":"https://dl.fedoraproject.org/pub/fedora/linux/releases/20/Images/x86_64/Fedora-x86_64-20-20131211.1-sda.qcow2",, "file.readahead":"64k"@}' /tmp/Fedora-x86_64-20-20131211.1-sda.qcow2 BEGIN LINE SEPARATOR: : COMMAND { SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : COMMAND } SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::448.): BEGIN LINE END LINE: (preformatted) : contents(6) <- @example END EMPTY LINE NEW LINE(_root|preformatted::449.): qemu-system-x86_64 -drive file=/tmp/Fedora-x86_64-20-20131211.1-sda.qcow2,copy-on-read=on BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::450.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::451.): BEGIN LINE END LINE: @table : args(1) contents(26) <- @subsection END EMPTY LINE NEW LINE(_root::452.): Example: boot from an image stored on a VMware vSphere server with a self-signed BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::453.): certificate using a local overlay for writes, a readahead of 64k and a timeout BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::454.): of 10 seconds. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::455.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::456.): qemu-img create -f qcow2 -o backing_file='json:@{"file.driver":"https",, "file.url":"https://user:password@@vsphere.example.com/folder/test/test-flat.vmdk?dcPath=Datacenter&dsName=datastore1",, "file.sslverify":"off",, "file.readahead":"64k",, "file.timeout":address@hidden' /tmp/test.qcow2 BEGIN LINE SEPARATOR: : COMMAND { SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: : COMMAND @ SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: : COMMAND } SEPARATOR: . END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::457.): BEGIN LINE END LINE: (preformatted) : contents(8) <- @example END EMPTY LINE NEW LINE(_root|preformatted::458.): qemu-system-x86_64 -drive file=/tmp/test.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::459.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::460.): BEGIN LINE END LINE: @table : args(1) contents(29) <- @subsection END EMPTY LINE NEW LINE(_root::461.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::462.): BEGIN LINE END LINE: @subsection : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::463.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::464.): BEGIN LINE END LINE: @subsection : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::465.): @node pcsys_keys BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::466.): @section Keys in the graphical frontends BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::467.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::468.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::469.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::470.): During the graphical emulation, you can use special key combinations to change BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::471.): modes. The default key mappings are shown below, but if you use @code{-alt-grab} BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::472.): then the modifier is Ctrl-Alt-Shift (instead of Ctrl-Alt) and if you use BEGIN LINE END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::473.): @code{-ctrl-grab} then the modifier is the right Ctrl key (instead of Ctrl-Alt): BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::474.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::475.): @table @key BEGIN LINE COMMAND table COMMAND key FOR PARENT @table command_as_argument key END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::476.): @item Ctrl-Alt-f BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::477.): @kindex Ctrl-Alt-f BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::478.): Toggle full screen BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::479.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::480.): @item Ctrl-Alt-+ BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::481.): @kindex Ctrl-Alt-+ BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::482.): Enlarge the screen BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::483.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::484.): @item Ctrl-Alt-- BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::485.): @kindex Ctrl-Alt-- BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::486.): Shrink the screen BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::487.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::488.): @item Ctrl-Alt-u BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::489.): @kindex Ctrl-Alt-u BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::490.): Restore the screen's un-scaled dimensions BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::491.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::492.): @item Ctrl-Alt-n BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::493.): @kindex Ctrl-Alt-n BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::494.): Switch to virtual console 'n'. Standard console mappings are: BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::495.): @table @emph BEGIN LINE COMMAND table CLOSE PARA COMMAND emph FOR PARENT @table command_as_argument emph END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::496.): @item 1 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::497.): Target system display BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::498.): @item 2 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::499.): Monitor BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::500.): @item 3 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::501.): Serial port BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::502.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::503.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @section END EMPTY LINE NEW LINE(_root::504.): @item Ctrl-Alt BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::505.): @kindex Ctrl-Alt BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::506.): Toggle mouse and keyboard grab. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::507.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::508.): BEGIN LINE END LINE: @section : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::509.): @kindex Ctrl-Up BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::510.): @kindex Ctrl-Down BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::511.): @kindex Ctrl-PageUp BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::512.): @kindex Ctrl-PageDown BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::513.): In the virtual consoles, you can use @key{Ctrl-Up}, @key{Ctrl-Down}, BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: , COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: , END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::514.): @key{Ctrl-PageUp} and @key{Ctrl-PageDown} to move in the back log. BEGIN LINE COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: . END LINE: (paragraph) : contents(9) <- @section NEW LINE(_root::515.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::516.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::517.): BEGIN LINE END LINE: @section : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::518.): @node mux_keys BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::519.): @section Keys in the character backend multiplexer BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::520.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::521.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::522.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::523.): During emulation, if you are using a character backend multiplexer BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::524.): (which is the default if you are using @option{-nographic}) then BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::525.): several commands are available via an escape sequence. These BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::526.): key sequences all start with an escape character, which is @key{Ctrl-a} BEGIN LINE SEPARATOR: , COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::527.): by default, but can be changed with @option{-echr}. The list below assumes BEGIN LINE SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(11) <- @section NEW LINE(_root::528.): you're using the default. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @section NEW LINE(_root::529.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::530.): @table @key BEGIN LINE COMMAND table COMMAND key FOR PARENT @table command_as_argument key END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::531.): @item Ctrl-a h BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::532.): @kindex Ctrl-a h BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::533.): Print this help BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::534.): @item Ctrl-a x BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::535.): @kindex Ctrl-a x BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::536.): Exit emulator BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::537.): @item Ctrl-a s BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::538.): @kindex Ctrl-a s BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::539.): Save disk data back to file (if -snapshot) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::540.): @item Ctrl-a t BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::541.): @kindex Ctrl-a t BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::542.): Toggle console timestamps BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::543.): @item Ctrl-a b BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::544.): @kindex Ctrl-a b BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::545.): Send break (magic sysrq in Linux) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::546.): @item Ctrl-a c BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::547.): @kindex Ctrl-a c BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::548.): Rotate between the frontends connected to the multiplexer (usually BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::549.): this switches between the monitor and the console) BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::550.): @item Ctrl-a Ctrl-a BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::551.): @kindex Ctrl-a Ctrl-a BEGIN LINE COMMAND kindex END LINE: (misc_line_arg) : contents(2) <- @kindex MISC END @kindex NEW LINE(_root::552.): Send the escape character to the frontend BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::553.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::554.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::555.): BEGIN LINE END LINE: @section : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::556.): @ignore BEGIN LINE COMMAND ignore NEW LINE(_root::557.): NEW LINE(_root::558.): @c man begin SEEALSO NEW LINE(_root::559.): The HTML documentation of QEMU for more precise information and Linux NEW LINE(_root::560.): user mode emulator invocation. NEW LINE(_root::561.): @c man end NEW LINE(_root::562.): NEW LINE(_root::563.): @c man begin AUTHOR NEW LINE(_root::564.): Fabrice Bellard NEW LINE(_root::565.): @c man end NEW LINE(_root::566.): NEW LINE(_root::567.): @end ignore CLOSED raw ignore END LINE: @section : args(1) contents(10) <- (document_root) NEW LINE(_root::568.): BEGIN LINE END LINE: @section : args(1) contents(11) <- (document_root) END EMPTY LINE NEW LINE(_root::569.): @node pcsys_monitor BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::570.): @section QEMU Monitor BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::571.): @cindex QEMU monitor BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::572.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::573.): The QEMU monitor is used to give complex commands to the QEMU BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::574.): emulator. You can use it to: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::575.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::576.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::577.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::578.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::579.): Remove or insert removable media images BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::580.): (such as CD-ROM or floppies). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::581.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::582.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::583.): Freeze/unfreeze the Virtual Machine (VM) and save or restore its state BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::584.): from a disk file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::585.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::586.): @item Inspect the VM state without an external debugger. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::587.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::588.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::589.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::590.): @subsection Commands BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::591.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::592.): The following commands are available: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::593.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::594.): @include qemu-monitor.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-monitor.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2.): @item help or ? address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::3.): @findex help BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::4.): Show the help for all commands or just for command @var{cmd}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::5.): @item commit BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::6.): @findex commit BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::7.): Commit changes to the disk images (if -snapshot is used) or backing files. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::8.): If the backing file is smaller than the snapshot, then the backing file will be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::9.): resized to be the same size as the snapshot. If the snapshot is smaller than BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::10.): the backing file, the backing file will not be truncated. If you want the BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::11.): backing file to match the size of the smaller snapshot, you can safely truncate BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::12.): it yourself once the commit operation successfully completes. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::13.): @item q or quit BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::14.): @findex quit BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::15.): Quit the emulator. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::16.): @item block_resize BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::17.): @findex block_resize BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::18.): Resize a block image while a guest is running. Usually requires guest BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::19.): action to see the updated size. Resize to a lower size is supported, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::20.): but should be used with extreme caution. Note that this command only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::21.): resizes image files, it can not resize block devices like LVM volumes. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::22.): @item block_stream BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::23.): @findex block_stream BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::24.): Copy data from a backing file into a block device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::25.): @item block_job_set_speed BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::26.): @findex block_job_set_speed BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::27.): Set maximum speed for a background block operation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::28.): @item block_job_cancel BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::29.): @findex block_job_cancel BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::30.): Stop an active background block operation (streaming, mirroring). BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::31.): @item block_job_complete BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::32.): @findex block_job_complete BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::33.): Manually trigger completion of an active background block operation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::34.): For mirroring, this will switch the device to the destination path. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::35.): @item block_job_pause BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::36.): @findex block_job_pause BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::37.): Pause an active block streaming operation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::38.): @item block_job_resume BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::39.): @findex block_job_resume BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::40.): Resume a paused block streaming operation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::41.): @item eject [-f] @var{device} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::42.): @findex eject BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::43.): Eject a removable medium (use -f to force it). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::44.): @item drive_del @var{device} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::45.): @findex drive_del BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::46.): Remove host block device. The result is that guest generated IO is no longer BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::47.): submitted against the host device underlying the disk. Once a drive has BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::48.): been deleted, the QEMU Block layer returns -EIO which results in IO BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::49.): errors in the guest for applications that are reading/writing to the device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::50.): These errors are always reported to the guest, regardless of the drive's error BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::51.): actions (drive options rerror, werror). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::52.): @item change @var{device} @var{setting} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::53.): @findex change BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::54.): Change the configuration of a device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::55.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::56.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::57.): @item change @var{diskdevice} @var{filename} address@hidden address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::58.): Change the medium for a removable disk device to point to @var{filename}. eg BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::59.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::60.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::61.): (qemu) change ide1-cd0 /path/to/some.iso BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::62.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::63.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::64.): @var{format} is optional. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::65.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::66.): @var{read-only-mode} may be used to change the read-only status of the device. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::67.): It accepts the following values: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::68.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::69.): @table @var BEGIN LINE COMMAND table COMMAND var FOR PARENT @table command_as_argument var END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::70.): @item retain BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::71.): Retains the current status; this is the default. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::72.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::73.): @item read-only BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::74.): Makes the device read-only. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::75.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::76.): @item read-write BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::77.): Makes the device writable. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::78.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::79.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @table END EMPTY LINE NEW LINE(_root::80.): @item change vnc @var{display},@var{options} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::81.): Change the configuration of the VNC server. The valid syntax for @var{display} BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::82.): and @var{options} are described at @ref{sec_invocation}. eg BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::83.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::84.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::85.): (qemu) change vnc localhost:1 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::86.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::87.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @table END EMPTY LINE NEW LINE(_root::88.): @item change vnc password address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::89.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::90.): Change the password associated with the VNC server. If the new password is not BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::91.): supplied, the monitor will prompt for it to be entered. VNC passwords are only BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::92.): significant up to 8 letters. eg BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::93.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::94.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::95.): (qemu) change vnc password BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::96.): Password: ******** BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::97.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::98.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @table END EMPTY LINE NEW LINE(_root::99.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::100.): @item screendump @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::101.): @findex screendump BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::102.): Save screen into PPM image @var{filename}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::103.): @item logfile @var{filename} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::104.): @findex logfile BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::105.): Output logs to @var{filename}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::106.): @item trace-event BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::107.): @findex trace-event BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::108.): changes status of a trace event BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::109.): @item trace-file on|off|flush BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::110.): @findex trace-file BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::111.): Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::112.): @item log @var{item1}[,...] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::113.): @findex log BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::114.): Activate logging of the specified items. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::115.): @item savevm address@hidden|@var{id}] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::116.): @findex savevm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::117.): Create a snapshot of the whole virtual machine. If @var{tag} is BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::118.): provided, it is used as human readable identifier. If there is already BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::119.): a snapshot with the same tag or ID, it is replaced. More info at BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::120.): @ref{vm_snapshots}. BEGIN LINE COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::121.): @item loadvm @var{tag}|@var{id} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::122.): @findex loadvm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::123.): Set the whole virtual machine to the snapshot identified by the tag BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::124.): @var{tag} or the unique snapshot ID @var{id}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::125.): @item delvm @var{tag}|@var{id} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::126.): @findex delvm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::127.): Delete the snapshot identified by @var{tag} or @var{id}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::128.): @item singlestep [off] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::129.): @findex singlestep BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::130.): Run the emulation in single step mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::131.): If called with option off, the emulation returns to normal mode. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::132.): @item stop BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::133.): @findex stop BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::134.): Stop emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::135.): @item c or cont BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::136.): @findex cont BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::137.): Resume emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::138.): @item system_wakeup BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::139.): @findex system_wakeup BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::140.): Wakeup guest from suspend. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::141.): @item gdbserver address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::142.): @findex gdbserver BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::143.): Start gdbserver session (default @var{port}=1234) BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::144.): @item x/fmt @var{addr} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::145.): @findex x BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::146.): Virtual memory dump starting at @var{addr}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::147.): @item xp /@var{fmt} @var{addr} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::148.): @findex xp BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::149.): Physical memory dump starting at @var{addr}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::150.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::151.): @var{fmt} is a format which tells the command how to format the BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::152.): data. Its syntax is: @option{/@address@hidden@address@hidden@address@hidden BEGIN LINE SEPARATOR: . SEPARATOR: : COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg COMMAND { COMMAND } COMMAND { COMMAND } COMMAND { COMMAND } SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::153.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::154.): @table @var BEGIN LINE COMMAND table COMMAND var FOR PARENT @table command_as_argument var END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::155.): @item count BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::156.): is the number of items to be dumped. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::157.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::158.): @item format BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::159.): can be x (hex), d (signed decimal), u (unsigned decimal), o (octal), BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::160.): c (char) or i (asm instruction). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::161.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::162.): @item size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::163.): can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::164.): @code{h} or @code{w} can be specified with the @code{i} format to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::165.): respectively select 16 or 32 bit code instruction size. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::166.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::167.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::168.): BEGIN LINE END LINE: @table : args(1) contents(36) <- @subsection END EMPTY LINE NEW LINE(_root::169.): Examples: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::170.): @itemize BEGIN LINE COMMAND itemize CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::171.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::172.): Dump 10 instructions at the current instruction pointer: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::173.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::174.): (qemu) x/10i $eip BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::175.): 0x90107063: ret BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::176.): 0x90107064: sti BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::177.): 0x90107065: lea 0x0(%esi,1),%esi BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::178.): 0x90107069: lea 0x0(%edi,1),%edi BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::179.): 0x90107070: ret BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::180.): 0x90107071: jmp 0x90107080 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::181.): 0x90107073: nop BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::182.): 0x90107074: nop BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(9) <- @example NEW LINE(_root|preformatted::183.): 0x90107075: nop BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(10) <- @example NEW LINE(_root|preformatted::184.): 0x90107076: nop BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::185.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::186.): BEGIN LINE END LINE: @item : contents(4) <- @itemize END EMPTY LINE NEW LINE(_root::187.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::188.): Dump 80 16 bit values at the start of the video memory. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::189.): @smallexample BEGIN LINE COMMAND smallexample CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @smallexample PREFORMATTED preformatted NEW LINE(_root|preformatted::190.): (qemu) xp/80hx 0xb8000 BEGIN LINE END LINE: (preformatted) : contents(1) <- @smallexample NEW LINE(_root|preformatted::191.): 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @smallexample NEW LINE(_root|preformatted::192.): 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @smallexample NEW LINE(_root|preformatted::193.): 0x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(4) <- @smallexample NEW LINE(_root|preformatted::194.): 0x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(5) <- @smallexample NEW LINE(_root|preformatted::195.): 0x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(6) <- @smallexample NEW LINE(_root|preformatted::196.): 0x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(7) <- @smallexample NEW LINE(_root|preformatted::197.): 0x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(8) <- @smallexample NEW LINE(_root|preformatted::198.): 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(9) <- @smallexample NEW LINE(_root|preformatted::199.): 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(10) <- @smallexample NEW LINE(_root|preformatted::200.): 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(11) <- @smallexample NEW LINE(_root|preformatted::201.): @end smallexample BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK smallexample END COMMAND smallexample CLOSE PREFORMATTED preformatted NEW LINE(_root::202.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::203.): @item gpa2hva @var{addr} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::204.): @findex gpa2hva BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::205.): Print the host virtual address at which the guest's physical address @var{addr} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::206.): is mapped. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::207.): @item gpa2hpa @var{addr} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::208.): @findex gpa2hpa BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::209.): Print the host physical address at which the guest's physical address @var{addr} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::210.): is mapped. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::211.): @item p or print/@var{fmt} @var{expr} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::212.): @findex print BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::213.): Print expression value. Only the @var{format} part of @var{fmt} is BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::214.): used. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::215.): @item i/@var{fmt} @var{addr} address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::216.): @findex i BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::217.): Read I/O port. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::218.): @item o/@var{fmt} @var{addr} @var{val} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::219.): @findex o BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::220.): Write to I/O port. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::221.): @item sendkey @var{keys} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::222.): @findex sendkey BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::223.): Send @var{keys} to the guest. @var{keys} could be the name of the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::224.): key or the raw value in hexadecimal format. Use @code{-} to press BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::225.): several keys simultaneously. Example: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::226.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::227.): sendkey ctrl-alt-f1 BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::228.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::229.): BEGIN LINE END LINE: @table : args(1) contents(39) <- @subsection END EMPTY LINE NEW LINE(_root::230.): This command is useful to send keys that your graphical user interface BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::231.): intercepts at low level, such as @code{ctrl-alt-f1} in X Window. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::232.): @item system_reset BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::233.): @findex system_reset BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::234.): Reset the system. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::235.): @item system_powerdown BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::236.): @findex system_powerdown BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::237.): Power down the system (if supported). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::238.): @item sum @var{addr} @var{size} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::239.): @findex sum BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::240.): Compute the checksum of a memory region. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::241.): @item device_add @var{config} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::242.): @findex device_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::243.): Add device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::244.): @item device_del @var{id} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::245.): @findex device_del BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::246.): Remove device @var{id}. @var{id} may be a short ID BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::247.): or a QOM object path. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::248.): @item cpu @var{index} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::249.): @findex cpu BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::250.): Set the default CPU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::251.): @item mouse_move @var{dx} @var{dy} address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::252.): @findex mouse_move BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::253.): Move the active mouse to the specified coordinates @var{dx} @var{dy} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::254.): with optional scroll axis @var{dz}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::255.): @item mouse_button @var{val} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::256.): @findex mouse_button BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::257.): Change the active mouse button state @var{val} (1=L, 2=M, 4=R). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::258.): @item mouse_set @var{index} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::259.): @findex mouse_set BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::260.): Set which mouse device receives events at given @var{index}, index BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::261.): can be obtained with BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::262.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::263.): info mice BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::264.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::265.): @item wavcapture @var{filename} address@hidden address@hidden address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::266.): @findex wavcapture BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::267.): Capture audio into @var{filename}. Using sample rate @var{frequency} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::268.): bits per sample @var{bits} and number of channels @var{channels}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::269.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::270.): Defaults: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::271.): @itemize @minus BEGIN LINE COMMAND itemize CLOSE PARA COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::272.): @item Sample rate = 44100 Hz - CD quality BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::273.): @item Bits = 16 BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::274.): @item Number of channels = 2 - Stereo BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::275.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::276.): @item stopcapture @var{index} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::277.): @findex stopcapture BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::278.): Stop capture with a given @var{index}, index can be obtained with BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::279.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::280.): info capture BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::281.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::282.): @item memsave @var{addr} @var{size} @var{file} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::283.): @findex memsave BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::284.): save to disk virtual memory dump starting at @var{addr} of size @var{size}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::285.): @item pmemsave @var{addr} @var{size} @var{file} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::286.): @findex pmemsave BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::287.): save to disk physical memory dump starting at @var{addr} of size @var{size}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::288.): @item boot_set @var{bootdevicelist} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::289.): @findex boot_set BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::290.): Define new values for the boot device list. Those values will override BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::291.): the values specified on the command line through the @code{-boot} option. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::292.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::293.): The values that can be specified here depend on the machine type, but are BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::294.): the same that can be specified in the @code{-boot} command line option. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::295.): @item nmi @var{cpu} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::296.): @findex nmi BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::297.): Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::298.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::299.): @item ringbuf_write @var{device} @var{data} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::300.): @findex ringbuf_write BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::301.): Write @var{data} to ring buffer character device @var{device}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::302.): @var{data} must be a UTF-8 string. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::303.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::304.): @item ringbuf_read @var{device} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::305.): @findex ringbuf_read BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::306.): Read and print up to @var{size} bytes from ring buffer character BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::307.): device @var{device}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::308.): Certain non-printable characters are printed \uXXXX, where XXXX is the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::309.): character code in hexadecimal. Character \ is printed \\. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::310.): Bug: can screw up when the buffer contains invalid UTF-8 sequences, BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::311.): NUL characters, after the ring buffer lost data, and when reading BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::312.): stops because the size limit is reached. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::313.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::314.): @item migrate [-d] [-b] [-i] @var{uri} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::315.): @findex migrate BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::316.): Migrate to @var{uri} (using -d to not wait for completion). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::317.): -b for migration with full copy of disk BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::318.): -i for migration with incremental copy of disk (base image is shared) BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::319.): @item migrate_cancel BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::320.): @findex migrate_cancel BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::321.): Cancel the current VM migration. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::322.): @item migrate_continue @var{state} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::323.): @findex migrate_continue BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::324.): Continue migration from the paused state @var{state} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::325.): @item migrate_incoming @var{uri} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::326.): @findex migrate_incoming BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::327.): Continue an incoming migration using the @var{uri} (that has the same syntax BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::328.): as the -incoming option). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::329.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::330.): @item migrate_set_cache_size @var{value} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::331.): @findex migrate_set_cache_size BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::332.): Set cache size to @var{value} (in bytes) for xbzrle migrations. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::333.): @item migrate_set_speed @var{value} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::334.): @findex migrate_set_speed BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::335.): Set maximum speed to @var{value} (in bytes) for migrations. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::336.): @item migrate_set_downtime @var{second} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::337.): @findex migrate_set_downtime BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::338.): Set maximum tolerated downtime (in seconds) for migration. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::339.): @item migrate_set_capability @var{capability} @var{state} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::340.): @findex migrate_set_capability BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::341.): Enable/Disable the usage of a capability @var{capability} for migration. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::342.): @item migrate_set_parameter @var{parameter} @var{value} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::343.): @findex migrate_set_parameter BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::344.): Set the parameter @var{parameter} for migration. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::345.): @item migrate_start_postcopy BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::346.): @findex migrate_start_postcopy BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::347.): Switch in-progress migration to postcopy mode. Ignored after the end of BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::348.): migration (or once already in postcopy). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::349.): @item x_colo_lost_heartbeat BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::350.): @findex x_colo_lost_heartbeat BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::351.): Tell COLO that heartbeat is lost, a failover or takeover is needed. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::352.): @item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::353.): @findex client_migrate_info BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::354.): Set migration information for remote display. This makes the server BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::355.): ask the client to automatically reconnect using the new parameters BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::356.): once migration finished successfully. Only implemented for SPICE. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::357.): @item dump-guest-memory [-p] @var{filename} @var{begin} @var{length} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::358.): @item dump-guest-memory [-z|-l|-s] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::359.): @findex dump-guest-memory BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::360.): Dump guest memory to @var{protocol}. The file can be processed with crash or BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::361.): gdb. Without -z|-l|-s, the dump format is ELF. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::362.): -p: do paging to get guest's memory mapping. BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::363.): -z: dump in kdump-compressed format, with zlib compression. BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::364.): -l: dump in kdump-compressed format, with lzo compression. BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::365.): -s: dump in kdump-compressed format, with snappy compression. BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::366.): filename: dump file name. BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::367.): begin: the starting physical address. It's optional, and should be BEGIN LINE SEPARATOR: : SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::368.): specified together with length. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::369.): length: the memory size, in bytes. It's optional, and should be specified BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::370.): together with begin. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::371.): @item dump-skeys @var{filename} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::372.): @findex dump-skeys BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::373.): Save guest storage keys to a file. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::374.): @item migration_mode @var{mode} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::375.): @findex migration_mode BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::376.): Enables or disables migration mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::377.): @item snapshot_blkdev BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::378.): @findex snapshot_blkdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::379.): Snapshot device, using snapshot file as target if provided BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::380.): @item snapshot_blkdev_internal BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::381.): @findex snapshot_blkdev_internal BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::382.): Take an internal snapshot on device if it support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::383.): @item snapshot_delete_blkdev_internal BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::384.): @findex snapshot_delete_blkdev_internal BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::385.): Delete an internal snapshot on device if it support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::386.): @item drive_mirror BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::387.): @findex drive_mirror BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::388.): Start mirroring a block device's writes to a new destination, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::389.): using the specified target. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::390.): @item drive_backup BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::391.): @findex drive_backup BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::392.): Start a point-in-time copy of a block device to a specificed target. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::393.): @item drive_add BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::394.): @findex drive_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::395.): Add drive to PCI storage controller. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::396.): @item pcie_aer_inject_error BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::397.): @findex pcie_aer_inject_error BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::398.): Inject PCIe AER error BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::399.): @item netdev_add BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::400.): @findex netdev_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::401.): Add host network device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::402.): @item netdev_del BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::403.): @findex netdev_del BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::404.): Remove host network device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::405.): @item object_add BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::406.): @findex object_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::407.): Create QOM object. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::408.): @item object_del BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::409.): @findex object_del BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::410.): Destroy QOM object. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::411.): @item hostfwd_add BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::412.): @findex hostfwd_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::413.): Redirect TCP or UDP connections from host to guest (requires -net user). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::414.): @item hostfwd_remove BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::415.): @findex hostfwd_remove BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::416.): Remove host-to-guest TCP or UDP redirection. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::417.): @item balloon @var{value} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::418.): @findex balloon BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::419.): Request VM to change its memory allocation to @var{value} (in MB). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::420.): @item set_link @var{name} [on|off] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::421.): @findex set_link BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::422.): Switch link @var{name} on (i.e. up) or off (i.e. down). BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::423.): @item watchdog_action BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::424.): @findex watchdog_action BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::425.): Change watchdog action. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::426.): @item acl_show @var{aclname} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::427.): @findex acl_show BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::428.): List all the matching rules in the access control list, and the default BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::429.): policy. There are currently two named access control lists, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::430.): @var{vnc.x509dname} and @var{vnc.username} matching on the x509 client BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::431.): certificate distinguished name, and SASL username respectively. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::432.): @item acl_policy @var{aclname} @code{allow|deny} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::433.): @findex acl_policy BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::434.): Set the default access control list policy, used in the event that BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::435.): none of the explicit rules match. The default policy at startup is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::436.): always @code{deny}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::437.): @item acl_add @var{aclname} @var{match} @code{allow|deny} address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(10) <- @item MISC END @item NEW LINE(_root::438.): @findex acl_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::439.): Add a match rule to the access control list, allowing or denying access. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::440.): The match will normally be an exact username or x509 distinguished name, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::441.): but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND @ SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::442.): allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::443.): normally be appended to the end of the ACL, but can be inserted BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::444.): earlier in the list if the optional @var{index} parameter is supplied. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::445.): @item acl_remove @var{aclname} @var{match} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::446.): @findex acl_remove BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::447.): Remove the specified match rule from the access control list. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::448.): @item acl_reset @var{aclname} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::449.): @findex acl_reset BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::450.): Remove all matches from the access control list, and set the default BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::451.): policy back to @code{deny}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::452.): @item nbd_server_start @var{host}:@var{port} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::453.): @findex nbd_server_start BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::454.): Start an NBD server on the given host and/or port. If the @option{-a} BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::455.): option is included, all of the virtual machine's block devices that BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::456.): have an inserted media on them are automatically exported; in this case, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::457.): the @option{-w} option makes the devices writable too. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::458.): @item nbd_server_add @var{device} [ @var{name} ] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::459.): @findex nbd_server_add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::460.): Export a block device through QEMU's NBD server, which must be started BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::461.): beforehand with @command{nbd_server_start}. The @option{-w} option makes the BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::462.): exported device writable too. The export name is controlled by @var{name}, BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::463.): defaulting to @var{device}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::464.): @item nbd_server_remove [-f] @var{name} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::465.): @findex nbd_server_remove BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::466.): Stop exporting a block device through QEMU's NBD server, which was BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::467.): previously started with @command{nbd_server_add}. The @option{-f} BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::468.): option forces the server to drop the export immediately even if BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::469.): clients are connected; otherwise the command fails unless there are no BEGIN LINE END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::470.): clients. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::471.): @item nbd_server_stop BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::472.): @findex nbd_server_stop BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::473.): Stop the QEMU embedded NBD server. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::474.): @item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(13) <- @item MISC END @item NEW LINE(_root::475.): @findex mce (x86) BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::476.): Inject an MCE on the given CPU (x86 only). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::477.): @item getfd @var{fdname} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::478.): @findex getfd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::479.): If a file descriptor is passed alongside this command using the SCM_RIGHTS BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::480.): mechanism on unix sockets, it is stored using the name @var{fdname} for BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::481.): later use by other monitor commands. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::482.): @item closefd @var{fdname} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::483.): @findex closefd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::484.): Close the file descriptor previously assigned to @var{fdname} using the BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::485.): @code{getfd} command. This is only needed if the file descriptor was never BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::486.): used by another monitor command. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::487.): @item block_passwd @var{device} @var{password} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::488.): @findex block_passwd BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::489.): Set the encrypted device @var{device} password to @var{password} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::490.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::491.): This command is now obsolete and will always return an error since 2.10 BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::492.): @item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(15) <- @item MISC END @item NEW LINE(_root::493.): @findex block_set_io_throttle BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::494.): Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::495.): @item set_password [ vnc | spice ] password [ action-if-connected ] BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::496.): @findex set_password BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::497.): Change spice/vnc password. Use zero to make the password stay valid BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::498.): forever. @var{action-if-connected} specifies what should happen in BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::499.): case a connection is established: @var{fail} makes the password change BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::500.): fail. @var{disconnect} changes the password and disconnects the BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::501.): client. @var{keep} changes the password and keeps the connection up. BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::502.): @var{keep} is the default. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::503.): @item expire_password [ vnc | spice ] expire-time BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::504.): @findex expire_password BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::505.): Specify when a password for spice/vnc becomes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::506.): invalid. @var{expire-time} accepts: BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::507.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::508.): @table @var BEGIN LINE COMMAND table COMMAND var FOR PARENT @table command_as_argument var END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::509.): @item now BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::510.): Invalidate password instantly. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::511.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::512.): @item never BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::513.): Password stays valid forever. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::514.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::515.): @item +nsec BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::516.): Password stays valid for @var{nsec} seconds starting now. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::517.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::518.): @item nsec BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::519.): Password is invalidated at the given time. @var{nsec} are the seconds BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::520.): passed since 1970, i.e. unix epoch. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::521.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::522.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::523.): @item chardev-add args BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::524.): @findex chardev-add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::525.): chardev-add accepts the same parameters as the -chardev command line switch. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::526.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::527.): @item chardev-change args BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::528.): @findex chardev-change BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::529.): chardev-change accepts existing chardev @var{id} and then the same arguments BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::530.): as the -chardev command line switch (except for "id"). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::531.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::532.): @item chardev-remove id BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::533.): @findex chardev-remove BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::534.): Removes the chardev @var{id}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::535.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::536.): @item chardev-send-break id BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::537.): @findex chardev-send-break BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::538.): Send a break on the chardev @var{id}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::539.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::540.): @item qemu-io @var{device} @var{command} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::541.): @findex qemu-io BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::542.): Executes a qemu-io command on the given block device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::543.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::544.): @item cpu-add @var{id} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::545.): @findex cpu-add BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::546.): Add CPU with id @var{id} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::547.): @item qom-list address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::548.): Print QOM properties of object at location @var{path} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::549.): @item qom-set @var{path} @var{property} @var{value} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::550.): Set QOM property @var{property} of object at location @var{path} to value @var{value} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::551.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::595.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::596.): @include qemu-monitor-info.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-monitor-info.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2.): @item info @var{subcommand} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::3.): @findex info BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::4.): Show various information about the system state. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::5.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::6.): @item info version BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::7.): @findex info version BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::8.): Show the version of QEMU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::9.): @item info network BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::10.): @findex info network BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::11.): Show the network state. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::12.): @item info chardev BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::13.): @findex info chardev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::14.): Show the character devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::15.): @item info block BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::16.): @findex info block BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::17.): Show info of one block device or all block devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::18.): @item info blockstats BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::19.): @findex info blockstats BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::20.): Show block device statistics. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::21.): @item info block-jobs BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::22.): @findex info block-jobs BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::23.): Show progress of ongoing block device operations. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::24.): @item info registers BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::25.): @findex info registers BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::26.): Show the cpu registers. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::27.): @item info lapic BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::28.): @findex info lapic BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::29.): Show local APIC state BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::30.): @item info ioapic BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::31.): @findex info ioapic BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::32.): Show io APIC state BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::33.): @item info cpus BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::34.): @findex info cpus BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::35.): Show infos for each CPU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::36.): @item info history BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::37.): @findex info history BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::38.): Show the command line history. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::39.): @item info irq BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::40.): @findex info irq BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::41.): Show the interrupts statistics (if available). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::42.): @item info pic BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::43.): @findex info pic BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::44.): Show i8259 (PIC) state. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::45.): @item info pci BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::46.): @findex info pci BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::47.): Show PCI information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::48.): @item info tlb BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::49.): @findex info tlb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::50.): Show virtual to physical memory mappings. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::51.): @item info mem BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::52.): @findex info mem BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::53.): Show the active virtual memory mappings. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::54.): @item info mtree BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::55.): @findex info mtree BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::56.): Show memory tree. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::57.): @item info jit BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::58.): @findex info jit BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::59.): Show dynamic compiler info. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::60.): @item info opcount BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::61.): @findex info opcount BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::62.): Show dynamic compiler opcode counters BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::63.): @item info kvm BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::64.): @findex info kvm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::65.): Show KVM information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::66.): @item info numa BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::67.): @findex info numa BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::68.): Show NUMA information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::69.): @item info usb BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::70.): @findex info usb BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::71.): Show guest USB devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::72.): @item info usbhost BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::73.): @findex info usbhost BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::74.): Show host USB devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::75.): @item info profile BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::76.): @findex info profile BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::77.): Show profiling information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::78.): @item info capture BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::79.): @findex info capture BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::80.): Show capture information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::81.): @item info snapshots BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::82.): @findex info snapshots BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::83.): Show the currently saved VM snapshots. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::84.): @item info status BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::85.): @findex info status BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::86.): Show the current VM status (running|paused). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::87.): @item info mice BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::88.): @findex info mice BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::89.): Show which guest mouse is receiving events. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::90.): @item info vnc BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::91.): @findex info vnc BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::92.): Show the vnc server status. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::93.): @item info spice BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::94.): @findex info spice BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::95.): Show the spice server status. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::96.): @item info name BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::97.): @findex info name BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::98.): Show the current VM name. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::99.): @item info uuid BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::100.): @findex info uuid BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::101.): Show the current VM UUID. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::102.): @item info cpustats BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::103.): @findex info cpustats BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::104.): Show CPU statistics. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::105.): @item info usernet BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::106.): @findex info usernet BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::107.): Show user network stack connection states. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::108.): @item info migrate BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::109.): @findex info migrate BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::110.): Show migration status. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::111.): @item info migrate_capabilities BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::112.): @findex info migrate_capabilities BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::113.): Show current migration capabilities. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::114.): @item info migrate_parameters BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::115.): @findex info migrate_parameters BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::116.): Show current migration parameters. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::117.): @item info migrate_cache_size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::118.): @findex info migrate_cache_size BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::119.): Show current migration xbzrle cache size. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::120.): @item info balloon BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::121.): @findex info balloon BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::122.): Show balloon information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::123.): @item info qtree BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::124.): @findex info qtree BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::125.): Show device tree. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::126.): @item info qdm BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::127.): @findex info qdm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::128.): Show qdev device model list. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::129.): @item info qom-tree BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::130.): @findex info qom-tree BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::131.): Show QOM composition tree. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::132.): @item info roms BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::133.): @findex info roms BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::134.): Show roms. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::135.): @item info trace-events BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::136.): @findex info trace-events BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::137.): Show available trace-events & their state. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::138.): @item info tpm BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::139.): @findex info tpm BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::140.): Show the TPM device. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::141.): @item info memdev BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::142.): @findex info memdev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::143.): Show memory backends BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::144.): @item info memory-devices BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::145.): @findex info memory-devices BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::146.): Show memory devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::147.): @item info iothreads BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::148.): @findex info iothreads BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::149.): Show iothread's identifiers. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::150.): @item info rocker @var{name} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::151.): @findex info rocker BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::152.): Show rocker switch. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::153.): @item info rocker-ports @var{name}-ports BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::154.): @findex info rocker-ports BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::155.): Show rocker ports. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::156.): @item info rocker-of-dpa-flows @var{name} address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::157.): @findex info rocker-of-dpa-flows BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::158.): Show rocker OF-DPA flow tables. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::159.): @item info rocker-of-dpa-groups @var{name} address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(6) <- @item MISC END @item NEW LINE(_root::160.): @findex info rocker-of-dpa-groups BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::161.): Show rocker OF-DPA groups. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::162.): @item info skeys @var{address} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::163.): @findex info skeys BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::164.): Display the value of a storage key (s390 only) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::165.): @item info cmma @var{address} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::166.): @findex info cmma BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::167.): Display the values of the CMMA storage attributes for a range of pages (s390 only) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::168.): @item info dump BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::169.): @findex info dump BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::170.): Display the latest dump status. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::171.): @item info ramblock BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::172.): @findex info ramblock BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::173.): Dump all the ramblocks of the system. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::174.): @item info hotpluggable-cpus BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::175.): @findex info hotpluggable-cpus BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::176.): Show information about hotpluggable CPUs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::177.): @item info vm-generation-id BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::178.): @findex info vm-generation-id BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::179.): Show Virtual Machine Generation ID BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::180.): @item info memory_size_summary BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::181.): @findex info memory_size_summary BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::182.): Display the amount of initially allocated and present hotpluggable (if BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::183.): enabled) memory in bytes. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::184.): @item info sev BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::185.): @findex info sev BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::186.): Show SEV information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::187.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::188.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::597.): BEGIN LINE END LINE: @subsection : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::598.): @subsection Integer expressions BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::599.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::600.): The monitor understands integers expressions for every integer BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::601.): argument. You can use register names to get the value of specifics BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::602.): CPU registers by prefixing them with @emph{$}. BEGIN LINE COMMAND emph SEPARATOR: { OPENED @emph, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @emph SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::603.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::604.): @node disk_images BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::605.): @section Disk Images BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::606.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::607.): QEMU supports many disk image formats, including growable disk images BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::608.): (their size increase as non empty sectors are written), compressed and BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::609.): encrypted disk images. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::610.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::611.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::612.): * disk_images_quickstart:: Quick start for disk image creation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::613.): * disk_images_snapshot_mode:: Snapshot mode BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::614.): * vm_snapshots:: VM snapshots BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::615.): * qemu_img_invocation:: qemu-img Invocation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::616.): * qemu_nbd_invocation:: qemu-nbd Invocation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::617.): * disk_images_formats:: Disk image file formats BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::618.): * host_drives:: Using host drives BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::619.): * disk_images_fat_images:: Virtual FAT disk images BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::620.): * disk_images_nbd:: NBD access BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::621.): * disk_images_sheepdog:: Sheepdog disk images BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::622.): * disk_images_iscsi:: iSCSI LUNs BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::623.): * disk_images_gluster:: GlusterFS disk images BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::624.): * disk_images_ssh:: Secure Shell (ssh) disk images BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::625.): * disk_images_nvme:: NVMe userspace driver BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::626.): * disk_image_locking:: Disk image file locking BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::627.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::628.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::629.): @node disk_images_quickstart BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::630.): @subsection Quick start for disk image creation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::631.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::632.): You can create a disk image with the command: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::633.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::634.): qemu-img create myimage.img mysize BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::635.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::636.): where @var{myimage.img} is the disk image filename and @var{mysize} is its BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::637.): size in kilobytes. You can add an @code{M} suffix to give the size in BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::638.): megabytes and a @code{G} suffix for gigabytes. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::639.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::640.): See @ref{qemu_img_invocation} for more information. BEGIN LINE PARAGRAPH COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::641.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::642.): @node disk_images_snapshot_mode BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::643.): @subsection Snapshot mode BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::644.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::645.): If you use the option @option{-snapshot}, all disk images are BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::646.): considered as read only. When sectors in written, they are written in BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::647.): a temporary file created in @file{/tmp}. You can however force the BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::648.): write back to the raw disk images by using the @code{commit} monitor BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::649.): command (or @key{C-a s} in the serial console). BEGIN LINE COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key SEPARATOR: . END LINE: (paragraph) : contents(13) <- @subsection NEW LINE(_root::650.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::651.): @node vm_snapshots BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::652.): @subsection VM snapshots BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::653.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::654.): VM snapshots are snapshots of the complete virtual machine including BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::655.): CPU state, RAM, device state and the content of all the writable BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::656.): disks. In order to use VM snapshots, you must have at least one non BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::657.): removable and writable block device using the @code{qcow2} disk image BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::658.): format. Normally this device is the first virtual hard drive. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::659.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::660.): Use the monitor command @code{savevm} to create a new VM snapshot or BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::661.): replace an existing one. A human readable name can be assigned to each BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::662.): snapshot in addition to its numerical ID. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::663.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::664.): Use @code{loadvm} to restore a VM snapshot and @code{delvm} to remove BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::665.): a VM snapshot. @code{info snapshots} lists the available snapshots BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::666.): with their associated information: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::667.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::668.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::669.): (qemu) info snapshots BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::670.): Snapshot devices: hda BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::671.): Snapshot list (from hda): BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::672.): ID TAG VM SIZE DATE VM CLOCK BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::673.): 1 start 41M 2006-08-06 12:38:02 00:00:14.954 BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::674.): 2 40M 2006-08-06 12:43:29 00:00:18.633 BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::675.): 3 msys 40M 2006-08-06 12:44:04 00:00:23.514 BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::676.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::677.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::678.): A VM snapshot is made of a VM state info (its size is shown in BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::679.): @code{info snapshots}) and a snapshot of every writable disk image. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::680.): The VM state info is stored in the first @code{qcow2} non removable BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::681.): and writable block device. The disk image snapshots are stored in BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::682.): every disk image. The size of a snapshot in a disk image is difficult BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::683.): to evaluate and is not shown by @code{info snapshots} because the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::684.): associated disk sectors are shared among all the snapshots to save BEGIN LINE END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::685.): disk space (otherwise each snapshot would need a full copy of all the BEGIN LINE END LINE: (paragraph) : contents(13) <- @subsection NEW LINE(_root::686.): disk images). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(14) <- @subsection NEW LINE(_root::687.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::688.): When using the (unrelated) @code{-snapshot} option BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::689.): (@ref{disk_images_snapshot_mode}), you can always make VM snapshots, BEGIN LINE COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::690.): but they are deleted as soon as you exit QEMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::691.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::692.): VM snapshots currently have the following known limitations: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::693.): @itemize BEGIN LINE COMMAND itemize CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::694.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::695.): They cannot cope with removable devices if they are removed or BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::696.): inserted after a snapshot is done. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::697.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::698.): A few device drivers still have incomplete snapshot support so their BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::699.): state is not saved or restored properly (in particular USB). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::700.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::701.): BEGIN LINE END LINE: @subsection : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::702.): @node qemu_img_invocation BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::703.): @subsection @code{qemu-img} Invocation BEGIN LINE COMMAND subsection COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @subsection MISC END @subsection NEW LINE(_root::704.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::705.): @include qemu-img.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-img.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2.): @c man begin SYNOPSIS BEGIN LINE COMMAND c NEW LINE(_root|preformatted::3.): @command{qemu-img} address@hidden @var{options}] @var{command} address@hidden @var{options}] BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(13) <- @example NEW LINE(_root|preformatted::4.): @c man end BEGIN LINE COMMAND c NEW LINE(_root|preformatted::5.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::6.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::7.): @c man begin DESCRIPTION BEGIN LINE COMMAND c NEW LINE(_root::8.): qemu-img allows you to create, convert and modify images offline. It can handle BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::9.): all image formats supported by QEMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::10.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::11.): @b{Warning:} Never use qemu-img to modify images in use by a running virtual BEGIN LINE COMMAND b PARAGRAPH SEPARATOR: { OPENED @b, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @b END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::12.): machine or any other process; this may destroy the image. Also, be aware that BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::13.): querying an image that is being modified by another process may encounter BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::14.): inconsistent state. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::15.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::16.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::17.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::18.): BEGIN LINE END LINE: @subsection : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::19.): Standard options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::20.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::21.): @item -h, --help BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::22.): Display this help and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::23.): @item -V, --version BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::24.): Display version information and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::25.): @item -T, --trace address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::26.): @findex --trace BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::27.): @include qemu-option-trace.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-option-trace.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): Specify tracing options. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::4.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::5.): Immediately enable events matching @var{pattern}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::6.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::7.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::8.): available if QEMU has been compiled with the @var{simple}, @var{log} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::9.): or @var{ftrace} tracing backend. To specify multiple events or patterns, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::10.): specify the @option{-trace} option multiple times. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::11.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::12.): Use @code{-trace help} to print a list of names of trace points. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::13.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::14.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::15.): Immediately enable events listed in @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::16.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::17.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::18.): available if QEMU has been compiled with the @var{simple}, @var{log} or BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::19.): @var{ftrace} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::20.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::21.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::22.): Log output traces to @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::23.): This option is only available if QEMU has been compiled with BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::24.): the @var{simple} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::25.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::28.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::29.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::30.): The following commands are supported: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::31.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::32.): @include qemu-img-cmds.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-img-cmds.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2.): @item amend [--object @var{objectdef}] [--image-opts] [-p] [-q] [-f @var{fmt}] [-t @var{cache}] -o @var{options} @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::3.): @item bench [-c @var{count}] [-d @var{depth}] [-f @var{fmt}] address@hidden [-n] [--no-drain] [-o @var{offset}] address@hidden [-q] [-s @var{buffer_size}] [-S @var{step_size}] [-t @var{cache}] [-w] [-U] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(21) <- @item MISC END @item NEW LINE(_root::4.): @item check [--object @var{objectdef}] [--image-opts] [-q] [-f @var{fmt}] address@hidden [-r [leaks | all]] [-T @var{src_cache}] [-U] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::5.): @item commit [--object @var{objectdef}] [--image-opts] [-q] [-f @var{fmt}] [-t @var{cache}] [-b @var{base}] [-d] [-p] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::6.): @item compare [--object @var{objectdef}] [--image-opts] [-f @var{fmt}] [-F @var{fmt}] [-T @var{src_cache}] [-p] [-q] [-s] [-U] @var{filename1} @var{filename2} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(13) <- @item MISC END @item NEW LINE(_root::7.): @item convert [--object @var{objectdef}] [--image-opts] [--target-image-opts] [-U] [-c] [-p] [-q] [-n] [-f @var{fmt}] [-t @var{cache}] [-T @var{src_cache}] [-O @var{output_fmt}] [-B @var{backing_file}] [-o @var{options}] [-s @var{snapshot_id_or_name}] [-l @var{snapshot_param}] [-S @var{sparse_size}] [-m @var{num_coroutines}] [-W] @var{filename} address@hidden [...]] @var{output_filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(29) <- @item MISC END @item NEW LINE(_root::8.): @item create [--object @var{objectdef}] [-q] [-f @var{fmt}] [-b @var{backing_file}] [-F @var{backing_fmt}] [-u] [-o @var{options}] @var{filename} address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(16) <- @item MISC END @item NEW LINE(_root::9.): @item dd [--image-opts] [-U] [-f @var{fmt}] [-O @var{output_fmt}] address@hidden address@hidden address@hidden address@hidden address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(15) <- @item MISC END @item NEW LINE(_root::10.): @item info [--object @var{objectdef}] [--image-opts] [-f @var{fmt}] address@hidden [--backing-chain] [-U] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::11.): @item map [--object @var{objectdef}] [--image-opts] [-f @var{fmt}] address@hidden [-U] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::12.): @item measure address@hidden [-O @var{output_fmt}] [-o @var{options}] [--size @var{N} | [--object @var{objectdef}] [--image-opts] [-f @var{fmt}] [-l @var{snapshot_param}] @var{filename}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(18) <- @item MISC END @item NEW LINE(_root::13.): @item snapshot [--object @var{objectdef}] [--image-opts] [-U] [-q] [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot}] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::14.): @item rebase [--object @var{objectdef}] [--image-opts] [-U] [-q] [-f @var{fmt}] [-t @var{cache}] [-T @var{src_cache}] [-p] [-u] -b @var{backing_file} [-F @var{backing_fmt}] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(15) <- @item MISC END @item NEW LINE(_root::15.): @item resize [--object @var{objectdef}] [--image-opts] [-q] [--shrink] @var{filename} [+ | address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::16.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::33.): BEGIN LINE END LINE: @subsection : args(1) contents(17) <- (document_root) END EMPTY LINE NEW LINE(_root::34.): Command parameters: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::35.): @table @var BEGIN LINE COMMAND table CLOSE PARA COMMAND var FOR PARENT @table command_as_argument var END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::36.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::37.): @item filename BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::38.): is a disk image filename BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::39.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::40.): @item fmt BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::41.): is the disk image format. It is guessed automatically in most cases. See below BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::42.): for a description of the supported disk formats. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::43.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::44.): @item size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::45.): is the disk image size in bytes. Optional suffixes @code{k} or @code{K} BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::46.): (kilobyte, 1024) @code{M} (megabyte, 1024k) and @code{G} (gigabyte, 1024M) BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::47.): and T (terabyte, 1024G) are supported. @code{b} is ignored. BEGIN LINE SEPARATOR: , SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::48.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::49.): @item output_filename BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::50.): is the destination disk image filename BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::51.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::52.): @item output_fmt BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::53.): is the destination format BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::54.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::55.): @item options BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::56.): is a comma separated list of format specific options in a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::57.): name=value format. Use @code{-o ?} for an overview of the options supported BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::58.): by the used format or see the format descriptions below for details. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::59.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::60.): @item snapshot_param BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::61.): is param used for internal snapshot, format is BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::62.): 'snapshot.id=[ID],snapshot.name=[NAME]' or '[ID_OR_NAME]' BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::63.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::64.): @item snapshot_id_or_name BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::65.): is deprecated, use snapshot_param instead BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::66.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::67.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::68.): BEGIN LINE END LINE: @subsection : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::69.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::70.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::71.): @item --object @var{objectdef} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::72.): is a QEMU user creatable object definition. See the @code{qemu(1)} manual BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::73.): page for a description of the object properties. The most common object BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::74.): type is a @code{secret}, which is used to supply passwords and/or encryption BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::75.): keys. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::76.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::77.): @item --image-opts BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::78.): Indicates that the source @var{filename} parameter is to be interpreted as a BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::79.): full option string, not a plain filename. This parameter is mutually BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::80.): exclusive with the @var{-f} parameter. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::81.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::82.): @item --target-image-opts BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::83.): Indicates that the @var{output_filename} parameter(s) are to be interpreted as BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::84.): a full option string, not a plain filename. This parameter is mutually BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::85.): exclusive with the @var{-O} parameters. It is currently required to also use BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::86.): the @var{-n} parameter to skip image creation. This restriction may be relaxed BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::87.): in a future release. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::88.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::89.): @item --force-share (-U) BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::90.): If specified, @code{qemu-img} will open the image in shared mode, allowing BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::91.): other QEMU processes to open it in write mode. For example, this can be used to BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::92.): get the image information (with 'info' subcommand) when the image is used by a BEGIN LINE END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::93.): running guest. Note that this could produce inconsistent results because of BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::94.): concurrent metadata changes, etc. This option is only allowed when opening BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::95.): images in read-only mode. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::96.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::97.): @item --backing-chain BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::98.): will enumerate information about backing files in a disk image chain. Refer BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::99.): below for further description. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::100.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::101.): @item -c BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::102.): indicates that target image must be compressed (qcow format only) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::103.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::104.): @item -h BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::105.): with or without a command shows help and lists the supported formats BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::106.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::107.): @item -p BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::108.): display progress bar (compare, convert and rebase commands only). BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::109.): If the @var{-p} option is not used for a command that supports it, the BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::110.): progress is reported when the process receives a @code{SIGUSR1} or BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::111.): @code{SIGINFO} signal. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::112.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::113.): @item -q BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::114.): Quiet mode - do not print any output (except errors). There's no progress bar BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::115.): in case both @var{-q} and @var{-p} options are used. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::116.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::117.): @item -S @var{size} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::118.): indicates the consecutive number of bytes that must contain only zeros BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::119.): for qemu-img to create a sparse image during conversion. This value is rounded BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::120.): down to the nearest 512 bytes. You may use the common size suffixes like BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::121.): @code{k} for kilobytes. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::122.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::123.): @item -t @var{cache} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::124.): specifies the cache mode that should be used with the (destination) file. See BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::125.): the documentation of the emulator's @code{-drive cache=...} option for allowed BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::126.): values. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::127.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::128.): @item -T @var{src_cache} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::129.): specifies the cache mode that should be used with the source file(s). See BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::130.): the documentation of the emulator's @code{-drive cache=...} option for allowed BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::131.): values. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::132.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::133.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::134.): BEGIN LINE END LINE: @subsection : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::135.): Parameters to snapshot subcommand: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::136.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::137.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::138.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::139.): @item snapshot BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::140.): is the name of the snapshot to create, apply or delete BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::141.): @item -a BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::142.): applies a snapshot (revert disk to saved state) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::143.): @item -c BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::144.): creates a snapshot BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::145.): @item -d BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::146.): deletes a snapshot BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::147.): @item -l BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::148.): lists all snapshots in the given image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::149.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::150.): BEGIN LINE END LINE: @subsection : args(1) contents(26) <- (document_root) END EMPTY LINE NEW LINE(_root::151.): Parameters to compare subcommand: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::152.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::153.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::154.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::155.): @item -f BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::156.): First image format BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::157.): @item -F BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::158.): Second image format BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::159.): @item -s BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::160.): Strict mode - fail on different image size or sector allocation BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::161.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::162.): BEGIN LINE END LINE: @subsection : args(1) contents(30) <- (document_root) END EMPTY LINE NEW LINE(_root::163.): Parameters to convert subcommand: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::164.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::165.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::166.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::167.): @item -n BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::168.): Skip the creation of the target volume BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::169.): @item -m BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::170.): Number of parallel coroutines for the convert process BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::171.): @item -W BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::172.): Allow out-of-order writes to the destination. This option improves performance, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::173.): but is only recommended for preallocated devices like host devices or other BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::174.): raw block devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::175.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::176.): BEGIN LINE END LINE: @subsection : args(1) contents(34) <- (document_root) END EMPTY LINE NEW LINE(_root::177.): Parameters to dd subcommand: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::178.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::179.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::180.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::181.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::182.): defines the block size BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::183.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::184.): sets the number of input blocks to copy BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::185.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::186.): sets the input file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::187.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::188.): sets the output file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::189.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::190.): sets the number of input blocks to skip BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::191.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::192.): BEGIN LINE END LINE: @subsection : args(1) contents(38) <- (document_root) END EMPTY LINE NEW LINE(_root::193.): Command description: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::194.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::195.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::196.): @item bench [-c @var{count}] [-d @var{depth}] [-f @var{fmt}] address@hidden [-n] [--no-drain] [-o @var{offset}] address@hidden [-q] [-s @var{buffer_size}] [-S @var{step_size}] [-t @var{cache}] [-w] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(21) <- @item MISC END @item NEW LINE(_root::197.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @subsection END EMPTY LINE NEW LINE(_root::198.): Run a simple sequential I/O benchmark on the specified image. If @code{-w} is BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::199.): specified, a write test is performed, otherwise a read test is performed. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::200.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::201.): A total number of @var{count} I/O requests is performed, each @var{buffer_size} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::202.): bytes in size, and with @var{depth} requests in parallel. The first request BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::203.): starts at the position given by @var{offset}, each following request increases BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::204.): the current position by @var{step_size}. If @var{step_size} is not given, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::205.): @var{buffer_size} is used for its value. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::206.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::207.): If @var{flush_interval} is specified for a write test, the request queue is BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::208.): drained and a flush is issued before new writes are made whenever the number of BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::209.): remaining requests is a multiple of @var{flush_interval}. If additionally BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::210.): @code{--no-drain} is specified, a flush is issued without draining the request BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::211.): queue first. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::212.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::213.): If @code{-n} is specified, the native AIO backend is used if possible. On BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::214.): Linux, this option only works if @code{-t none} or @code{-t directsync} is BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::215.): specified as well. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::216.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::217.): For write tests, by default a buffer filled with zeros is written. This can be BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::218.): overridden with a pattern byte specified by @var{pattern}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::219.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::220.): @item check [-f @var{fmt}] address@hidden [-r [leaks | all]] [-T @var{src_cache}] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::221.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @subsection END EMPTY LINE NEW LINE(_root::222.): Perform a consistency check on the disk image @var{filename}. The command can BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::223.): output in the format @var{ofmt} which is either @code{human} or @code{json}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::224.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::225.): If @code{-r} is specified, qemu-img tries to repair any inconsistencies found BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::226.): during the check. @code{-r leaks} repairs only cluster leaks, whereas BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::227.): @code{-r all} fixes all kinds of errors, with a higher risk of choosing the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::228.): wrong fix or hiding corruption that has already occurred. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::229.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::230.): Only the formats @code{qcow2}, @code{qed} and @code{vdi} support BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::231.): consistency checks. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::232.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::233.): In case the image does not have any inconsistencies, check exits with @code{0}. BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::234.): Other exit codes indicate the kind of inconsistency found or if another error BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::235.): occurred. The following table summarizes all exit codes of the check subcommand: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::236.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::237.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::238.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::239.): @item 0 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::240.): Check completed, the image is (now) consistent BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::241.): @item 1 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::242.): Check not completed because of internal errors BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::243.): @item 2 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::244.): Check completed, image is corrupted BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::245.): @item 3 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::246.): Check completed, image has leaked clusters, but is not corrupted BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::247.): @item 63 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::248.): Checks are not supported by the image format BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::249.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::250.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::251.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @subsection END EMPTY LINE NEW LINE(_root::252.): If @code{-r} is specified, exit codes representing the image state refer to the BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::253.): state after (the attempt at) repairing it. That is, a successful @code{-r all} BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::254.): will yield the exit code 0, independently of the image state before. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::255.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::256.): @item create [-f @var{fmt}] [-b @var{backing_file}] [-F @var{backing_fmt}] [-u] [-o @var{options}] @var{filename} address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(14) <- @item MISC END @item NEW LINE(_root::257.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @subsection END EMPTY LINE NEW LINE(_root::258.): Create the new disk image @var{filename} of size @var{size} and format BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::259.): @var{fmt}. Depending on the file format, you can add one or more @var{options} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::260.): that enable additional features of this format. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::261.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::262.): If the option @var{backing_file} is specified, then the image will record BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::263.): only the differences from @var{backing_file}. No size needs to be specified in BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::264.): this case. @var{backing_file} will never be modified unless you use the BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::265.): @code{commit} monitor command (or qemu-img commit). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::266.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::267.): If a relative path name is given, the backing file is looked up relative to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::268.): the directory containing @var{filename}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::269.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::270.): Note that a given backing file will be opened to check that it is valid. Use BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::271.): the @code{-u} option to enable unsafe backing file mode, which means that the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::272.): image will be created even if the associated backing file cannot be opened. A BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::273.): matching backing file must be created or additional options be used to make the BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::274.): backing file specification valid when you want to use an image created this BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::275.): way. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::276.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::277.): The size can also be specified using the @var{size} option with @code{-o}, BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::278.): it doesn't need to be specified separately in this case. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::279.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::280.): @item commit [-q] [-f @var{fmt}] [-t @var{cache}] [-b @var{base}] [-d] [-p] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::281.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @subsection END EMPTY LINE NEW LINE(_root::282.): Commit the changes recorded in @var{filename} in its base image or backing file. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::283.): If the backing file is smaller than the snapshot, then the backing file will be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::284.): resized to be the same size as the snapshot. If the snapshot is smaller than BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::285.): the backing file, the backing file will not be truncated. If you want the BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::286.): backing file to match the size of the smaller snapshot, you can safely truncate BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::287.): it yourself once the commit operation successfully completes. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::288.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::289.): The image @var{filename} is emptied after the operation has succeeded. If you do BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::290.): not need @var{filename} afterwards and intend to drop it, you may skip emptying BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::291.): @var{filename} by specifying the @code{-d} flag. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::292.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::293.): If the backing chain of the given image file @var{filename} has more than one BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::294.): layer, the backing file into which the changes will be committed may be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::295.): specified as @var{base} (which has to be part of @var{filename}'s backing BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::296.): chain). If @var{base} is not specified, the immediate backing file of the top BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::297.): image (which is @var{filename}) will be used. Note that after a commit operation BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::298.): all images between @var{base} and the top image will be invalid and may return BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::299.): garbage data when read. For this reason, @code{-b} implies @code{-d} (so that BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(23) <- @table NEW LINE(_root::300.): the top image stays valid). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(24) <- @table NEW LINE(_root::301.): BEGIN LINE END LINE: (paragraph) : contents(25) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::302.): @item compare [-f @var{fmt}] [-F @var{fmt}] [-T @var{src_cache}] [-p] [-s] [-q] @var{filename1} @var{filename2} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(11) <- @item MISC END @item NEW LINE(_root::303.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @subsection END EMPTY LINE NEW LINE(_root::304.): Check if two images have the same content. You can compare images with BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::305.): different format or settings. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::306.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::307.): The format is probed unless you specify it by @var{-f} (used for BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::308.): @var{filename1}) and/or @var{-F} (used for @var{filename2}) option. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::309.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::310.): By default, images with different size are considered identical if the larger BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::311.): image contains only unallocated and/or zeroed sectors in the area after the end BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::312.): of the other image. In addition, if any sector is not allocated in one image BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::313.): and contains only zero bytes in the second one, it is evaluated as equal. You BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::314.): can use Strict mode by specifying the @var{-s} option. When compare runs in BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::315.): Strict mode, it fails in case image size differs or a sector is allocated in BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::316.): one image and is not allocated in the second one. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::317.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::318.): By default, compare prints out a result message. This message displays BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::319.): information that both images are same or the position of the first different BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::320.): byte. In addition, result message can report different image size in case BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::321.): Strict mode is used. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::322.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::323.): Compare exits with @code{0} in case the images are equal and with @code{1} BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::324.): in case the images differ. Other exit codes mean an error occurred during BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::325.): execution and standard error output should contain an error message. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::326.): The following table sumarizes all exit codes of the compare subcommand: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::327.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::328.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::329.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::330.): @item 0 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::331.): Images are identical BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::332.): @item 1 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::333.): Images differ BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::334.): @item 2 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::335.): Error on opening an image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::336.): @item 3 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::337.): Error on checking a sector allocation BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::338.): @item 4 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::339.): Error on reading data BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::340.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::341.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::342.): BEGIN LINE END LINE: @table : args(1) contents(19) <- @subsection END EMPTY LINE NEW LINE(_root::343.): @item convert [-c] [-p] [-n] [-f @var{fmt}] [-t @var{cache}] [-T @var{src_cache}] [-O @var{output_fmt}] [-B @var{backing_file}] [-o @var{options}] [-s @var{snapshot_id_or_name}] [-l @var{snapshot_param}] [-m @var{num_coroutines}] [-W] [-S @var{sparse_size}] @var{filename} address@hidden [...]] @var{output_filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(27) <- @item MISC END @item NEW LINE(_root::344.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::345.): Convert the disk image @var{filename} or a snapshot @var{snapshot_param}(@var{snapshot_id_or_name} is deprecated) BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::346.): to disk image @var{output_filename} using format @var{output_fmt}. It can be optionally compressed (@code{-c} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::347.): option) or use any format specific options like encryption (@code{-o} option). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::348.): BEGIN LINE END LINE: (paragraph) : contents(18) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::349.): Only the formats @code{qcow} and @code{qcow2} support compression. The BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::350.): compression is read-only. It means that if a compressed sector is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::351.): rewritten, then it is rewritten as uncompressed data. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::352.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::353.): Image conversion is also useful to get smaller image when using a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::354.): growable format such as @code{qcow}: the empty sectors are detected and BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::355.): suppressed from the destination image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::356.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::357.): @var{sparse_size} indicates the consecutive number of bytes (defaults to 4k) BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::358.): that must contain only zeros for qemu-img to create a sparse image during BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::359.): conversion. If @var{sparse_size} is 0, the source will not be scanned for BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::360.): unallocated or zero sectors, and the destination image will always be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::361.): fully allocated. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::362.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::363.): You can use the @var{backing_file} option to force the output image to be BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::364.): created as a copy on write image of the specified base image; the BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::365.): @var{backing_file} should have the same content as the input's base image, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::366.): however the path, image format, etc may differ. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::367.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::368.): If a relative path name is given, the backing file is looked up relative to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::369.): the directory containing @var{output_filename}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::370.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::371.): If the @code{-n} option is specified, the target volume creation will be BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::372.): skipped. This is useful for formats such as @code{rbd} if the target BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::373.): volume has already been created with site specific options that cannot BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::374.): be supplied through qemu-img. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::375.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::376.): Out of order writes can be enabled with @code{-W} to improve performance. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::377.): This is only recommended for preallocated devices like host devices or other BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::378.): raw block devices. Out of order write does not work in combination with BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::379.): creating compressed images. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::380.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::381.): @var{num_coroutines} specifies how many coroutines work in parallel during BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::382.): the convert process (defaults to 8). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::383.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::384.): @item dd [-f @var{fmt}] [-O @var{output_fmt}] address@hidden address@hidden address@hidden address@hidden address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(15) <- @item MISC END @item NEW LINE(_root::385.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @subsection END EMPTY LINE NEW LINE(_root::386.): Dd copies from @var{input} file to @var{output} file converting it from BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::387.): @var{fmt} format to @var{output_fmt} format. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::388.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::389.): The data is by default read and written using blocks of 512 bytes but can be BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::390.): modified by specifying @var{block_size}. If address@hidden is specified BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::391.): dd will stop reading input after reading @var{blocks} input blocks. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::392.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::393.): The size syntax is similar to dd(1)'s size syntax. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::394.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::395.): @item info [-f @var{fmt}] address@hidden [--backing-chain] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::396.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @subsection END EMPTY LINE NEW LINE(_root::397.): Give information about the disk image @var{filename}. Use it in BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::398.): particular to know the size reserved on disk which can be different BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::399.): from the displayed size. If VM snapshots are stored in the disk image, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::400.): they are displayed too. The command can output in the format @var{ofmt} BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::401.): which is either @code{human} or @code{json}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::402.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::403.): If a disk image has a backing file chain, information about each disk image in BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::404.): the chain can be recursively enumerated by using the option @code{--backing-chain}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::405.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::406.): For instance, if you have an image chain like: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::407.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::408.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::409.): base.qcow2 <- snap1.qcow2 <- snap2.qcow2 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::410.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::411.): BEGIN LINE END LINE: @table : args(1) contents(18) <- @subsection END EMPTY LINE NEW LINE(_root::412.): To enumerate information about each disk image in the above chain, starting from top to base, do: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::413.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::414.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::415.): qemu-img info --backing-chain snap2.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::416.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::417.): BEGIN LINE END LINE: @table : args(1) contents(22) <- @subsection END EMPTY LINE NEW LINE(_root::418.): @item map [-f @var{fmt}] address@hidden @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::419.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::420.): Dump the metadata of image @var{filename} and its backing file chain. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::421.): In particular, this commands dumps the allocation state of every sector BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::422.): of @var{filename}, together with the topmost file that allocates it in BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::423.): the backing file chain. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::424.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::425.): Two option formats are possible. The default format (@code{human}) BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::426.): only dumps known-nonzero areas of the file. Known-zero parts of the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::427.): file are omitted altogether, and likewise for parts that are not allocated BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::428.): throughout the chain. @command{qemu-img} output will identify a file BEGIN LINE SEPARATOR: . COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::429.): from where the data can be read, and the offset in the file. Each line BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::430.): will include four fields, the first three of which are hexadecimal BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::431.): numbers. For example the first line of: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::432.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::433.): Offset Length Mapped to File BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::434.): 0 0x20000 0x50000 /tmp/overlay.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::435.): 0x100000 0x10000 0x95380000 /tmp/backing.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::436.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::437.): @noindent BEGIN LINE COMMAND noindent PARAGRAPH NEW LINE(_root::438.): means that 0x20000 (131072) bytes starting at offset 0 in the image are BEGIN LINE END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::439.): available in /tmp/overlay.qcow2 (opened in @code{raw} format) starting BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::440.): at offset 0x50000 (327680). Data that is compressed, encrypted, or BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::441.): otherwise not available in raw format will cause an error if @code{human} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::442.): format is in use. Note that file names can include newlines, thus it is BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::443.): not safe to parse this output format in scripts. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::444.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::445.): The alternative format @code{json} will return an array of dictionaries BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::446.): in JSON format. It will include similar information in BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::447.): the @code{start}, @code{length}, @code{offset} fields; BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::448.): it will also include other more specific information: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::449.): @itemize @minus BEGIN LINE COMMAND itemize CLOSE PARA COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::450.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::451.): whether the sectors contain actual data or not (boolean field @code{data}; BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::452.): if false, the sectors are either unallocated or stored as optimized BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::453.): all-zero clusters); BEGIN LINE END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::454.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::455.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::456.): whether the data is known to read as zero (boolean field @code{zero}); BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::457.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::458.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::459.): in order to make the output shorter, the target file is expressed as BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::460.): a @code{depth}; for example, a depth of 2 refers to the backing file BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::461.): of the backing file of @var{filename}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @item NEW LINE(_root::462.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::463.): BEGIN LINE END LINE: @table : args(1) contents(22) <- @subsection END EMPTY LINE NEW LINE(_root::464.): In JSON format, the @code{offset} field is optional; it is absent in BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::465.): cases where @code{human} format would omit the entry or exit with an error. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::466.): If @code{data} is false and the @code{offset} field is present, the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::467.): corresponding sectors in the file are not yet in use, but they are BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::468.): preallocated. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::469.): BEGIN LINE END LINE: (paragraph) : contents(14) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::470.): For more information, consult @file{include/block/block.h} in QEMU's BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::471.): source code. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::472.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::473.): @item measure address@hidden [-O @var{output_fmt}] [-o @var{options}] [--size @var{N} | [--object @var{objectdef}] [--image-opts] [-f @var{fmt}] [-l @var{snapshot_param}] @var{filename}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(18) <- @item MISC END @item NEW LINE(_root::474.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::475.): Calculate the file size required for a new image. This information can be used BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::476.): to size logical volumes or SAN LUNs appropriately for the image that will be BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::477.): placed in them. The values reported are guaranteed to be large enough to fit BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::478.): the image. The command can output in the format @var{ofmt} which is either BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::479.): @code{human} or @code{json}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::480.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::481.): If the size @var{N} is given then act as if creating a new empty image file BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::482.): using @command{qemu-img create}. If @var{filename} is given then act as if BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::483.): converting an existing image file using @command{qemu-img convert}. The format BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::484.): of the new file is given by @var{output_fmt} while the format of an existing BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::485.): file is given by @var{fmt}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::486.): BEGIN LINE END LINE: (paragraph) : contents(18) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::487.): A snapshot in an existing image can be specified using @var{snapshot_param}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::488.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::489.): The following fields are reported: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::490.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::491.): required size: 524288 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::492.): fully allocated size: 1074069504 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::493.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::494.): BEGIN LINE END LINE: @table : args(1) contents(21) <- @subsection END EMPTY LINE NEW LINE(_root::495.): The @code{required size} is the file size of the new image. It may be smaller BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::496.): than the virtual disk size if the image format supports compact representation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::497.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::498.): The @code{fully allocated size} is the file size of the new image once data has BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::499.): been written to all sectors. This is the maximum size that the image file can BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::500.): occupy with the exception of internal snapshots, dirty bitmaps, vmstate data, BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::501.): and other advanced image format features. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::502.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::503.): @item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot} ] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::504.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::505.): List, apply, create or delete snapshots in image @var{filename}. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::506.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::507.): @item rebase [-f @var{fmt}] [-t @var{cache}] [-T @var{src_cache}] [-p] [-u] -b @var{backing_file} [-F @var{backing_fmt}] @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(13) <- @item MISC END @item NEW LINE(_root::508.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @subsection END EMPTY LINE NEW LINE(_root::509.): Changes the backing file of an image. Only the formats @code{qcow2} and BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::510.): @code{qed} support changing the backing file. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::511.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::512.): The backing file is changed to @var{backing_file} and (if the image format of BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::513.): @var{filename} supports this) the backing file format is changed to BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::514.): @var{backing_fmt}. If @var{backing_file} is specified as ``'' (the empty BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::515.): string), then the image is rebased onto no backing file (i.e. it will exist BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::516.): independently of any backing file). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::517.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::518.): If a relative path name is given, the backing file is looked up relative to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::519.): the directory containing @var{filename}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::520.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::521.): @var{cache} specifies the cache mode to be used for @var{filename}, whereas BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::522.): @var{src_cache} specifies the cache mode for reading backing files. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::523.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::524.): There are two different modes in which @code{rebase} can operate: BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::525.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::526.): @item Safe mode BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::527.): This is the default mode and performs a real rebase operation. The new backing BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::528.): file may differ from the old one and qemu-img rebase will take care of keeping BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::529.): the guest-visible content of @var{filename} unchanged. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::530.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::531.): In order to achieve this, any clusters that differ between @var{backing_file} BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::532.): and the old backing file of @var{filename} are merged into @var{filename} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::533.): before actually changing the backing file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::534.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::535.): Note that the safe mode is an expensive operation, comparable to converting BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::536.): an image. It only works if the old backing file still exists. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::537.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::538.): @item Unsafe mode BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::539.): qemu-img uses the unsafe mode if @code{-u} is specified. In this mode, only the BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::540.): backing file name and format of @var{filename} is changed without any checks BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::541.): on the file contents. The user must take care of specifying the correct new BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::542.): backing file, or the guest-visible content of the image will be corrupted. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::543.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::544.): This mode is useful for renaming or moving the backing file to somewhere else. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::545.): It can be used without an accessible old backing file, i.e. you can use it to BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::546.): fix an image whose backing file has already been moved/renamed. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::547.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::548.): BEGIN LINE END LINE: @table : args(1) contents(25) <- @subsection END EMPTY LINE NEW LINE(_root::549.): You can use @code{rebase} to perform a ``diff'' operation on two BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::550.): disk images. This can be useful when you have copied or cloned BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::551.): a guest, and you want to get back to a thin image on top of a BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::552.): template or base image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::553.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::554.): Say that @code{base.img} has been cloned as @code{modified.img} by BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::555.): copying it, and that the @code{modified.img} guest has run so there BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::556.): are now some changes compared to @code{base.img}. To construct a thin BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::557.): image called @code{diff.qcow2} that contains just the differences, do: BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::558.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::559.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::560.): qemu-img create -f qcow2 -b modified.img diff.qcow2 BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::561.): qemu-img rebase -b base.img diff.qcow2 BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::562.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::563.): BEGIN LINE END LINE: @table : args(1) contents(31) <- @subsection END EMPTY LINE NEW LINE(_root::564.): At this point, @code{modified.img} can be discarded, since BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::565.): @code{base.img + diff.qcow2} contains the same information. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::566.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::567.): @item resize [--shrink] address@hidden @var{filename} [+ | address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(7) <- @item MISC END @item NEW LINE(_root::568.): BEGIN LINE END LINE: @table : args(1) contents(15) <- @subsection END EMPTY LINE NEW LINE(_root::569.): Change the disk image as if it had been created with @var{size}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::570.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::571.): Before using this command to shrink a disk image, you MUST use file system and BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::572.): partitioning tools inside the VM to reduce allocated file systems and partition BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::573.): sizes accordingly. Failure to do so will result in data loss! BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::574.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::575.): When shrinking images, the @code{--shrink} option must be given. This informs BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::576.): qemu-img that the user acknowledges all loss of data beyond the truncated BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::577.): image's end. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::578.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::579.): After using this command to grow a disk image, you must use file system and BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::580.): partitioning tools inside the VM to actually begin using the new space on the BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::581.): device. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::582.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::583.): When growing an image, the @code{--preallocation} option may be used to specify BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::584.): how the additional image area should be allocated on the host. See the format BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::585.): description in the @code{NOTES} section which values are allowed. Using this BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::586.): option may result in slightly more data being allocated than necessary. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::587.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::588.): @item amend [-p] [-f @var{fmt}] [-t @var{cache}] -o @var{options} @var{filename} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(9) <- @item MISC END @item NEW LINE(_root::589.): BEGIN LINE END LINE: @table : args(1) contents(16) <- @subsection END EMPTY LINE NEW LINE(_root::590.): Amends the image format specific @var{options} for the image file BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::591.): @var{filename}. Not all file formats support this operation. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::592.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::593.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::594.): BEGIN LINE END LINE: @subsection : args(1) contents(43) <- (document_root) END EMPTY LINE NEW LINE(_root::595.): @ignore BEGIN LINE COMMAND ignore NEW LINE(_root::596.): @c man begin NOTES NEW LINE(_root::597.): Supported image file formats: NEW LINE(_root::598.): NEW LINE(_root::599.): @table @option NEW LINE(_root::600.): @item raw NEW LINE(_root::601.): NEW LINE(_root::602.): Raw disk image format (default). This format has the advantage of NEW LINE(_root::603.): being simple and easily exportable to all other emulators. If your NEW LINE(_root::604.): file system supports @emph{holes} (for example in ext2 or ext3 on NEW LINE(_root::605.): Linux or NTFS on Windows), then only the written sectors will reserve NEW LINE(_root::606.): space. Use @code{qemu-img info} to know the real size used by the NEW LINE(_root::607.): image or @code{ls -ls} on Unix/Linux. NEW LINE(_root::608.): NEW LINE(_root::609.): Supported options: NEW LINE(_root::610.): @table @code NEW LINE(_root::611.): @item preallocation NEW LINE(_root::612.): Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}). NEW LINE(_root::613.): @code{falloc} mode preallocates space for image by calling posix_fallocate(). NEW LINE(_root::614.): @code{full} mode preallocates space for image by writing zeros to underlying NEW LINE(_root::615.): storage. NEW LINE(_root::616.): @end table NEW LINE(_root::617.): NEW LINE(_root::618.): @item qcow2 NEW LINE(_root::619.): QEMU image format, the most versatile format. Use it to have smaller NEW LINE(_root::620.): images (useful if your filesystem does not supports holes, for example NEW LINE(_root::621.): on Windows), optional AES encryption, zlib based compression and NEW LINE(_root::622.): support of multiple VM snapshots. NEW LINE(_root::623.): NEW LINE(_root::624.): Supported options: NEW LINE(_root::625.): @table @code NEW LINE(_root::626.): @item compat NEW LINE(_root::627.): Determines the qcow2 version to use. @code{compat=0.10} uses the NEW LINE(_root::628.): traditional image format that can be read by any QEMU since 0.10. NEW LINE(_root::629.): @code{compat=1.1} enables image format extensions that only QEMU 1.1 and NEW LINE(_root::630.): newer understand (this is the default). Amongst others, this includes zero NEW LINE(_root::631.): clusters, which allow efficient copy-on-read for sparse images. NEW LINE(_root::632.): NEW LINE(_root::633.): @item backing_file NEW LINE(_root::634.): File name of a base image (see @option{create} subcommand) NEW LINE(_root::635.): @item backing_fmt NEW LINE(_root::636.): Image format of the base image NEW LINE(_root::637.): @item encryption NEW LINE(_root::638.): If this option is set to @code{on}, the image is encrypted with 128-bit AES-CBC. NEW LINE(_root::639.): NEW LINE(_root::640.): The use of encryption in qcow and qcow2 images is considered to be flawed by NEW LINE(_root::641.): modern cryptography standards, suffering from a number of design problems: NEW LINE(_root::642.): NEW LINE(_root::643.): @itemize @minus NEW LINE(_root::644.): @item NEW LINE(_root::645.): The AES-CBC cipher is used with predictable initialization vectors based NEW LINE(_root::646.): on the sector number. This makes it vulnerable to chosen plaintext attacks NEW LINE(_root::647.): which can reveal the existence of encrypted data. NEW LINE(_root::648.): @item NEW LINE(_root::649.): The user passphrase is directly used as the encryption key. A poorly NEW LINE(_root::650.): chosen or short passphrase will compromise the security of the encryption. NEW LINE(_root::651.): @item NEW LINE(_root::652.): In the event of the passphrase being compromised there is no way to NEW LINE(_root::653.): change the passphrase to protect data in any qcow images. The files must NEW LINE(_root::654.): be cloned, using a different encryption passphrase in the new file. The NEW LINE(_root::655.): original file must then be securely erased using a program like shred, NEW LINE(_root::656.): though even this is ineffective with many modern storage technologies. NEW LINE(_root::657.): @item NEW LINE(_root::658.): Initialization vectors used to encrypt sectors are based on the NEW LINE(_root::659.): guest virtual sector number, instead of the host physical sector. When NEW LINE(_root::660.): a disk image has multiple internal snapshots this means that data in NEW LINE(_root::661.): multiple physical sectors is encrypted with the same initialization NEW LINE(_root::662.): vector. With the CBC mode, this opens the possibility of watermarking NEW LINE(_root::663.): attacks if the attack can collect multiple sectors encrypted with the NEW LINE(_root::664.): same IV and some predictable data. Having multiple qcow2 images with NEW LINE(_root::665.): the same passphrase also exposes this weakness since the passphrase NEW LINE(_root::666.): is directly used as the key. NEW LINE(_root::667.): @end itemize NEW LINE(_root::668.): NEW LINE(_root::669.): Use of qcow / qcow2 encryption is thus strongly discouraged. Users are NEW LINE(_root::670.): recommended to use an alternative encryption technology such as the NEW LINE(_root::671.): Linux dm-crypt / LUKS system. NEW LINE(_root::672.): NEW LINE(_root::673.): @item cluster_size NEW LINE(_root::674.): Changes the qcow2 cluster size (must be between 512 and 2M). Smaller cluster NEW LINE(_root::675.): sizes can improve the image file size whereas larger cluster sizes generally NEW LINE(_root::676.): provide better performance. NEW LINE(_root::677.): NEW LINE(_root::678.): @item preallocation NEW LINE(_root::679.): Preallocation mode (allowed values: @code{off}, @code{metadata}, @code{falloc}, NEW LINE(_root::680.): @code{full}). An image with preallocated metadata is initially larger but can NEW LINE(_root::681.): improve performance when the image needs to grow. @code{falloc} and @code{full} NEW LINE(_root::682.): preallocations are like the same options of @code{raw} format, but sets up NEW LINE(_root::683.): metadata also. NEW LINE(_root::684.): NEW LINE(_root::685.): @item lazy_refcounts NEW LINE(_root::686.): If this option is set to @code{on}, reference count updates are postponed with NEW LINE(_root::687.): the goal of avoiding metadata I/O and improving performance. This is NEW LINE(_root::688.): particularly interesting with @option{cache=writethrough} which doesn't batch NEW LINE(_root::689.): metadata updates. The tradeoff is that after a host crash, the reference count NEW LINE(_root::690.): tables must be rebuilt, i.e. on the next open an (automatic) @code{qemu-img NEW LINE(_root::691.): check -r all} is required, which may take some time. NEW LINE(_root::692.): NEW LINE(_root::693.): This option can only be enabled if @code{compat=1.1} is specified. NEW LINE(_root::694.): NEW LINE(_root::695.): @item nocow NEW LINE(_root::696.): If this option is set to @code{on}, it will turn off COW of the file. It's only NEW LINE(_root::697.): valid on btrfs, no effect on other file systems. NEW LINE(_root::698.): NEW LINE(_root::699.): Btrfs has low performance when hosting a VM image file, even more when the guest NEW LINE(_root::700.): on the VM also using btrfs as file system. Turning off COW is a way to mitigate NEW LINE(_root::701.): this bad performance. Generally there are two ways to turn off COW on btrfs: NEW LINE(_root::702.): a) Disable it by mounting with nodatacow, then all newly created files will be NEW LINE(_root::703.): NOCOW. b) For an empty file, add the NOCOW file attribute. That's what this option NEW LINE(_root::704.): does. NEW LINE(_root::705.): NEW LINE(_root::706.): Note: this option is only valid to new or empty files. If there is an existing NEW LINE(_root::707.): file which is COW and has data blocks already, it couldn't be changed to NOCOW NEW LINE(_root::708.): by setting @code{nocow=on}. One can issue @code{lsattr filename} to check if NEW LINE(_root::709.): the NOCOW flag is set or not (Capital 'C' is NOCOW flag). NEW LINE(_root::710.): NEW LINE(_root::711.): @end table NEW LINE(_root::712.): NEW LINE(_root::713.): @item Other NEW LINE(_root::714.): QEMU also supports various other image file formats for compatibility with NEW LINE(_root::715.): older QEMU versions or other hypervisors, including VMDK, VDI, VHD (vpc), VHDX, NEW LINE(_root::716.): qcow1 and QED. For a full list of supported formats see @code{qemu-img --help}. NEW LINE(_root::717.): For a more detailed description of these formats, see the QEMU Emulation User NEW LINE(_root::718.): Documentation. NEW LINE(_root::719.): NEW LINE(_root::720.): The main purpose of the block drivers for these formats is image conversion. NEW LINE(_root::721.): For running VMs, it is recommended to convert the disk images to either raw or NEW LINE(_root::722.): qcow2 in order to achieve good performance. NEW LINE(_root::723.): @end table NEW LINE(_root::724.): NEW LINE(_root::725.): NEW LINE(_root::726.): @c man end NEW LINE(_root::727.): NEW LINE(_root::728.): @setfilename qemu-img NEW LINE(_root::729.): @settitle QEMU disk image utility NEW LINE(_root::730.): NEW LINE(_root::731.): @c man begin SEEALSO NEW LINE(_root::732.): The HTML documentation of QEMU for more precise information and Linux NEW LINE(_root::733.): user mode emulator invocation. NEW LINE(_root::734.): @c man end NEW LINE(_root::735.): NEW LINE(_root::736.): @c man begin AUTHOR NEW LINE(_root::737.): Fabrice Bellard NEW LINE(_root::738.): @c man end NEW LINE(_root::739.): NEW LINE(_root::740.): @end ignore CLOSED raw ignore END LINE: @subsection : args(1) contents(45) <- (document_root) NEW LINE(_root::706.): BEGIN LINE END LINE: @subsection : args(1) contents(46) <- (document_root) END EMPTY LINE NEW LINE(_root::707.): @node qemu_nbd_invocation BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::708.): @subsection @code{qemu-nbd} Invocation BEGIN LINE COMMAND subsection COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (misc_line_arg) : contents(3) <- @subsection MISC END @subsection NEW LINE(_root::709.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::710.): @include qemu-nbd.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-nbd.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2.): @c man begin SYNOPSIS BEGIN LINE COMMAND c NEW LINE(_root|preformatted::3.): @command{qemu-nbd} [OPTION]... @var{filename} BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::4.): BEGIN LINE END LINE: (preformatted) : contents(6) <- @example END EMPTY LINE NEW LINE(_root|preformatted::5.): @command{qemu-nbd} @option{-d} @var{dev} BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::6.): @c man end BEGIN LINE COMMAND c NEW LINE(_root|preformatted::7.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::8.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::9.): @c man begin DESCRIPTION BEGIN LINE COMMAND c NEW LINE(_root::10.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::11.): Export a QEMU disk image using the NBD protocol. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::12.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::13.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::14.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::15.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::16.): @var{filename} is a disk image filename, or a set of block BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::17.): driver options if @var{--image-opts} is specified. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::18.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::19.): @var{dev} is an NBD device. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::20.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::21.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::22.): @item --object type,address@hidden,...props... BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::23.): Define a new instance of the @var{type} object class identified by @var{id}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::24.): See the @code{qemu(1)} manual page for full details of the properties BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::25.): supported. The common object types that it makes sense to define are the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::26.): @code{secret} object, which is used to supply passwords and/or encryption BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::27.): keys, and the @code{tls-creds} object, which is used to supply TLS BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::28.): credentials for the qemu-nbd server. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::29.): @item -p, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::30.): The TCP port to listen on (default @samp{10809}) BEGIN LINE PARAGRAPH COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::31.): @item -o, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::32.): The offset into the image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::33.): @item -b, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::34.): The interface to bind to (default @samp{0.0.0.0}) BEGIN LINE PARAGRAPH COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::35.): @item -k, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::36.): Use a unix socket with path @var{path} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::37.): @item --image-opts BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::38.): Treat @var{filename} as a set of image options, instead of a plain BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::39.): filename. If this flag is specified, the @var{-f} flag should BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::40.): not be used, instead the '@code{format=}' option should be set. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::41.): @item -f, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::42.): Force the use of the block driver for format @var{fmt} instead of BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::43.): auto-detecting BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::44.): @item -r, --read-only BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::45.): Export the disk as read-only BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::46.): @item -P, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::47.): Only expose partition @var{num} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::48.): @item -s, --snapshot BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::49.): Use @var{filename} as an external snapshot, create a temporary BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::50.): file with address@hidden, redirect the write to BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::51.): the temporary one BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::52.): @item -l, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::53.): Load an internal snapshot inside @var{filename} and export it BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::54.): as an read-only device, @var{snapshot_param} format is BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::55.): 'snapshot.id=[ID],snapshot.name=[NAME]' or '[ID_OR_NAME]' BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::56.): @item -n, --nocache BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::57.): @itemx address@hidden BEGIN LINE COMMAND itemx ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @itemx MISC END @itemx NEW LINE(_root::58.): The cache mode to be used with the file. See the documentation of BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::59.): the emulator's @code{-drive cache=...} option for allowed values. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::60.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::61.): Set the asynchronous I/O mode between @samp{threads} (the default) BEGIN LINE PARAGRAPH COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::62.): and @samp{native} (Linux only). BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::63.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::64.): Control whether @dfn{discard} (also known as @dfn{trim} or @dfn{unmap}) BEGIN LINE PARAGRAPH COMMAND dfn SEPARATOR: { OPENED @dfn, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @dfn COMMAND dfn SEPARATOR: { OPENED @dfn, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @dfn COMMAND dfn SEPARATOR: { OPENED @dfn, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @dfn END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::65.): requests are ignored or passed to the filesystem. @var{discard} is one of BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::66.): @samp{ignore} (or @samp{off}), @samp{unmap} (or @samp{on}). The default is BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::67.): @samp{ignore}. BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(20) <- @table NEW LINE(_root::68.): @item address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::69.): Control the automatic conversion of plain zero writes by the OS to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::70.): driver-specific optimized zero write commands. @var{detect-zeroes} is one of BEGIN LINE SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::71.): @samp{off}, @samp{on} or @samp{unmap}. @samp{unmap} BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::72.): converts a zero write to an unmap operation and can only be used if BEGIN LINE END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::73.): @var{discard} is set to @samp{unmap}. The default is @samp{off}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(19) <- @table NEW LINE(_root::74.): @item -c, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::75.): Connect @var{filename} to NBD device @var{dev} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::76.): @item -d, --disconnect BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::77.): Disconnect the device @var{dev} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::78.): @item -e, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::79.): Allow up to @var{num} clients to share the device (default @samp{1}) BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::80.): @item -t, --persistent BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::81.): Don't exit on the last connection BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::82.): @item -x, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::83.): Set the NBD volume export name. This switches the server to use BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::84.): the new style NBD protocol negotiation BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::85.): @item -D, address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::86.): Set the NBD volume export description, as a human-readable BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::87.): string. Requires the use of @option{-x} BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::88.): @item --tls-creds=ID BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::89.): Enable mandatory TLS encryption for the server by setting the ID BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::90.): of the TLS credentials object previously created with the --object BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::91.): option. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::92.): @item --fork BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::93.): Fork off the server process and exit the parent once the server is running. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::94.): @item -v, --verbose BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::95.): Display extra debugging information BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::96.): @item -h, --help BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::97.): Display this help and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::98.): @item -V, --version BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::99.): Display version information and exit BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::100.): @item -T, --trace address@hidden,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::101.): @findex --trace BEGIN LINE COMMAND findex END LINE: (misc_line_arg) : contents(2) <- @findex MISC END @findex NEW LINE(_root::102.): @include qemu-option-trace.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-option-trace.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): Specify tracing options. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::3.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::4.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::5.): Immediately enable events matching @var{pattern}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::6.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::7.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::8.): available if QEMU has been compiled with the @var{simple}, @var{log} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::9.): or @var{ftrace} tracing backend. To specify multiple events or patterns, BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(15) <- @table NEW LINE(_root::10.): specify the @option{-trace} option multiple times. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::11.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::12.): Use @code{-trace help} to print a list of names of trace points. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::13.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::14.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::15.): Immediately enable events listed in @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::16.): The file must contain one event name (as listed in the @file{trace-events-all} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::17.): file) per line; globbing patterns are accepted too. This option is only BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::18.): available if QEMU has been compiled with the @var{simple}, @var{log} or BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::19.): @var{ftrace} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(14) <- @table NEW LINE(_root::20.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::21.): @item address@hidden BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::22.): Log output traces to @var{file}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::23.): This option is only available if QEMU has been compiled with BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::24.): the @var{simple} tracing backend. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::25.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::103.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::104.): BEGIN LINE END LINE: @subsection : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::105.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::106.): BEGIN LINE END LINE: @subsection : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::107.): @ignore BEGIN LINE COMMAND ignore NEW LINE(_root::108.): NEW LINE(_root::109.): @setfilename qemu-nbd NEW LINE(_root::110.): @settitle QEMU Disk Network Block Device Server NEW LINE(_root::111.): NEW LINE(_root::112.): @c man begin AUTHOR NEW LINE(_root::113.): Copyright (C) 2006 Anthony Liguori . NEW LINE(_root::114.): This is free software; see the source for copying conditions. There is NO NEW LINE(_root::115.): warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. NEW LINE(_root::116.): @c man end NEW LINE(_root::117.): NEW LINE(_root::118.): @c man begin SEEALSO NEW LINE(_root::119.): qemu(1), qemu-img(1) NEW LINE(_root::120.): @c man end NEW LINE(_root::121.): NEW LINE(_root::122.): @end ignore CLOSED raw ignore END LINE: @subsection : args(1) contents(20) <- (document_root) NEW LINE(_root::711.): BEGIN LINE END LINE: @subsection : args(1) contents(21) <- (document_root) END EMPTY LINE NEW LINE(_root::712.): @include docs/qemu-block-drivers.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included docs/qemu-block-drivers.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @c man begin SYNOPSIS BEGIN LINE COMMAND c NEW LINE(_root::2.): QEMU block driver reference manual BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::3.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::4.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::5.): @c man begin DESCRIPTION BEGIN LINE COMMAND c NEW LINE(_root::6.): BEGIN LINE END LINE: @subsection : args(1) contents(26) <- (document_root) END EMPTY LINE NEW LINE(_root::7.): @node disk_images_formats BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::8.): @subsection Disk image file formats BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::9.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::10.): QEMU supports many image file formats that can be used with VMs as well as with BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::11.): any of the tools (like @code{qemu-img}). This includes the preferred formats BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::12.): raw and qcow2 as well as formats that are supported for compatibility with BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::13.): older QEMU versions or other hypervisors. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::14.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::15.): Depending on the image format, different options can be passed to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::16.): @code{qemu-img create} and @code{qemu-img convert} using the @code{-o} option. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::17.): This section describes each format and the options that are supported for it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::18.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::19.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::20.): @item raw BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::21.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @subsection END EMPTY LINE NEW LINE(_root::22.): Raw disk image format. This format has the advantage of BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::23.): being simple and easily exportable to all other emulators. If your BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::24.): file system supports @emph{holes} (for example in ext2 or ext3 on BEGIN LINE COMMAND emph SEPARATOR: { OPENED @emph, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @emph END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::25.): Linux or NTFS on Windows), then only the written sectors will reserve BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::26.): space. Use @code{qemu-img info} to know the real size used by the BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::27.): image or @code{ls -ls} on Unix/Linux. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::28.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::29.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::30.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::31.): @item preallocation BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::32.): Preallocation mode (allowed values: @code{off}, @code{falloc}, @code{full}). BEGIN LINE PARAGRAPH SEPARATOR: : COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::33.): @code{falloc} mode preallocates space for image by calling posix_fallocate(). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::34.): @code{full} mode preallocates space for image by writing zeros to underlying BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::35.): storage. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::36.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::37.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::38.): @item qcow2 BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::39.): QEMU image format, the most versatile format. Use it to have smaller BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::40.): images (useful if your filesystem does not supports holes, for example BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::41.): on Windows), zlib based compression and support of multiple VM BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::42.): snapshots. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::43.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::44.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::45.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::46.): @item compat BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::47.): Determines the qcow2 version to use. @code{compat=0.10} uses the BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::48.): traditional image format that can be read by any QEMU since 0.10. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::49.): @code{compat=1.1} enables image format extensions that only QEMU 1.1 and BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::50.): newer understand (this is the default). Amongst others, this includes BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::51.): zero clusters, which allow efficient copy-on-read for sparse images. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::52.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::53.): @item backing_file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::54.): File name of a base image (see @option{create} subcommand) BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::55.): @item backing_fmt BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::56.): Image format of the base image BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::57.): @item encryption BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::58.): This option is deprecated and equivalent to @code{encrypt.format=aes} BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::59.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::60.): @item encrypt.format BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::61.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @table END EMPTY LINE NEW LINE(_root::62.): If this is set to @code{luks}, it requests that the qcow2 payload (not BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::63.): qcow2 header) be encrypted using the LUKS format. The passphrase to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::64.): use to unlock the LUKS key slot is given by the @code{encrypt.key-secret} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::65.): parameter. LUKS encryption parameters can be tuned with the other BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::66.): @code{encrypt.*} parameters. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::67.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::68.): If this is set to @code{aes}, the image is encrypted with 128-bit AES-CBC. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::69.): The encryption key is given by the @code{encrypt.key-secret} parameter. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::70.): This encryption format is considered to be flawed by modern cryptography BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::71.): standards, suffering from a number of design problems: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::72.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::73.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::74.): @item The AES-CBC cipher is used with predictable initialization vectors based BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::75.): on the sector number. This makes it vulnerable to chosen plaintext attacks BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::76.): which can reveal the existence of encrypted data. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::77.): @item The user passphrase is directly used as the encryption key. A poorly BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::78.): chosen or short passphrase will compromise the security of the encryption. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::79.): @item In the event of the passphrase being compromised there is no way to BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::80.): change the passphrase to protect data in any qcow images. The files must BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::81.): be cloned, using a different encryption passphrase in the new file. The BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::82.): original file must then be securely erased using a program like shred, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::83.): though even this is ineffective with many modern storage technologies. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::84.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::85.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @table END EMPTY LINE NEW LINE(_root::86.): The use of this is no longer supported in system emulators. Support only BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::87.): remains in the command line utilities, for the purposes of data liberation BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::88.): and interoperability with old versions of QEMU. The @code{luks} format BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::89.): should be used instead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::90.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::91.): @item encrypt.key-secret BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::92.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @table END EMPTY LINE NEW LINE(_root::93.): Provides the ID of a @code{secret} object that contains the passphrase BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::94.): (@code{encrypt.format=luks}) or encryption key (@code{encrypt.format=aes}). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::95.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::96.): @item encrypt.cipher-alg BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::97.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @table END EMPTY LINE NEW LINE(_root::98.): Name of the cipher algorithm and key length. Currently defaults BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::99.): to @code{aes-256}. Only used when @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::100.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::101.): @item encrypt.cipher-mode BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::102.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @table END EMPTY LINE NEW LINE(_root::103.): Name of the encryption mode to use. Currently defaults to @code{xts}. BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::104.): Only used when @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::105.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::106.): @item encrypt.ivgen-alg BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::107.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @table END EMPTY LINE NEW LINE(_root::108.): Name of the initialization vector generator algorithm. Currently defaults BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::109.): to @code{plain64}. Only used when @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::110.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::111.): @item encrypt.ivgen-hash-alg BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::112.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @table END EMPTY LINE NEW LINE(_root::113.): Name of the hash algorithm to use with the initialization vector generator BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::114.): (if required). Defaults to @code{sha256}. Only used when @code{encrypt.format=luks}. BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::115.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::116.): @item encrypt.hash-alg BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::117.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @table END EMPTY LINE NEW LINE(_root::118.): Name of the hash algorithm to use for PBKDF algorithm BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::119.): Defaults to @code{sha256}. Only used when @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::120.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::121.): @item encrypt.iter-time BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::122.): BEGIN LINE END LINE: @table : args(1) contents(14) <- @table END EMPTY LINE NEW LINE(_root::123.): Amount of time, in milliseconds, to use for PBKDF algorithm per key slot. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::124.): Defaults to @code{2000}. Only used when @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::125.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::126.): @item cluster_size BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::127.): Changes the qcow2 cluster size (must be between 512 and 2M). Smaller cluster BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::128.): sizes can improve the image file size whereas larger cluster sizes generally BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::129.): provide better performance. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::130.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::131.): @item preallocation BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::132.): Preallocation mode (allowed values: @code{off}, @code{metadata}, @code{falloc}, BEGIN LINE PARAGRAPH SEPARATOR: : COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::133.): @code{full}). An image with preallocated metadata is initially larger but can BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::134.): improve performance when the image needs to grow. @code{falloc} and @code{full} BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::135.): preallocations are like the same options of @code{raw} format, but sets up BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::136.): metadata also. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @table NEW LINE(_root::137.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::138.): @item lazy_refcounts BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::139.): If this option is set to @code{on}, reference count updates are postponed with BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::140.): the goal of avoiding metadata I/O and improving performance. This is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::141.): particularly interesting with @option{cache=writethrough} which doesn't batch BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::142.): metadata updates. The tradeoff is that after a host crash, the reference count BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::143.): tables must be rebuilt, i.e. on the next open an (automatic) @code{qemu-img BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg END LINE: (brace_command_arg) : contents(1) <- @code NEW LINE(_root::144.): check -r all} is required, which may take some time. BEGIN LINE SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::145.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::146.): This option can only be enabled if @code{compat=1.1} is specified. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::147.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::148.): @item nocow BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::149.): If this option is set to @code{on}, it will turn off COW of the file. It's only BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::150.): valid on btrfs, no effect on other file systems. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::151.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::152.): Btrfs has low performance when hosting a VM image file, even more when the guest BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::153.): on the VM also using btrfs as file system. Turning off COW is a way to mitigate BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::154.): this bad performance. Generally there are two ways to turn off COW on btrfs: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::155.): a) Disable it by mounting with nodatacow, then all newly created files will be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::156.): NOCOW. b) For an empty file, add the NOCOW file attribute. That's what this option BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::157.): does. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::158.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::159.): Note: this option is only valid to new or empty files. If there is an existing BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::160.): file which is COW and has data blocks already, it couldn't be changed to NOCOW BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::161.): by setting @code{nocow=on}. One can issue @code{lsattr filename} to check if BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::162.): the NOCOW flag is set or not (Capital 'C' is NOCOW flag). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::163.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::164.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::165.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @subsection END EMPTY LINE NEW LINE(_root::166.): @item qed BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::167.): Old QEMU image format with support for backing files and compact image files BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::168.): (when your filesystem or transport medium does not support holes). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::169.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::170.): When converting QED images to qcow2, you might want to consider using the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::171.): @code{lazy_refcounts=on} option to get a more QED-like behaviour. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::172.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::173.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::174.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::175.): @item backing_file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::176.): File name of a base image (see @option{create} subcommand). BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::177.): @item backing_fmt BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::178.): Image file format of backing file (optional). Useful if the format cannot be BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::179.): autodetected because it has no header, like some vhd/vpc files. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::180.): @item cluster_size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::181.): Changes the cluster size (must be power-of-2 between 4K and 64K). Smaller BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::182.): cluster sizes can improve the image file size whereas larger cluster sizes BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::183.): generally provide better performance. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::184.): @item table_size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::185.): Changes the number of clusters per L1/L2 table (must be power-of-2 between 1 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::186.): and 16). There is normally no need to change this value but this option can be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::187.): used for performance benchmarking. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::188.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::189.): BEGIN LINE END LINE: @table : args(1) contents(11) <- @subsection END EMPTY LINE NEW LINE(_root::190.): @item qcow BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::191.): Old QEMU image format with support for backing files, compact image files, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::192.): encryption and compression. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::193.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::194.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::195.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::196.): @item backing_file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::197.): File name of a base image (see @option{create} subcommand) BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::198.): @item encryption BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::199.): This option is deprecated and equivalent to @code{encrypt.format=aes} BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::200.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::201.): @item encrypt.format BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::202.): If this is set to @code{aes}, the image is encrypted with 128-bit AES-CBC. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::203.): The encryption key is given by the @code{encrypt.key-secret} parameter. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::204.): This encryption format is considered to be flawed by modern cryptography BEGIN LINE END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::205.): standards, suffering from a number of design problems enumerated previously BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::206.): against the @code{qcow2} image format. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::207.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::208.): The use of this is no longer supported in system emulators. Support only BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::209.): remains in the command line utilities, for the purposes of data liberation BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::210.): and interoperability with old versions of QEMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::211.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::212.): Users requiring native encryption should use the @code{qcow2} format BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::213.): instead with @code{encrypt.format=luks}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::214.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::215.): @item encrypt.key-secret BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::216.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::217.): Provides the ID of a @code{secret} object that contains the encryption BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::218.): key (@code{encrypt.format=aes}). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::219.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::220.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::221.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @subsection END EMPTY LINE NEW LINE(_root::222.): @item luks BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::223.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @subsection END EMPTY LINE NEW LINE(_root::224.): LUKS v1 encryption format, compatible with Linux dm-crypt/cryptsetup BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::225.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::226.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::227.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::228.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::229.): @item key-secret BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::230.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @table END EMPTY LINE NEW LINE(_root::231.): Provides the ID of a @code{secret} object that contains the passphrase. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::232.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::233.): @item cipher-alg BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::234.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @table END EMPTY LINE NEW LINE(_root::235.): Name of the cipher algorithm and key length. Currently defaults BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::236.): to @code{aes-256}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::237.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::238.): @item cipher-mode BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::239.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @table END EMPTY LINE NEW LINE(_root::240.): Name of the encryption mode to use. Currently defaults to @code{xts}. BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::241.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::242.): @item ivgen-alg BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::243.): BEGIN LINE END LINE: @table : args(1) contents(6) <- @table END EMPTY LINE NEW LINE(_root::244.): Name of the initialization vector generator algorithm. Currently defaults BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::245.): to @code{plain64}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::246.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::247.): @item ivgen-hash-alg BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::248.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @table END EMPTY LINE NEW LINE(_root::249.): Name of the hash algorithm to use with the initialization vector generator BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::250.): (if required). Defaults to @code{sha256}. BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::251.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::252.): @item hash-alg BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::253.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @table END EMPTY LINE NEW LINE(_root::254.): Name of the hash algorithm to use for PBKDF algorithm BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::255.): Defaults to @code{sha256}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::256.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::257.): @item iter-time BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::258.): BEGIN LINE END LINE: @table : args(1) contents(9) <- @table END EMPTY LINE NEW LINE(_root::259.): Amount of time, in milliseconds, to use for PBKDF algorithm per key slot. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::260.): Defaults to @code{2000}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::261.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::262.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::263.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::264.): @item vdi BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::265.): VirtualBox 1.1 compatible image format. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::266.): Supported options: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::267.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::268.): @item static BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::269.): If this option is set to @code{on}, the image is created with metadata BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::270.): preallocation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::271.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::272.): BEGIN LINE END LINE: @table : args(1) contents(10) <- @subsection END EMPTY LINE NEW LINE(_root::273.): @item vmdk BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::274.): VMware 3 and 4 compatible image format. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::275.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::276.): Supported options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::277.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::278.): @item backing_file BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::279.): File name of a base image (see @option{create} subcommand). BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::280.): @item compat6 BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::281.): Create a VMDK version 6 image (instead of version 4) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::282.): @item hwversion BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::283.): Specify vmdk virtual hardware version. Compat6 flag cannot be enabled BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::284.): if hwversion is specified. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::285.): @item subformat BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::286.): Specifies which VMDK subformat to use. Valid options are BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::287.): @code{monolithicSparse} (default), BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::288.): @code{monolithicFlat}, BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::289.): @code{twoGbMaxExtentSparse}, BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::290.): @code{twoGbMaxExtentFlat} and BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::291.): @code{streamOptimized}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::292.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::293.): BEGIN LINE END LINE: @table : args(1) contents(13) <- @subsection END EMPTY LINE NEW LINE(_root::294.): @item vpc BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::295.): VirtualPC compatible image format (VHD). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::296.): Supported options: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::297.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::298.): @item subformat BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::299.): Specifies which VHD subformat to use. Valid options are BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::300.): @code{dynamic} (default) and @code{fixed}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::301.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::302.): BEGIN LINE END LINE: @table : args(1) contents(12) <- @subsection END EMPTY LINE NEW LINE(_root::303.): @item VHDX BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::304.): Hyper-V compatible image format (VHDX). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::305.): Supported options: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::306.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::307.): @item subformat BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::308.): Specifies which VHDX subformat to use. Valid options are BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::309.): @code{dynamic} (default) and @code{fixed}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::310.): @item block_state_zero BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::311.): Force use of payload blocks of type 'ZERO'. Can be set to @code{on} (default) BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::312.): or @code{off}. When set to @code{off}, new blocks will be created as BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::313.): @code{PAYLOAD_BLOCK_NOT_PRESENT}, which means parsers are free to return BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::314.): arbitrary data for those blocks. Do not set to @code{off} when using BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(13) <- @table NEW LINE(_root::315.): @code{qemu-img convert} with @code{subformat=dynamic}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::316.): @item block_size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::317.): Block size; min 1 MB, max 256 MB. 0 means auto-calculate based on image size. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::318.): @item log_size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::319.): Log size; min 1 MB. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::320.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::321.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::322.): BEGIN LINE END LINE: @subsection : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::323.): @subsubsection Read-only formats BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::324.): More disk image file formats are supported in a read-only mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::325.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::326.): @item bochs BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::327.): Bochs images of @code{growing} type. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::328.): @item cloop BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::329.): Linux Compressed Loop image, useful only to reuse directly compressed BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::330.): CD-ROM images present for example in the Knoppix CD-ROMs. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::331.): @item dmg BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::332.): Apple disk image. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::333.): @item parallels BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::334.): Parallels disk image format. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::335.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::336.): BEGIN LINE END LINE: @subsubsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::337.): BEGIN LINE END LINE: @subsubsection : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::338.): @node host_drives BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::339.): @subsection Using host drives BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::340.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::341.): In addition to disk image files, QEMU can directly access host BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::342.): devices. We describe here the usage for QEMU version >= 0.8.3. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::343.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::344.): @subsubsection Linux BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::345.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::346.): On Linux, you can directly use the host device filename instead of a BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::347.): disk image filename provided you have enough privileges to access BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::348.): it. For example, use @file{/dev/cdrom} to access to the CDROM. BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::349.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::350.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::351.): @item CD BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::352.): You can specify a CDROM device even if no CDROM is loaded. QEMU has BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::353.): specific code to detect CDROM insertion or removal. CDROM ejection by BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::354.): the guest OS is supported. Currently only data CDs are supported. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::355.): @item Floppy BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::356.): You can specify a floppy device even if no floppy is loaded. Floppy BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::357.): removal is currently not detected accurately (if you change floppy BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::358.): without doing floppy access while the floppy is not loaded, the guest BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::359.): OS will think that the same floppy is loaded). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::360.): Use of the host's floppy device is deprecated, and support for it will BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::361.): be removed in a future release. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::362.): @item Hard disks BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::363.): Hard disks can be used. Normally you must specify the whole disk BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::364.): (@file{/dev/hdb} instead of @file{/dev/hdb1}) so that the guest OS can BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::365.): see it as a partitioned disk. WARNING: unless you know what you do, it BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::366.): is better to only make READ-ONLY accesses to the hard disk otherwise BEGIN LINE END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::367.): you may corrupt your host data (use the @option{-snapshot} command BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::368.): line option or modify the device permissions accordingly). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @table NEW LINE(_root::369.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::370.): BEGIN LINE END LINE: @subsubsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::371.): @subsubsection Windows BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::372.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::373.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::374.): @item CD BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::375.): The preferred syntax is the drive letter (e.g. @file{d:}). The BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::376.): alternate syntax @file{\\.\d:} is supported. @file{/dev/cdrom} is BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: : SEPARATOR: } CLOSING(brace) @file SEPARATOR: . COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::377.): supported as an alias to the first CDROM drive. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::378.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::379.): Currently there is no specific code to handle removable media, so it BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::380.): is better to use the @code{change} or @code{eject} monitor commands to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::381.): change or eject media. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::382.): @item Hard disks BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::383.): Hard disks can be used with the syntax: @address@hidden BEGIN LINE PARAGRAPH SEPARATOR: : COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::384.): where @var{N} is the drive number (0 is the first hard disk). BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::385.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::386.): WARNING: unless you know what you do, it is better to only make BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::387.): READ-ONLY accesses to the hard disk otherwise you may corrupt your BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::388.): host data (use the @option{-snapshot} command line so that the BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::389.): modifications are written in a temporary file). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::390.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::391.): BEGIN LINE END LINE: @subsubsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::392.): BEGIN LINE END LINE: @subsubsection : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::393.): @subsubsection Mac OS X BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::394.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::395.): @file{/dev/cdrom} is an alias to the first CDROM. BEGIN LINE COMMAND file PARAGRAPH SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::396.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::397.): Currently there is no specific code to handle removable media, so it BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::398.): is better to use the @code{change} or @code{eject} monitor commands to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::399.): change or eject media. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsubsection NEW LINE(_root::400.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::401.): @node disk_images_fat_images BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::402.): @subsection Virtual FAT disk images BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::403.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::404.): QEMU can automatically create a virtual FAT disk image from a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::405.): directory tree. In order to use it, just type: BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::406.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::407.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::408.): qemu-system-i386 linux.img -hdb fat:/my_directory BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::409.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::410.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::411.): Then you access access to all the files in the @file{/my_directory} BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::412.): directory without having to copy them in a disk image or to export BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::413.): them via SAMBA or NFS. The default access is @emph{read-only}. BEGIN LINE SEPARATOR: . COMMAND emph SEPARATOR: { OPENED @emph, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @emph SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::414.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::415.): Floppies can be emulated with the @code{:floppy:} option: BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: : SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::416.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::417.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::418.): qemu-system-i386 linux.img -fda fat:floppy:/my_directory BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::419.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::420.): BEGIN LINE END LINE: @subsection : args(1) contents(11) <- (document_root) END EMPTY LINE NEW LINE(_root::421.): A read/write support is available for testing (beta stage) with the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::422.): @code{:rw:} option: BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: : SEPARATOR: : SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::423.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::424.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::425.): qemu-system-i386 linux.img -fda fat:floppy:rw:/my_directory BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::426.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::427.): BEGIN LINE END LINE: @subsection : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::428.): What you should @emph{never} do: BEGIN LINE PARAGRAPH COMMAND emph SEPARATOR: { OPENED @emph, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @emph SEPARATOR: : END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::429.): @itemize BEGIN LINE COMMAND itemize CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::430.): @item use non-ASCII filenames ; BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::431.): @item use "-snapshot" together with ":rw:" ; BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::432.): @item expect it to work when loadvm'ing ; BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::433.): @item write to the FAT directory on the host system while accessing it with the guest system. BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::434.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::435.): BEGIN LINE END LINE: @subsection : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::436.): @node disk_images_nbd BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::437.): @subsection NBD access BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::438.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::439.): QEMU can access directly to block device exported using the Network Block Device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::440.): protocol. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::441.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::442.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::443.): qemu-system-i386 linux.img -hdb nbd://my_nbd_server.mydomain.org:1024/ BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::444.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::445.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::446.): If the NBD server is located on the same host, you can use an unix socket instead BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::447.): of an inet socket: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::448.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::449.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::450.): qemu-system-i386 linux.img -hdb nbd+unix://?socket=/tmp/my_socket BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::451.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::452.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::453.): In this case, the block device must be exported using qemu-nbd: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::454.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::455.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::456.): qemu-nbd --socket=/tmp/my_socket my_disk.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::457.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::458.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::459.): The use of qemu-nbd allows sharing of a disk between several guests: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::460.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::461.): qemu-nbd --socket=/tmp/my_socket --share=2 my_disk.qcow2 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::462.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::463.): BEGIN LINE END LINE: @subsection : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::464.): @noindent BEGIN LINE COMMAND noindent PARAGRAPH NEW LINE(_root::465.): and then you can use it with two guests: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::466.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::467.): qemu-system-i386 linux1.img -hdb nbd+unix://?socket=/tmp/my_socket BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::468.): qemu-system-i386 linux2.img -hdb nbd+unix://?socket=/tmp/my_socket BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::469.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::470.): BEGIN LINE END LINE: @subsection : args(1) contents(21) <- (document_root) END EMPTY LINE NEW LINE(_root::471.): If the nbd-server uses named exports (supported since NBD 2.9.18, or with QEMU's BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::472.): own embedded NBD server), you must specify an export name in the URI: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::473.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::474.): qemu-system-i386 -cdrom nbd://localhost/debian-500-ppc-netinst BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::475.): qemu-system-i386 -cdrom nbd://localhost/openSUSE-11.1-ppc-netinst BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::476.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::477.): BEGIN LINE END LINE: @subsection : args(1) contents(24) <- (document_root) END EMPTY LINE NEW LINE(_root::478.): The URI syntax for NBD is supported since QEMU 1.3. An alternative syntax is BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::479.): also available. Here are some example of the older syntax: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::480.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::481.): qemu-system-i386 linux.img -hdb nbd:my_nbd_server.mydomain.org:1024 BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::482.): qemu-system-i386 linux2.img -hdb nbd:unix:/tmp/my_socket BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::483.): qemu-system-i386 -cdrom nbd:localhost:10809:exportname=debian-500-ppc-netinst BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::484.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::485.): BEGIN LINE END LINE: @subsection : args(1) contents(27) <- (document_root) END EMPTY LINE NEW LINE(_root::486.): @node disk_images_sheepdog BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::487.): @subsection Sheepdog disk images BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::488.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::489.): Sheepdog is a distributed storage system for QEMU. It provides highly BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::490.): available block level storage volumes that can be attached to BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::491.): QEMU-based virtual machines. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::492.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::493.): You can create a Sheepdog disk image with the command: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::494.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::495.): qemu-img create sheepdog:///@var{image} @var{size} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::496.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::497.): where @var{image} is the Sheepdog image name and @var{size} is its BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::498.): size. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::499.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::500.): To import the existing @var{filename} to Sheepdog, you can use a BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::501.): convert command. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::502.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::503.): qemu-img convert @var{filename} sheepdog:///@var{image} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::504.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::505.): BEGIN LINE END LINE: @subsection : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::506.): You can boot from the Sheepdog disk image with the command: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::507.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::508.): qemu-system-i386 sheepdog:///@var{image} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::509.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::510.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::511.): You can also create a snapshot of the Sheepdog image like qcow2. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::512.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::513.): qemu-img snapshot -c @var{tag} sheepdog:///@var{image} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::514.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::515.): where @var{tag} is a tag name of the newly created snapshot. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::516.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::517.): To boot from the Sheepdog snapshot, specify the tag name of the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::518.): snapshot. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::519.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::520.): qemu-system-i386 sheepdog:///@address@hidden BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::521.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::522.): BEGIN LINE END LINE: @subsection : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::523.): You can create a cloned image from the existing snapshot. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::524.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::525.): qemu-img create -b sheepdog:///@address@hidden sheepdog:///@var{image} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::526.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::527.): where @var{base} is a image name of the source snapshot and @var{tag} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::528.): is its tag name. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::529.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::530.): You can use an unix socket instead of an inet socket: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::531.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::532.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::533.): qemu-system-i386 sheepdog+unix:///@address@hidden BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::534.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::535.): BEGIN LINE END LINE: @subsection : args(1) contents(28) <- (document_root) END EMPTY LINE NEW LINE(_root::536.): If the Sheepdog daemon doesn't run on the local host, you need to BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::537.): specify one of the Sheepdog servers to connect to. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::538.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::539.): qemu-img create sheepdog://@var{hostname}:@var{port}/@var{image} @var{size} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::540.): qemu-system-i386 sheepdog://@var{hostname}:@var{port}/@var{image} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(15) <- @example NEW LINE(_root|preformatted::541.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::542.): BEGIN LINE END LINE: @subsection : args(1) contents(31) <- (document_root) END EMPTY LINE NEW LINE(_root::543.): @node disk_images_iscsi BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::544.): @subsection iSCSI LUNs BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::545.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::546.): iSCSI is a popular protocol used to access SCSI devices across a computer BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::547.): network. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::548.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::549.): There are two different ways iSCSI devices can be used by QEMU. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::550.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::551.): The first method is to mount the iSCSI LUN on the host, and make it appear as BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::552.): any other ordinary SCSI device on the host and then to access this device as a BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::553.): /dev/sd device from QEMU. How to do this differs between host OSes. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::554.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::555.): The second method involves using the iSCSI initiator that is built into BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::556.): QEMU. This provides a mechanism that works the same way regardless of which BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::557.): host OS you are running QEMU on. This section will describe this second method BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::558.): of using iSCSI together with QEMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::559.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::560.): In QEMU, iSCSI devices are described using special iSCSI URLs BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::561.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::562.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::563.): URL syntax: BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::564.): iscsi://[[%]@@][:]// BEGIN LINE SEPARATOR: : COMMAND @ SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::565.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::566.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::567.): Username and password are optional and only used if your target is set up BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::568.): using CHAP authentication for access control. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::569.): Alternatively the username and password can also be set via environment BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::570.): variables to have these not show up in the process list BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::571.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::572.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::573.): export LIBISCSI_CHAP_USERNAME= BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::574.): export LIBISCSI_CHAP_PASSWORD= BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::575.): iscsi://// BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::576.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::577.): BEGIN LINE END LINE: @subsection : args(1) contents(17) <- (document_root) END EMPTY LINE NEW LINE(_root::578.): Various session related parameters can be set via special options, either BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::579.): in a configuration file provided via '-readconfig' or directly on the BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::580.): command line. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::581.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::582.): If the initiator-name is not specified qemu will use a default name BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::583.): of 'iqn.2008-11.org.linux-kvm[:'] where is the UUID of the BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::584.): virtual machine. If the UUID is not specified qemu will use BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::585.): 'iqn.2008-11.org.linux-kvm[:'] where is the name of the BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::586.): virtual machine. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::587.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::588.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::589.): Setting a specific initiator name to use when logging in to the target BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::590.): -iscsi initiator-name=iqn.qemu.test:my-initiator BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::591.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::592.): BEGIN LINE END LINE: @subsection : args(1) contents(23) <- (document_root) END EMPTY LINE NEW LINE(_root::593.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::594.): Controlling which type of header digest to negotiate with the target BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::595.): -iscsi header-digest=CRC32C|CRC32C-NONE|NONE-CRC32C|NONE BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::596.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::597.): BEGIN LINE END LINE: @subsection : args(1) contents(25) <- (document_root) END EMPTY LINE NEW LINE(_root::598.): These can also be set via a configuration file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::599.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::600.): [iscsi] BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::601.): user = "CHAP username" BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::602.): password = "CHAP password" BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::603.): initiator-name = "iqn.qemu.test:my-initiator" BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::604.): # header digest is one of CRC32C|CRC32C-NONE|NONE-CRC32C|NONE BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::605.): header-digest = "CRC32C" BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::606.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::607.): BEGIN LINE END LINE: @subsection : args(1) contents(28) <- (document_root) END EMPTY LINE NEW LINE(_root::608.): BEGIN LINE END LINE: @subsection : args(1) contents(29) <- (document_root) END EMPTY LINE NEW LINE(_root::609.): Setting the target name allows different options for different targets BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::610.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::611.): [iscsi "iqn.target.name"] BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::612.): user = "CHAP username" BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::613.): password = "CHAP password" BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::614.): initiator-name = "iqn.qemu.test:my-initiator" BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::615.): # header digest is one of CRC32C|CRC32C-NONE|NONE-CRC32C|NONE BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::616.): header-digest = "CRC32C" BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::617.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::618.): BEGIN LINE END LINE: @subsection : args(1) contents(32) <- (document_root) END EMPTY LINE NEW LINE(_root::619.): BEGIN LINE END LINE: @subsection : args(1) contents(33) <- (document_root) END EMPTY LINE NEW LINE(_root::620.): Howto use a configuration file to set iSCSI configuration options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::621.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::622.): cat >iscsi.conf < /sys/bus/pci/devices/0000:06:0d.0/driver/unbind BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: . SEPARATOR: : SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::809.): # echo 1102 0002 > /sys/bus/pci/drivers/vfio-pci/new_id BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::810.): BEGIN LINE END LINE: (preformatted) : contents(6) <- @example END EMPTY LINE NEW LINE(_root|preformatted::811.): # qemu-system-x86_64 -drive file=nvme://@var{host}:@var{bus}:@address@hidden/@var{namespace} BEGIN LINE SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::812.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::813.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::814.): Alternative syntax using properties: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::815.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::816.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::817.): qemu-system-x86_64 -drive file.driver=nvme,address@hidden:@var{bus}:@address@hidden,address@hidden BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(10) <- @example NEW LINE(_root|preformatted::818.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::819.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::820.): @var{host}:@var{bus}:@address@hidden is the NVMe controller's PCI device BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::821.): address on the host. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::822.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::823.): @var{namespace} is the NVMe namespace number, starting from 1. BEGIN LINE COMMAND var PARAGRAPH SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::824.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::825.): @node disk_image_locking BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::826.): @subsection Disk image file locking BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::827.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::828.): By default, QEMU tries to protect image files from unexpected concurrent BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::829.): access, as long as it's supported by the block protocol driver and host BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::830.): operating system. If multiple QEMU processes (including QEMU emulators and BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::831.): utilities) try to open the same image with conflicting accessing modes, all but BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::832.): the first one will get an error. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::833.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::834.): This feature is currently supported by the file protocol on Linux with the Open BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::835.): File Descriptor (OFD) locking API, and can be configured to fall back to POSIX BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::836.): locking if the POSIX host doesn't support Linux OFD locking. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::837.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::838.): To explicitly enable image locking, specify "locking=on" in the file protocol BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::839.): driver options. If OFD locking is not possible, a warning will be printed and BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::840.): the POSIX locking API will be used. In this case there is a risk that the lock BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::841.): will get silently lost when doing hot plugging and block jobs, due to the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::842.): shortcomings of the POSIX locking API. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::843.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::844.): QEMU transparently handles lock handover during shared storage migration. For BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::845.): shared virtual disk images between multiple VMs, the "share-rw" device option BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::846.): should be used. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::847.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::848.): By default, the guest has exclusive write access to its disk image. If the BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::849.): guest can safely share the disk image with other writers the @code{-device BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg END LINE: (brace_command_arg) : contents(1) <- @code NEW LINE(_root::850.): ...,share-rw=on} parameter can be used. This is only safe if the guest is BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::851.): running software, such as a cluster file system, that coordinates disk accesses BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::852.): to avoid corruption. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::853.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::854.): Note that share-rw=on only declares the guest's ability to share the disk. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::855.): Some QEMU features, such as image file formats, require exclusive write access BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::856.): to the disk image and this is unaffected by the share-rw=on option. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::857.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::858.): Alternatively, locking can be fully disabled by "locking=off" block device BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::859.): option. In the command line, the option is usually in the form of BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::860.): "file.locking=off" as the protocol driver is normally placed as a "file" child BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::861.): under a format driver. For example: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::862.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::863.): @code{-blockdev driver=qcow2,file.filename=/path/to/image,file.locking=off,file.driver=file} BEGIN LINE COMMAND code PARAGRAPH SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::864.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::865.): To check if image locking is active, check the output of the "lslocks" command BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::866.): on host and see if there are locks held by the QEMU process on the image file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::867.): More than one byte could be locked by the QEMU instance, each byte of which BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::868.): reflects a particular permission that is acquired or protected by the running BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::869.): block driver. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::870.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::871.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::872.): BEGIN LINE END LINE: @subsection : args(1) contents(21) <- (document_root) END EMPTY LINE NEW LINE(_root::873.): @ignore BEGIN LINE COMMAND ignore NEW LINE(_root::874.): NEW LINE(_root::875.): @setfilename qemu-block-drivers NEW LINE(_root::876.): @settitle QEMU block drivers reference NEW LINE(_root::877.): NEW LINE(_root::878.): @c man begin SEEALSO NEW LINE(_root::879.): The HTML documentation of QEMU for more precise information and Linux NEW LINE(_root::880.): user mode emulator invocation. NEW LINE(_root::881.): @c man end NEW LINE(_root::882.): NEW LINE(_root::883.): @c man begin AUTHOR NEW LINE(_root::884.): Fabrice Bellard and the QEMU Project developers NEW LINE(_root::885.): @c man end NEW LINE(_root::886.): NEW LINE(_root::887.): @end ignore CLOSED raw ignore END LINE: @subsection : args(1) contents(23) <- (document_root) NEW LINE(_root::713.): BEGIN LINE END LINE: @subsection : args(1) contents(24) <- (document_root) END EMPTY LINE NEW LINE(_root::714.): @node pcsys_network BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::715.): @section Network emulation BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::716.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::717.): QEMU can simulate several network cards (PCI or ISA cards on the PC BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::718.): target) and can connect them to an arbitrary number of Virtual Local BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::719.): Area Networks (VLANs). Host TAP devices can be connected to any QEMU BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::720.): VLAN. VLAN can be connected between separate instances of QEMU to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::721.): simulate large networks. For simpler usage, a non privileged user mode BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::722.): network stack can replace the TAP device to have a basic network BEGIN LINE END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::723.): connection. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::724.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::725.): @subsection VLANs BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::726.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::727.): QEMU simulates several VLANs. A VLAN can be symbolised as a virtual BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::728.): connection between several network devices. These devices can be for BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::729.): example QEMU virtual Ethernet cards or virtual Host ethernet devices BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::730.): (TAP devices). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::731.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::732.): @subsection Using TAP network interfaces BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::733.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::734.): This is the standard way to connect QEMU to a real network. QEMU adds BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::735.): a virtual network device on your host (called @code{tapN}), and you BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::736.): can then configure it as if it was a real ethernet card. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::737.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::738.): @subsubsection Linux host BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::739.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::740.): As an example, you can download the @file{linux-test-xxx.tar.gz} BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::741.): archive and copy the script @file{qemu-ifup} in @file{/etc} and BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(8) <- @subsubsection NEW LINE(_root::742.): configure properly @code{sudo} so that the command @code{ifconfig} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(12) <- @subsubsection NEW LINE(_root::743.): contained in @file{qemu-ifup} can be executed as root. You must verify BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(16) <- @subsubsection NEW LINE(_root::744.): that your host kernel supports the TAP network interfaces: the BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(17) <- @subsubsection NEW LINE(_root::745.): device @file{/dev/net/tun} must be present. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(20) <- @subsubsection NEW LINE(_root::746.): BEGIN LINE END LINE: (paragraph) : contents(21) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::747.): See @ref{sec_invocation} to have examples of command lines using the BEGIN LINE PARAGRAPH COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::748.): TAP network interfaces. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::749.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::750.): @subsubsection Windows host BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::751.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::752.): There is a virtual ethernet driver for Windows 2000/XP systems, called BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::753.): TAP-Win32. But it is not included in standard QEMU for Windows, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::754.): so you will need to get it separately. It is part of OpenVPN package, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::755.): so download OpenVPN from : @url{https://openvpn.net/}. BEGIN LINE SEPARATOR: : COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::756.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::757.): @subsection Using the user mode network stack BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::758.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::759.): By using the option @option{-net user} (default configuration if no BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::760.): @option{-net} option is specified), QEMU uses a completely user mode BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::761.): network stack (you don't need root privilege to use the virtual BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::762.): network). The virtual network configuration is the following: BEGIN LINE SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::763.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::764.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::765.): BEGIN LINE END LINE: (preformatted) : contents(1) <- @example END EMPTY LINE NEW LINE(_root|preformatted::766.): QEMU VLAN <------> Firewall/DHCP server <-----> Internet BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::767.): | (10.0.2.2) BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::768.): | BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::769.): ----> DNS server (10.0.2.3) BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::770.): | BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::771.): ----> SMB server (10.0.2.4) BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::772.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::773.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::774.): The QEMU VM behaves as if it was behind a firewall which blocks all BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::775.): incoming connections. You can use a DHCP client to automatically BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::776.): configure the network in the QEMU VM. The DHCP server assign addresses BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::777.): to the hosts starting from 10.0.2.15. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::778.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::779.): In order to check that the user mode network is working, you can ping BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::780.): the address 10.0.2.2 and verify that you got an address in the range BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::781.): 10.0.2.x from the QEMU virtual DHCP server. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::782.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::783.): Note that ICMP traffic in general does not work with user mode networking. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::784.): @code{ping}, aka. ICMP echo, to the local router (10.0.2.2) shall work, BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::785.): however. If you're using QEMU on Linux >= 3.0, it can use unprivileged ICMP BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::786.): ping sockets to allow @code{ping} to the Internet. The host admin has to set BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::787.): the ping_group_range in order to grant access to those sockets. To allow ping BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::788.): for GID 100 (usually users group): BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::789.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::790.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::791.): echo 100 100 > /proc/sys/net/ipv4/ping_group_range BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::792.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::793.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::794.): When using the built-in TFTP server, the router is also the TFTP BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::795.): server. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::796.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::797.): When using the @option{'-netdev user,hostfwd=...'} option, TCP or UDP BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::798.): connections can be redirected from the host to the guest. It allows for BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::799.): example to redirect X11, telnet or SSH connections. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::800.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::801.): @subsection Connecting VLANs between QEMU instances BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::802.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::803.): Using the @option{-net socket} option, it is possible to make VLANs BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::804.): that span several QEMU instances. See @ref{sec_invocation} to have a BEGIN LINE SEPARATOR: . COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::805.): basic example. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::806.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::807.): @node pcsys_other_devs BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::808.): @section Other Devices BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::809.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::810.): @subsection Inter-VM Shared Memory device BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::811.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::812.): On Linux hosts, a shared memory device is available. The basic syntax BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::813.): is: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::814.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::815.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::816.): qemu-system-x86_64 -device ivshmem-plain,address@hidden BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::817.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::818.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::819.): where @var{hostmem} names a host memory backend. For a POSIX shared BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::820.): memory backend, use something like BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::821.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::822.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::823.): -object memory-backend-file,size=1M,share,mem-path=/dev/shm/ivshmem,address@hidden BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::824.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::825.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::826.): If desired, interrupts can be sent between guest VMs accessing the same shared BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::827.): memory region. Interrupt support requires using a shared memory server and BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::828.): using a chardev socket to connect to it. The code for the shared memory server BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::829.): is qemu.git/contrib/ivshmem-server. An example syntax when using the shared BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::830.): memory server is: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::831.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::832.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::833.): # First start the ivshmem server once and for all BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::834.): ivshmem-server -p @var{pidfile} -S @var{path} -m @var{shm-name} -l @var{shm-size} -n @var{vectors} BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::835.): BEGIN LINE END LINE: (preformatted) : contents(13) <- @example END EMPTY LINE NEW LINE(_root|preformatted::836.): # Then start your qemu instances with matching arguments BEGIN LINE END LINE: (preformatted) : contents(14) <- @example NEW LINE(_root|preformatted::837.): qemu-system-x86_64 -device ivshmem-doorbell,address@hidden,address@hidden BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(18) <- @example NEW LINE(_root|preformatted::838.): -chardev socket,address@hidden,address@hidden BEGIN LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(23) <- @example NEW LINE(_root|preformatted::839.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::840.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::841.): When using the server, the guest will be assigned a VM ID (>=0) that allows guests BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::842.): using the same server to communicate via interrupts. Guests can read their BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::843.): VM ID from a device register (see ivshmem-spec.txt). BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::844.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::845.): @subsubsection Migration with ivshmem BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::846.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::847.): With device property @option{master=on}, the guest will copy the shared BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::848.): memory on migration to the destination host. With @option{master=off}, BEGIN LINE SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::849.): the guest will not be able to migrate with the device attached. In the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsubsection NEW LINE(_root::850.): latter case, the device should be detached and then reattached after BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @subsubsection NEW LINE(_root::851.): migration using the PCI hotplug support. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(9) <- @subsubsection NEW LINE(_root::852.): BEGIN LINE END LINE: (paragraph) : contents(10) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::853.): At most one of the devices sharing the same memory can be master. The BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::854.): master must complete migration before you plug back the other devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::855.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::856.): @subsubsection ivshmem and hugepages BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::857.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::858.): Instead of specifying the using POSIX shm, you may specify BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::859.): a memory backend that has hugepage support: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::860.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::861.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::862.): qemu-system-x86_64 -object memory-backend-file,size=1G,mem-path=/dev/hugepages/my-shmem-file,share,id=mb1 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::863.): -device ivshmem-plain,memdev=mb1 BEGIN LINE SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::864.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::865.): BEGIN LINE END LINE: @subsubsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::866.): ivshmem-server also supports hugepages mount points with the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::867.): @option{-m} memory path argument. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::868.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::869.): @node direct_linux_boot BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::870.): @section Direct Linux Boot BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::871.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::872.): This section explains how to launch a Linux kernel inside QEMU without BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::873.): having to make a full bootable image. It is very useful for fast Linux BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::874.): kernel testing. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::875.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::876.): The syntax is: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::877.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::878.): qemu-system-i386 -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda" BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::879.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::880.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::881.): Use @option{-kernel} to provide the Linux kernel image and BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::882.): @option{-append} to give the kernel command line arguments. The BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::883.): @option{-initrd} option can be used to provide an INITRD image. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::884.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::885.): When using the direct Linux boot, a disk image for the first hard disk BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::886.): @file{hda} is required because its boot sector is used to launch the BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::887.): Linux kernel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::888.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::889.): If you do not need graphical output, you can disable it and redirect BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::890.): the virtual serial port and the QEMU monitor to the console with the BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::891.): @option{-nographic} option. The typical command line is: BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::892.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::893.): qemu-system-i386 -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::894.): -append "root=/dev/hda console=ttyS0" -nographic BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::895.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::896.): BEGIN LINE END LINE: @section : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::897.): Use @key{Ctrl-a c} to switch between the serial console and the BEGIN LINE PARAGRAPH COMMAND key SEPARATOR: { OPENED @key, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @key END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::898.): monitor (@pxref{pcsys_keys}). BEGIN LINE COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::899.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::900.): @node pcsys_usb BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::901.): @section USB emulation BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::902.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::903.): QEMU can emulate a PCI UHCI, OHCI, EHCI or XHCI USB controller. You can BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::904.): plug virtual USB devices or real host USB devices (only works with certain BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::905.): host operating systems). QEMU will automatically create and connect virtual BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::906.): USB hubs as necessary to connect multiple USB devices. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::907.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::908.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::909.): * usb_devices:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::910.): * host_usb_devices:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::911.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::912.): @node usb_devices BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::913.): @subsection Connecting USB devices BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::914.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::915.): USB devices can be connected with the @option{-device usb-...} command line BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::916.): option or the @code{device_add} monitor command. Available devices are: BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::917.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::918.): @table @code BEGIN LINE COMMAND table COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::919.): @item usb-mouse BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::920.): Virtual Mouse. This will override the PS/2 mouse emulation when activated. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::921.): @item usb-tablet BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::922.): Pointer device that uses absolute coordinates (like a touchscreen). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::923.): This means QEMU is able to report the mouse position without having BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::924.): to grab the mouse. Also overrides the PS/2 mouse emulation when activated. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::925.): @item usb-storage,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::926.): Mass storage device backed by @var{drive_id} (@pxref{disk_images}) BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @pxref END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::927.): @item usb-uas BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::928.): USB attached SCSI device, see BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::929.): @url{https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt,usb-storage.txt} BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::930.): for details BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::931.): @item usb-bot BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::932.): Bulk-only transport storage device, see BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::933.): @url{https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb-storage.txt,usb-storage.txt} BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::934.): for details here, too BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::935.): @item usb-mtp,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::936.): Media transfer protocol device, using @var{dir} as root of the file tree BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::937.): that is presented to the guest. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::938.): @item usb-host,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::939.): Pass through the host device identified by @var{bus} and @var{addr} BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::940.): @item usb-host,address@hidden,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::941.): Pass through the host device identified by @var{vendor} and @var{product} ID BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::942.): @item usb-wacom-tablet BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::943.): Virtual Wacom PenPartner tablet. This device is similar to the @code{tablet} BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::944.): above but it can be used with the tslib library because in addition to touch BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::945.): coordinates it reports touch pressure. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::946.): @item usb-kbd BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::947.): Standard USB keyboard. Will override the PS/2 keyboard (if present). BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::948.): @item usb-serial,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::949.): Serial converter. This emulates an FTDI FT232BM chip connected to host character BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::950.): device @var{id}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::951.): @item usb-braille,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::952.): Braille device. This will use BrlAPI to display the braille output on a real BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::953.): or fake device referenced by @var{id}. BEGIN LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::954.): @item usb-net[,address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(4) <- @item MISC END @item NEW LINE(_root::955.): Network adapter that supports CDC ethernet and RNDIS protocols. @var{id} BEGIN LINE PARAGRAPH SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::956.): specifies a netdev defined with @code{-netdev @dots{},address@hidden BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND dots SEPARATOR: { OPENED @dots, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @dots SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::957.): For instance, user-mode networking can be used with BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::958.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::959.): qemu-system-i386 [...] -netdev user,id=net0 -device usb-net,netdev=net0 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::960.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::961.): @item usb-ccid BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::962.): Smartcard reader device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::963.): @item usb-audio BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::964.): USB audio device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::965.): @item usb-bt-dongle BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::966.): Bluetooth dongle for the transport layer of HCI. It is connected to HCI BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::967.): scatternet 0 by default (corresponds to @code{-bt hci,vlan=0}). BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::968.): Note that the syntax for the @code{-device usb-bt-dongle} option is not as BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::969.): useful yet as it was with the legacy @code{-usbdevice} option. So to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::970.): configure an USB bluetooth device, you might need to use BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @table NEW LINE(_root::971.): "@code{-usbdevice bt}[:@var{hci-type}]" instead. This configures a BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: : COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(16) <- @table NEW LINE(_root::972.): bluetooth dongle whose type is specified in the same format as with BEGIN LINE END LINE: (paragraph) : contents(17) <- @table NEW LINE(_root::973.): the @option{-bt hci} option, @pxref{bt-hcis,,allowed HCI types}. If BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: , COMMAND pxref SEPARATOR: { OPENED @pxref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: , SEPARATOR: , SEPARATOR: } CLOSING(brace) @pxref SEPARATOR: . END LINE: (paragraph) : contents(22) <- @table NEW LINE(_root::974.): no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(25) <- @table NEW LINE(_root::975.): This USB device implements the USB Transport Layer of HCI. Example BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(26) <- @table NEW LINE(_root::976.): usage: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(27) <- @table NEW LINE(_root::977.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::978.): @command{qemu-system-i386} address@hidden @option{-usbdevice} bt:hci,vlan=3 @option{-bt} device:keyboard,vlan=3 BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::979.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::980.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::981.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::982.): @node host_usb_devices BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::983.): @subsection Using host USB devices on a Linux host BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::984.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::985.): WARNING: this is an experimental feature. QEMU will slow down when BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::986.): using it. USB devices requiring real time streaming (i.e. USB Video BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::987.): Cameras) are not supported yet. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::988.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::989.): @enumerate BEGIN LINE COMMAND enumerate END LINE: (block_line_arg) : contents(1) <- @enumerate NEW LINE(_root::990.): @item If you use an early Linux 2.4 kernel, verify that no Linux driver BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::991.): is actually using the USB device. A simple way to do that is simply to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::992.): disable the corresponding kernel module by renaming it from @file{mydriver.o} BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::993.): to @file{mydriver.o.disabled}. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(8) <- @item NEW LINE(_root::994.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::995.): @item Verify that @file{/proc/bus/usb} is working (most Linux distributions should enable it by default). You should see something like that: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::996.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::997.): ls /proc/bus/usb BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::998.): 001 devices drivers BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::999.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1000.): BEGIN LINE END LINE: @item : contents(4) <- @enumerate END EMPTY LINE NEW LINE(_root::1001.): @item Since only root can access to the USB devices directly, you can either launch QEMU as root or change the permissions of the USB devices you want to use. For testing, the following suffices: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , SEPARATOR: . SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1002.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1003.): chown -R myuid /proc/bus/usb BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1004.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1005.): BEGIN LINE END LINE: @item : contents(4) <- @enumerate END EMPTY LINE NEW LINE(_root::1006.): @item Launch QEMU and do in the monitor: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1007.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1008.): info usbhost BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1009.): Device 1.2, speed 480 Mb/s BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1010.): Class 00: USB device 1234:5678, USB DISK BEGIN LINE SEPARATOR: : SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1011.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1012.): You should see the list of the devices you can use (Never try to use BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1013.): hubs, it won't work). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::1014.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::1015.): @item Add the device in QEMU by using: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1016.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1017.): device_add usb-host,vendorid=0x1234,productid=0x5678 BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1018.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1019.): BEGIN LINE END LINE: @item : contents(4) <- @enumerate END EMPTY LINE NEW LINE(_root::1020.): Normally the guest OS should report that a new USB device is plugged. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1021.): You can use the option @option{-device usb-host,...} to do the same. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::1022.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::1023.): @item Now you can try to use the host USB device in QEMU. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1024.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::1025.): @end enumerate BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK enumerate END COMMAND enumerate CLOSING(_close_current) @item NEW LINE(_root::1026.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1027.): When relaunching QEMU, you may have to unplug and plug again the USB BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1028.): device to make it work again (this is a bug). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1029.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1030.): @node vnc_security BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1031.): @section VNC security BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1032.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1033.): The VNC server capability provides access to the graphical console BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1034.): of the guest VM across the network. This has a number of security BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1035.): considerations depending on the deployment scenarios. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1036.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1037.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::1038.): * vnc_sec_none:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1039.): * vnc_sec_password:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1040.): * vnc_sec_certificate:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1041.): * vnc_sec_certificate_verify:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1042.): * vnc_sec_certificate_pw:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1043.): * vnc_sec_sasl:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1044.): * vnc_sec_certificate_sasl:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1045.): * vnc_setup_sasl:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1046.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::1047.): @node vnc_sec_none BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1048.): @subsection Without passwords BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1049.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1050.): The simplest VNC server setup does not include any form of authentication. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1051.): For this setup it is recommended to restrict it to listen on a UNIX domain BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1052.): socket only. For example BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1053.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1054.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1055.): qemu-system-i386 [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1056.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1057.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1058.): This ensures that only users on local box with read/write access to that BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1059.): path can access the VNC server. To securely access the VNC server from a BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1060.): remote machine, a combination of netcat+ssh can be used to provide a secure BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1061.): tunnel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1062.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1063.): @node vnc_sec_password BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1064.): @subsection With passwords BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1065.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1066.): The VNC protocol has limited support for password based authentication. Since BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1067.): the protocol limits passwords to 8 characters it should not be considered BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1068.): to provide high security. The password can be fairly easily brute-forced by BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1069.): a client making repeat connections. For this reason, a VNC server using password BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1070.): authentication should be restricted to only listen on the loopback interface BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1071.): or UNIX domain sockets. Password authentication is not supported when operating BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1072.): in FIPS 140-2 compliance mode as it requires the use of the DES cipher. Password BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1073.): authentication is requested with the @code{password} option, and then once QEMU BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1074.): is running the password is set with the monitor. Until the monitor is used to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1075.): set the password all clients will be rejected. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::1076.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1077.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1078.): qemu-system-i386 [...OPTIONS...] -vnc :1,password -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1079.): (qemu) change vnc password BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1080.): Password: ******** BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1081.): (qemu) BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1082.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1083.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1084.): @node vnc_sec_certificate BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1085.): @subsection With x509 certificates BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1086.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1087.): The QEMU VNC server also implements the VeNCrypt extension allowing use of BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1088.): TLS for encryption of the session, and x509 certificates for authentication. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1089.): The use of x509 certificates is strongly recommended, because TLS on its BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1090.): own is susceptible to man-in-the-middle attacks. Basic x509 certificate BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1091.): support provides a secure session, but no authentication. This allows any BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1092.): client to connect, and provides an encrypted session. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1093.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1094.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1095.): qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1096.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1097.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1098.): In the above example @code{/etc/pki/qemu} should contain at least three files, BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1099.): @code{ca-cert.pem}, @code{server-cert.pem} and @code{server-key.pem}. Unprivileged BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::1100.): users will want to use a private directory, for example @code{$HOME/.pki/qemu}. BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::1101.): NB the @code{server-key.pem} file should be protected with file mode 0600 to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(15) <- @subsection NEW LINE(_root::1102.): only be readable by the user owning it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(16) <- @subsection NEW LINE(_root::1103.): BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1104.): @node vnc_sec_certificate_verify BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1105.): @subsection With x509 certificates and client verification BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1106.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1107.): Certificates can also provide a means to authenticate the client connecting. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1108.): The server will request that the client provide a certificate, which it will BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1109.): then validate against the CA certificate. This is a good choice if deploying BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1110.): in an environment with a private internal certificate authority. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1111.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1112.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1113.): qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1114.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1115.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1116.): BEGIN LINE END LINE: @subsection : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::1117.): @node vnc_sec_certificate_pw BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1118.): @subsection With x509 certificates, client verification and passwords BEGIN LINE COMMAND subsection SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1119.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1120.): Finally, the previous method can be combined with VNC password authentication BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1121.): to provide two layers of authentication for clients. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1122.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1123.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1124.): qemu-system-i386 [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1125.): (qemu) change vnc password BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1126.): Password: ******** BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1127.): (qemu) BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1128.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1129.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1130.): BEGIN LINE END LINE: @subsection : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::1131.): @node vnc_sec_sasl BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1132.): @subsection With SASL authentication BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1133.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1134.): The SASL authentication method is a VNC extension, that provides an BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1135.): easily extendable, pluggable authentication method. This allows for BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1136.): integration with a wide range of authentication mechanisms, such as BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1137.): PAM, GSSAPI/Kerberos, LDAP, SQL databases, one-time keys and more. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1138.): The strength of the authentication depends on the exact mechanism BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1139.): configured. If the chosen mechanism also provides a SSF layer, then BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1140.): it will encrypt the datastream as well. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1141.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1142.): Refer to the later docs on how to choose the exact SASL mechanism BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1143.): used for authentication, but assuming use of one supporting SSF, BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1144.): then QEMU can be launched with: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1145.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1146.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1147.): qemu-system-i386 [...OPTIONS...] -vnc :1,sasl -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1148.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1149.): BEGIN LINE END LINE: @subsection : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::1150.): @node vnc_sec_certificate_sasl BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1151.): @subsection With x509 certificates and SASL authentication BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1152.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1153.): If the desired SASL authentication mechanism does not supported BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1154.): SSF layers, then it is strongly advised to run it in combination BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1155.): with TLS and x509 certificates. This provides securely encrypted BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1156.): data stream, avoiding risk of compromising of the security BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1157.): credentials. This can be enabled, by combining the 'sasl' option BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1158.): with the aforementioned TLS + x509 options: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1159.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1160.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1161.): qemu-system-i386 [...OPTIONS...] -vnc :1,tls,x509,sasl -monitor stdio BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1162.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1163.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1164.): @node vnc_setup_sasl BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1165.): BEGIN LINE END LINE: @node : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1166.): @subsection Configuring SASL mechanisms BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1167.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1168.): The following documentation assumes use of the Cyrus SASL implementation on a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1169.): Linux host, but the principles should apply to any other SASL implementation BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1170.): or host. When SASL is enabled, the mechanism configuration will be loaded from BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1171.): system default SASL service config /etc/sasl2/qemu.conf. If running QEMU as an BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1172.): unprivileged user, an environment variable SASL_CONF_PATH can be used to make BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1173.): it search alternate locations for the service config file. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1174.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1175.): If the TLS option is enabled for VNC, then it will provide session encryption, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1176.): otherwise the SASL mechanism will have to provide encryption. In the latter BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1177.): case the list of possible plugins that can be used is drastically reduced. In BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1178.): fact only the GSSAPI SASL mechanism provides an acceptable level of security BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1179.): by modern standards. Previous versions of QEMU referred to the DIGEST-MD5 BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1180.): mechanism, however, it has multiple serious flaws described in detail in BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1181.): RFC 6331 and thus should never be used any more. The SCRAM-SHA-1 mechanism BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1182.): provides a simple username/password auth facility similar to DIGEST-MD5, but BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::1183.): does not support session encryption, so can only be used in combination with BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::1184.): TLS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1185.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1186.): When not using TLS the recommended configuration is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1187.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1188.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1189.): mech_list: gssapi BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1190.): keytab: /etc/qemu/krb5.tab BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1191.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1192.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::1193.): This says to use the 'GSSAPI' mechanism with the Kerberos v5 protocol, with BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1194.): the server principal stored in /etc/qemu/krb5.tab. For this to work the BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1195.): administrator of your KDC must generate a Kerberos principal for the server, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1196.): with a name of 'qemu/somehost.example.com@@EXAMPLE.COM' replacing BEGIN LINE SEPARATOR: . SEPARATOR: . COMMAND @ SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1197.): 'somehost.example.com' with the fully qualified host name of the machine BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1198.): running QEMU, and 'EXAMPLE.COM' with the Kerberos Realm. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::1199.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1200.): When using TLS, if username+password authentication is desired, then a BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1201.): reasonable configuration is BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1202.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1203.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1204.): mech_list: scram-sha-1 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1205.): sasldb_path: /etc/qemu/passwd.db BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1206.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1207.): BEGIN LINE END LINE: @subsection : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::1208.): The @code{saslpasswd2} program can be used to populate the @code{passwd.db} BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1209.): file with accounts. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1210.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1211.): Other SASL configurations will be left as an exercise for the reader. Note that BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1212.): all mechanisms, except GSSAPI, should be combined with use of TLS to ensure a BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1213.): secure data channel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1214.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1215.): BEGIN LINE END LINE: @subsection : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::1216.): @node network_tls BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1217.): @section TLS setup for network services BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1218.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1219.): Almost all network services in QEMU have the ability to use TLS for BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1220.): session data encryption, along with x509 certificates for simple BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1221.): client authentication. What follows is a description of how to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1222.): generate certificates suitable for usage with QEMU, and applies to BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1223.): the VNC server, character devices with the TCP backend, NBD server BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1224.): and client, and migration server and client. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::1225.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1226.): At a high level, QEMU requires certificates and private keys to be BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1227.): provided in PEM format. Aside from the core fields, the certificates BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1228.): should include various extension data sets, including v3 basic BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1229.): constraints data, key purpose, key usage and subject alt name. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1230.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1231.): The GnuTLS package includes a command called @code{certtool} which can BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1232.): be used to easily generate certificates and keys in the required format BEGIN LINE END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1233.): with expected data present. Alternatively a certificate management BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1234.): service may be used. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::1235.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1236.): At a minimum it is necessary to setup a certificate authority, and BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1237.): issue certificates to each server. If using x509 certificates for BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1238.): authentication, then each client will also need to be issued a BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1239.): certificate. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1240.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1241.): Assuming that the QEMU network services will only ever be exposed to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1242.): clients on a private intranet, there is no need to use a commercial BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1243.): certificate authority to create certificates. A self-signed CA is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1244.): sufficient, and in fact likely to be more secure since it removes BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1245.): the ability of malicious 3rd parties to trick the CA into mis-issuing BEGIN LINE END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1246.): certs for impersonating your services. The only likely exception BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::1247.): where a commercial CA might be desirable is if enabling the VNC BEGIN LINE END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::1248.): websockets server and exposing it directly to remote browser clients. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @section NEW LINE(_root::1249.): In such a case it might be useful to use a commercial CA to avoid BEGIN LINE END LINE: (paragraph) : contents(9) <- @section NEW LINE(_root::1250.): needing to install custom CA certs in the web browsers. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @section NEW LINE(_root::1251.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1252.): The recommendation is for the server to keep its certificates in either BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1253.): @code{/etc/pki/qemu} or for unprivileged users in @code{$HOME/.pki/qemu}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1254.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1255.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::1256.): * tls_generate_ca:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1257.): * tls_generate_server:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1258.): * tls_generate_client:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1259.): * tls_creds_setup:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1260.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::1261.): @node tls_generate_ca BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1262.): @subsection Setup the Certificate Authority BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1263.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1264.): This step only needs to be performed once per organization / organizational BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1265.): unit. First the CA needs a private key. This key must be kept VERY secret BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1266.): and secure. If this key is compromised the entire trust chain of the certificates BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1267.): issued with it is lost. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1268.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1269.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1270.): # certtool --generate-privkey > ca-key.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1271.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1272.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1273.): To generate a self-signed certificate requires one core piece of information, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1274.): the name of the organization. A template file @code{ca.info} should be BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1275.): populated with the desired data to avoid having to deal with interactive BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1276.): prompts from certtool: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1277.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1278.): # cat > ca.info < server-hostNNN.info < server-hostNNN-key.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(14) <- @example NEW LINE(_root|preformatted::1336.): # certtool --generate-certificate \ BEGIN LINE END LINE: (preformatted) : contents(15) <- @example NEW LINE(_root|preformatted::1337.): --load-ca-certificate ca-cert.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::1338.): --load-ca-privkey ca-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(17) <- @example NEW LINE(_root|preformatted::1339.): --load-privkey server-hostNNN-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(18) <- @example NEW LINE(_root|preformatted::1340.): --template server-hostNNN.info \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(19) <- @example NEW LINE(_root|preformatted::1341.): --outfile server-hostNNN-cert.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(20) <- @example NEW LINE(_root|preformatted::1342.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1343.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::1344.): The @code{dns_name} and @code{ip_address} fields in the template are setting BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1345.): the subject alt name extension data. The @code{tls_www_server} keyword is the BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::1346.): key purpose extension to indicate this certificate is intended for usage in BEGIN LINE END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::1347.): a web server. Although QEMU network services are not in fact HTTP servers BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1348.): (except for VNC websockets), setting this key purpose is still recommended. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1349.): The @code{encryption_key} and @code{signing_key} keyword is the key usage BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(16) <- @subsection NEW LINE(_root::1350.): extension to indicate this certificate is intended for usage in the data BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection NEW LINE(_root::1351.): session. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @subsection NEW LINE(_root::1352.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1353.): The @code{server-hostNNN-key.pem} and @code{server-hostNNN-cert.pem} files BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1354.): should now be securely copied to the server for which they were generated, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1355.): and renamed to @code{server-key.pem} and @code{server-cert.pem} when added BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1356.): to the @code{/etc/pki/qemu} directory on the target host. The @code{server-key.pem} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(15) <- @subsection NEW LINE(_root::1357.): file is security sensitive and should be kept protected with file mode 0600 BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection NEW LINE(_root::1358.): to prevent disclosure. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @subsection NEW LINE(_root::1359.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1360.): @node tls_generate_client BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1361.): @subsection Issuing client certificates BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1362.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1363.): The QEMU x509 TLS credential setup defaults to enabling client verification BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1364.): using certificates, providing a simple authentication mechanism. If this BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1365.): default is used, each client also needs to be issued a certificate. The client BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1366.): certificate contains enough metadata to uniquely identify the client with the BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1367.): scope of the certificate authority. The client certificate would typically BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1368.): include fields for organization, state, city, building, etc. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1369.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1370.): Once again on the host holding the CA, create template files containing the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1371.): information for each client, and use it to issue client certificates. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1372.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1373.): BEGIN LINE END LINE: @subsection : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::1374.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1375.): # cat > client-hostNNN.info < client-hostNNN-key.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(11) <- @example NEW LINE(_root|preformatted::1386.): # certtool --generate-certificate \ BEGIN LINE END LINE: (preformatted) : contents(12) <- @example NEW LINE(_root|preformatted::1387.): --load-ca-certificate ca-cert.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(13) <- @example NEW LINE(_root|preformatted::1388.): --load-ca-privkey ca-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(14) <- @example NEW LINE(_root|preformatted::1389.): --load-privkey client-hostNNN-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(15) <- @example NEW LINE(_root|preformatted::1390.): --template client-hostNNN.info \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(16) <- @example NEW LINE(_root|preformatted::1391.): --outfile client-hostNNN-cert.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(17) <- @example NEW LINE(_root|preformatted::1392.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1393.): BEGIN LINE END LINE: @subsection : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::1394.): The subject alt name extension data is not required for clients, so the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1395.): the @code{dns_name} and @code{ip_address} fields are not included. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1396.): The @code{tls_www_client} keyword is the key purpose extension to indicate BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::1397.): this certificate is intended for usage in a web client. Although QEMU BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1398.): network clients are not in fact HTTP clients, setting this key purpose is BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1399.): still recommended. The @code{encryption_key} and @code{signing_key} keyword BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(16) <- @subsection NEW LINE(_root::1400.): is the key usage extension to indicate this certificate is intended for BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection NEW LINE(_root::1401.): usage in the data session. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @subsection NEW LINE(_root::1402.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1403.): The @code{client-hostNNN-key.pem} and @code{client-hostNNN-cert.pem} files BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1404.): should now be securely copied to the client for which they were generated, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1405.): and renamed to @code{client-key.pem} and @code{client-cert.pem} when added BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1406.): to the @code{/etc/pki/qemu} directory on the target host. The @code{client-key.pem} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(15) <- @subsection NEW LINE(_root::1407.): file is security sensitive and should be kept protected with file mode 0600 BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection NEW LINE(_root::1408.): to prevent disclosure. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(18) <- @subsection NEW LINE(_root::1409.): BEGIN LINE END LINE: (paragraph) : contents(19) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1410.): If a single host is going to be using TLS in both a client and server BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1411.): role, it is possible to create a single certificate to cover both roles. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1412.): This would be quite common for the migration and NBD services, where a BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1413.): QEMU process will be started by accepting a TLS protected incoming migration, BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1414.): and later itself be migrated out to another host. To generate a single BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1415.): certificate, simply include the template data from both the client and server BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1416.): instructions in one. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1417.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1418.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1419.): # cat > both-hostNNN.info < both-hostNNN-key.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(18) <- @example NEW LINE(_root|preformatted::1437.): # certtool --generate-certificate \ BEGIN LINE END LINE: (preformatted) : contents(19) <- @example NEW LINE(_root|preformatted::1438.): --load-ca-certificate ca-cert.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(20) <- @example NEW LINE(_root|preformatted::1439.): --load-ca-privkey ca-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(21) <- @example NEW LINE(_root|preformatted::1440.): --load-privkey both-hostNNN-key.pem \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(22) <- @example NEW LINE(_root|preformatted::1441.): --template both-hostNNN.info \ BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(23) <- @example NEW LINE(_root|preformatted::1442.): --outfile both-hostNNN-cert.pem BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(24) <- @example NEW LINE(_root|preformatted::1443.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1444.): BEGIN LINE END LINE: @subsection : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::1445.): When copying the PEM files to the target host, save them twice, BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1446.): once as @code{server-cert.pem} and @code{server-key.pem}, and BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1447.): again as @code{client-cert.pem} and @code{client-key.pem}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1448.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1449.): @node tls_creds_setup BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1450.): @subsection TLS x509 credential configuration BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1451.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1452.): QEMU has a standard mechanism for loading x509 credentials that will be BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1453.): used for network services and clients. It requires specifying the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1454.): @code{tls-creds-x509} class name to the @code{--object} command line BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1455.): argument for the system emulators. Each set of credentials loaded should BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1456.): be given a unique string identifier via the @code{id} parameter. A single BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1457.): set of TLS credentials can be used for multiple network backends, so VNC, BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1458.): migration, NBD, character devices can all share the same credentials. Note, BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::1459.): however, that credentials for use in a client endpoint must be loaded BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(13) <- @subsection NEW LINE(_root::1460.): separately from those used in a server endpoint. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(14) <- @subsection NEW LINE(_root::1461.): BEGIN LINE END LINE: (paragraph) : contents(15) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1462.): When specifying the object, the @code{dir} parameters specifies which BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1463.): directory contains the credential files. This directory is expected to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1464.): contain files with the names mentioned previously, @code{ca-cert.pem}, BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1465.): @code{server-key.pem}, @code{server-cert.pem}, @code{client-key.pem} BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::1466.): and @code{client-cert.pem} as appropriate. It is also possible to BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(16) <- @subsection NEW LINE(_root::1467.): include a set of pre-generated Diffie-Hellman (DH) parameters in a file BEGIN LINE END LINE: (paragraph) : contents(17) <- @subsection NEW LINE(_root::1468.): @code{dh-params.pem}, which can be created using the BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(19) <- @subsection NEW LINE(_root::1469.): @code{certtool --generate-dh-params} command. If omitted, QEMU will BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(21) <- @subsection NEW LINE(_root::1470.): dynamically generate DH parameters when loading the credentials. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(22) <- @subsection NEW LINE(_root::1471.): BEGIN LINE END LINE: (paragraph) : contents(23) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1472.): The @code{endpoint} parameter indicates whether the credentials will BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1473.): be used for a network client or server, and determines which PEM BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1474.): files are loaded. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1475.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1476.): The @code{verify} parameter determines whether x509 certificate BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1477.): validation should be performed. This defaults to enabled, meaning BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1478.): clients will always validate the server hostname against the BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1479.): certificate subject alt name fields and/or CN field. It also BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1480.): means that servers will request that clients provide a certificate BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1481.): and validate them. Verification should never be turned off for BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @subsection NEW LINE(_root::1482.): client endpoints, however, it may be turned off for server endpoints BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(9) <- @subsection NEW LINE(_root::1483.): if an alternative mechanism is used to authenticate clients. For BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @subsection NEW LINE(_root::1484.): example, the VNC server can use SASL to authenticate clients BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(11) <- @subsection NEW LINE(_root::1485.): instead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(12) <- @subsection NEW LINE(_root::1486.): BEGIN LINE END LINE: (paragraph) : contents(13) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1487.): To load server credentials with client certificate validation BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1488.): enabled BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1489.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1490.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1491.): $QEMU -object tls-creds-x509,id=tls0,dir=/etc/pki/qemu,endpoint=server BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1492.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1493.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::1494.): while to load client credentials use BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1495.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1496.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1497.): $QEMU -object tls-creds-x509,id=tls0,dir=/etc/pki/qemu,endpoint=client BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1498.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1499.): BEGIN LINE END LINE: @subsection : args(1) contents(17) <- (document_root) END EMPTY LINE NEW LINE(_root::1500.): Network services which support TLS will all have a @code{tls-creds} BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1501.): parameter which expects the ID of the TLS credentials object. For BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1502.): example with VNC: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1503.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1504.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1505.): $QEMU -vnc 0.0.0.0:0,tls-creds=tls0 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1506.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1507.): BEGIN LINE END LINE: @subsection : args(1) contents(21) <- (document_root) END EMPTY LINE NEW LINE(_root::1508.): @node gdb_usage BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1509.): @section GDB usage BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1510.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1511.): QEMU has a primitive support to work with gdb, so that you can do BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1512.): 'Ctrl-C' while the virtual machine is running and inspect its state. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1513.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1514.): In order to use gdb, launch QEMU with the '-s' option. It will wait for a BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1515.): gdb connection: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1516.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1517.): qemu-system-i386 -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \ BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1518.): -append "root=/dev/hda" BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1519.): Connected to host network interface: tun0 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1520.): Waiting gdb connection on port 1234 BEGIN LINE END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::1521.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1522.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::1523.): Then launch gdb on the 'vmlinux' executable: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1524.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1525.): > gdb vmlinux BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1526.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1527.): BEGIN LINE END LINE: @section : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::1528.): In gdb, connect to QEMU: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1529.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1530.): (gdb) target remote localhost:1234 BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1531.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1532.): BEGIN LINE END LINE: @section : args(1) contents(12) <- (document_root) END EMPTY LINE NEW LINE(_root::1533.): Then you can use gdb normally. For example, type 'c' to launch the kernel: BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1534.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1535.): (gdb) c BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1536.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1537.): BEGIN LINE END LINE: @section : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::1538.): Here are some useful tips in order to use gdb on system code: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1539.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1540.): @enumerate BEGIN LINE COMMAND enumerate END LINE: (block_line_arg) : contents(1) <- @enumerate NEW LINE(_root::1541.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1542.): Use @code{info reg} to display all the CPU registers. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::1543.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1544.): Use @code{x/10i $eip} to display the code at the PC position. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::1545.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @enumerate NEW LINE(_root::1546.): Use @code{set architecture i8086} to dump 16 bit code. Then use BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::1547.): @code{x/10i $cs*16+$eip} to dump the code at the PC position. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::1548.): @end enumerate BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK enumerate END COMMAND enumerate CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1549.): BEGIN LINE END LINE: @section : args(1) contents(19) <- (document_root) END EMPTY LINE NEW LINE(_root::1550.): Advanced debugging options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1551.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1552.): The default single stepping behavior is step with the IRQs and timer service routines off. It is set this way because when gdb executes a single step it expects to advance beyond the current instruction. With the IRQs and timer service routines on, a single step might jump into the one of the interrupt or exception vectors instead of executing the current instruction. This means you may hit the same breakpoint a number of times before executing the instruction gdb wants to have executed. Because there are rare circumstances where you want to single step into an interrupt vector the behavior can be controlled from GDB. There are three commands you can query and set the single step behavior: BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1553.): @table @code BEGIN LINE COMMAND table CLOSE PARA COMMAND code FOR PARENT @table command_as_argument code END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1554.): @item maintenance packet qqemu.sstepbits BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1555.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @section END EMPTY LINE NEW LINE(_root::1556.): This will display the MASK bits used to control the single stepping IE: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1557.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1558.): (gdb) maintenance packet qqemu.sstepbits BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1559.): sending: "qqemu.sstepbits" BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1560.): received: "ENABLE=1,NOIRQ=2,NOTIMER=4" BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: , END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1561.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1562.): @item maintenance packet qqemu.sstep BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1563.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @section END EMPTY LINE NEW LINE(_root::1564.): This will display the current value of the mask used when single stepping IE: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1565.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1566.): (gdb) maintenance packet qqemu.sstep BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1567.): sending: "qqemu.sstep" BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1568.): received: "0x7" BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1569.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1570.): @item maintenance packet Qqemu.sstep=HEX_VALUE BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1571.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @section END EMPTY LINE NEW LINE(_root::1572.): This will change the single step mask, so if wanted to enable IRQs on the single step, but not timers, you would use: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1573.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1574.): (gdb) maintenance packet Qqemu.sstep=0x5 BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1575.): sending: "qemu.sstep=0x5" BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1576.): received: "OK" BEGIN LINE SEPARATOR: : END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1577.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1578.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1579.): BEGIN LINE END LINE: @section : args(1) contents(24) <- (document_root) END EMPTY LINE NEW LINE(_root::1580.): @node pcsys_os_specific BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1581.): @section Target OS specific information BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1582.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1583.): @subsection Linux BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1584.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1585.): To have access to SVGA graphic modes under X11, use the @code{vesa} or BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1586.): the @code{cirrus} X11 driver. For optimal performances, use 16 bit BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::1587.): color depth in the guest and the host OS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::1588.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1589.): When using a 2.6 guest Linux kernel, you should add the option BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1590.): @code{clock=pit} on the kernel command line because the 2.6 Linux BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1591.): kernels make very strict real time clock checks by default that QEMU BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1592.): cannot simulate exactly. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1593.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1594.): When using a 2.6 guest Linux kernel, verify that the 4G/4G patch is BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1595.): not activated because QEMU is slower with this patch. The QEMU BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1596.): Accelerator Module is also much slower in this case. Earlier Fedora BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::1597.): Core 3 Linux kernel (< 2.6.9-1.724_FC3) were known to incorporate this BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::1598.): patch by default. Newer kernels don't have it. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::1599.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1600.): @subsection Windows BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1601.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1602.): If you have a slow host, using Windows 95 is better as it gives the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::1603.): best speed. Windows 2000 is also a good choice. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::1604.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1605.): @subsubsection SVGA graphic modes support BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1606.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1607.): QEMU emulates a Cirrus Logic GD5446 Video BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1608.): card. All Windows versions starting from Windows 95 should recognize BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1609.): and use this graphic card. For optimal performances, use 16 bit color BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1610.): depth in the guest and the host OS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::1611.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1612.): If you are using Windows XP as guest OS and if you want to use high BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1613.): resolution modes which the Cirrus Logic BIOS does not support (i.e. >= BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1614.): 1280x1024x16), then you should use the VESA VBE virtual graphic card BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1615.): (option @option{-std-vga}). BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::1616.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1617.): @subsubsection CPU usage reduction BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1618.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1619.): Windows 9x does not correctly use the CPU HLT BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1620.): instruction. The result is that it takes host CPU cycles even when BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1621.): idle. You can install the utility from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1622.): @url{https://web.archive.org/web/20060212132151/http://www.user.cityline.ru/~maxamn/amnhltm.zip} BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::1623.): to solve this problem. Note that no such tool is needed for NT, 2000 or XP. BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::1624.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1625.): @subsubsection Windows 2000 disk full problem BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1626.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1627.): Windows 2000 has a bug which gives a disk full problem during its BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1628.): installation. When installing it, use the @option{-win2k-hack} QEMU BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::1629.): option to enable a specific workaround. After Windows 2000 is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::1630.): installed, you no longer need this option (this option slows down the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::1631.): IDE transfers). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsubsection NEW LINE(_root::1632.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1633.): @subsubsection Windows 2000 shutdown BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1634.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1635.): Windows 2000 cannot automatically shutdown in QEMU although Windows 98 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1636.): can. It comes from the fact that Windows 2000 does not automatically BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1637.): use the APM driver provided by the BIOS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1638.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1639.): In order to correct that, do the following (thanks to Struan BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1640.): Bartlett): go to the Control Panel => Add/Remove Hardware & Next => BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1641.): Add/Troubleshoot a device => Add a new device & Next => No, select the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1642.): hardware from a list & Next => NT Apm/Legacy Support & Next => Next BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::1643.): (again) a few times. Now the driver is installed and Windows 2000 now BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::1644.): correctly instructs QEMU to shutdown at the appropriate moment. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsubsection NEW LINE(_root::1645.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1646.): @subsubsection Share a directory between Unix and Windows BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1647.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1648.): See @ref{sec_invocation} about the help of the option BEGIN LINE PARAGRAPH COMMAND ref SEPARATOR: { OPENED @ref, remaining: remaining: 4, type: brace_command_arg SEPARATOR: } CLOSING(brace) @ref END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1649.): @option{'-netdev user,smb=...'}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::1650.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1651.): @subsubsection Windows XP security problem BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1652.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1653.): Some releases of Windows XP install correctly but give a security BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1654.): error when booting: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1655.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1656.): A problem is preventing Windows from accurately checking the BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1657.): license for this computer. Error code: 0x800703e6. BEGIN LINE SEPARATOR: . SEPARATOR: : SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1658.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1659.): BEGIN LINE END LINE: @subsubsection : args(1) contents(4) <- (document_root) END EMPTY LINE NEW LINE(_root::1660.): The workaround is to install a service pack for XP after a boot in safe BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1661.): mode. Then reboot, and the problem should go away. Since there is no BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1662.): network while in safe mode, its recommended to download the full BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1663.): installation of SP1 or SP2 and transfer that via an ISO or using the BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsubsection NEW LINE(_root::1664.): vvfat block device ("-hdb fat:directory_which_holds_the_SP"). BEGIN LINE SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::1665.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1666.): @subsection MS-DOS and FreeDOS BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::1667.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1668.): @subsubsection CPU usage reduction BEGIN LINE COMMAND subsubsection END LINE: (misc_line_arg) : contents(2) <- @subsubsection MISC END @subsubsection NEW LINE(_root::1669.): BEGIN LINE END LINE: @subsubsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1670.): DOS does not correctly use the CPU HLT instruction. The result is that BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsubsection NEW LINE(_root::1671.): it takes host CPU cycles even when idle. You can install the utility from BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsubsection NEW LINE(_root::1672.): @url{https://web.archive.org/web/20051222085335/http://www.vmware.com/software/dosidle210.zip} BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(3) <- @subsubsection NEW LINE(_root::1673.): to solve this problem. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsubsection NEW LINE(_root::1674.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsubsection END EMPTY LINE CLOSE PARA NEW LINE(_root::1675.): @node QEMU System emulator for non PC targets BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1676.): @chapter QEMU System emulator for non PC targets BEGIN LINE COMMAND chapter END LINE: (misc_line_arg) : contents(2) <- @chapter MISC END @chapter NEW LINE(_root::1677.): BEGIN LINE END LINE: @chapter : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::1678.): QEMU is a generic emulator and it emulates many non PC BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @chapter NEW LINE(_root::1679.): machines. Most of the options are similar to the PC emulator. The BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @chapter NEW LINE(_root::1680.): differences are mentioned in the following sections. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @chapter NEW LINE(_root::1681.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @chapter END EMPTY LINE CLOSE PARA NEW LINE(_root::1682.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::1683.): * PowerPC System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1684.): * Sparc32 System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1685.): * Sparc64 System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1686.): * MIPS System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1687.): * ARM System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1688.): * ColdFire System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1689.): * Cris System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1690.): * Microblaze System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1691.): * SH4 System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1692.): * Xtensa System emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::1693.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::1694.): BEGIN LINE END LINE: @chapter : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1695.): @node PowerPC System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1696.): @section PowerPC System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1697.): @cindex system emulation (PowerPC) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::1698.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::1699.): Use the executable @file{qemu-system-ppc} to simulate a complete PREP BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1700.): or PowerMac PowerPC system. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1701.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1702.): QEMU emulates the following PowerMac peripherals: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1703.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1704.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1705.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1706.): UniNorth or Grackle PCI Bridge BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1707.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1708.): PCI VGA compatible card with VESA Bochs Extensions BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1709.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1710.): 2 PMAC IDE interfaces with hard disk and CD-ROM support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1711.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1712.): NE2000 PCI adapters BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1713.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1714.): Non Volatile RAM BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1715.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1716.): VIA-CUDA with ADB keyboard and mouse. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1717.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1718.): BEGIN LINE END LINE: @section : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::1719.): QEMU emulates the following PREP peripherals: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1720.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1721.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1722.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1723.): PCI Bridge BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1724.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1725.): PCI VGA compatible card with VESA Bochs Extensions BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1726.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1727.): 2 IDE interfaces with hard disk and CD-ROM support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1728.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1729.): Floppy disk BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1730.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1731.): NE2000 network adapters BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1732.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1733.): Serial port BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1734.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1735.): PREP Non Volatile RAM BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1736.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1737.): PC compatible keyboard and mouse. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1738.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1739.): BEGIN LINE END LINE: @section : args(1) contents(12) <- (document_root) END EMPTY LINE NEW LINE(_root::1740.): QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1741.): @url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}. BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1742.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1743.): Since version 0.9.1, QEMU uses OpenBIOS @url{https://www.openbios.org/} BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1744.): for the g3beige and mac99 PowerMac machines. OpenBIOS is a free (GPL BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1745.): v2) portable firmware implementation. The goal is to implement a 100% BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1746.): IEEE 1275-1994 (referred to as Open Firmware) compliant firmware. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::1747.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1748.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::1749.): BEGIN LINE END LINE: @section : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::1750.): The following options are specific to the PowerPC emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1751.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1752.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1753.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1754.): @item -g @address@hidden@var{DEPTH}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1755.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @section END EMPTY LINE NEW LINE(_root::1756.): Set the initial VGA graphic mode. The default is 800x600x32. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1757.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1758.): @item -prom-env @var{string} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1759.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @section END EMPTY LINE NEW LINE(_root::1760.): Set OpenBIOS variables in NVRAM, for example: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1761.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1762.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1763.): qemu-system-ppc -prom-env 'auto-boot?=false' \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1764.): -prom-env 'boot-device=hd:2,\yaboot' \ BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1765.): -prom-env 'boot-args=conf=hd:2,\yaboot.conf' BEGIN LINE SEPARATOR: : SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1766.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1767.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @section END EMPTY LINE NEW LINE(_root::1768.): These variables are not used by Open Hack'Ware. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1769.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1770.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1771.): BEGIN LINE END LINE: @section : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::1772.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::1773.): BEGIN LINE END LINE: @section : args(1) contents(24) <- (document_root) END EMPTY LINE NEW LINE(_root::1774.): BEGIN LINE END LINE: @section : args(1) contents(25) <- (document_root) END EMPTY LINE NEW LINE(_root::1775.): More information is available at BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1776.): @url{http://perso.magic.fr/l_indien/qemu-ppc/}. BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1777.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1778.): @node Sparc32 System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1779.): @section Sparc32 System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1780.): @cindex system emulation (Sparc32) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::1781.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::1782.): Use the executable @file{qemu-system-sparc} to simulate the following BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1783.): Sun4m architecture machines: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1784.): @itemize @minus BEGIN LINE COMMAND itemize CLOSE PARA COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1785.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1786.): SPARCstation 4 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1787.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1788.): SPARCstation 5 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1789.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1790.): SPARCstation 10 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1791.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1792.): SPARCstation 20 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1793.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1794.): SPARCserver 600MP BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1795.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1796.): SPARCstation LX BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1797.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1798.): SPARCstation Voyager BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1799.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1800.): SPARCclassic BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1801.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1802.): SPARCbook BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1803.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1804.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::1805.): The emulation is somewhat complete. SMP up to 16 CPUs is supported, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1806.): but Linux limits the number of usable CPUs to 4. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1807.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1808.): QEMU emulates the following sun4m peripherals: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1809.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1810.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1811.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1812.): IOMMU BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1813.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1814.): TCX or cgthree Frame buffer BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1815.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1816.): Lance (Am7990) Ethernet BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1817.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1818.): Non Volatile RAM M48T02/M48T08 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1819.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1820.): Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1821.): and power/reset logic BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::1822.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1823.): ESP SCSI controller with hard disk and CD-ROM support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1824.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1825.): Floppy drive (not on SS-600MP) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1826.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1827.): CS4231 sound device (only on SS-5, not working yet) BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1828.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1829.): BEGIN LINE END LINE: @section : args(1) contents(11) <- (document_root) END EMPTY LINE NEW LINE(_root::1830.): The number of peripherals is fixed in the architecture. Maximum BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1831.): memory size depends on the machine type, for SS-5 it is 256MB and for BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1832.): others 2047MB. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1833.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1834.): Since version 0.8.2, QEMU uses OpenBIOS BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1835.): @url{https://www.openbios.org/}. OpenBIOS is a free (GPL v2) portable BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1836.): firmware implementation. The goal is to implement a 100% IEEE BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1837.): 1275-1994 (referred to as Open Firmware) compliant firmware. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1838.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1839.): A sample Linux 2.6 series kernel and ram disk image are available on BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1840.): the QEMU web site. There are still issues with NetBSD and OpenBSD, but BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1841.): most kernel versions work. Please note that currently older Solaris kernels BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1842.): don't work probably due to interface issues between OpenBIOS and BEGIN LINE END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1843.): Solaris. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1844.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1845.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::1846.): BEGIN LINE END LINE: @section : args(1) contents(19) <- (document_root) END EMPTY LINE NEW LINE(_root::1847.): The following options are specific to the Sparc32 emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1848.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1849.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1850.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1851.): @item -g @address@hidden@var{DEPTH}] BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(8) <- @item MISC END @item NEW LINE(_root::1852.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @section END EMPTY LINE NEW LINE(_root::1853.): Set the initial graphics mode. For TCX, the default is 1024x768x8 with the BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1854.): option of 1024x768x24. For cgthree, the default is 1024x768x8 with the option BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::1855.): of 1152x900x8 for people who wish to use OBP. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::1856.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1857.): @item -prom-env @var{string} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1858.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @section END EMPTY LINE NEW LINE(_root::1859.): Set OpenBIOS variables in NVRAM, for example: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1860.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1861.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1862.): qemu-system-sparc -prom-env 'auto-boot?=false' \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1863.): -prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux single' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1864.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1865.): BEGIN LINE END LINE: @table : args(1) contents(8) <- @section END EMPTY LINE NEW LINE(_root::1866.): @item -M [SS-4|SS-5|SS-10|SS-20|SS-600MP|LX|Voyager|SPARCClassic] [|SPARCbook] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1867.): BEGIN LINE END LINE: @table : args(1) contents(5) <- @section END EMPTY LINE NEW LINE(_root::1868.): Set the emulated machine type. Default is SS-5. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1869.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1870.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1871.): BEGIN LINE END LINE: @section : args(1) contents(23) <- (document_root) END EMPTY LINE NEW LINE(_root::1872.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::1873.): BEGIN LINE END LINE: @section : args(1) contents(25) <- (document_root) END EMPTY LINE NEW LINE(_root::1874.): @node Sparc64 System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1875.): @section Sparc64 System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1876.): @cindex system emulation (Sparc64) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::1877.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::1878.): Use the executable @file{qemu-system-sparc64} to simulate a Sun4u BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1879.): (UltraSPARC PC-like machine), Sun4v (T1 PC-like machine), or generic BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::1880.): Niagara (T1) machine. The Sun4u emulator is mostly complete, being BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1881.): able to run Linux, NetBSD and OpenBSD in headless (-nographic) mode. The BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::1882.): Sun4v emulator is still a work in progress. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::1883.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1884.): The Niagara T1 emulator makes use of firmware and OS binaries supplied in the S10image/ directory BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1885.): of the OpenSPARC T1 project @url{http://download.oracle.com/technetwork/systems/opensparc/OpenSPARCT1_Arch.1.5.tar.bz2} BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1886.): and is able to boot the disk.s10hw2 Solaris image. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1887.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1888.): qemu-system-sparc64 -M niagara -L /path-to/S10image/ \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1889.): -nographic -m 256 \ BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::1890.): -drive if=pflash,readonly=on,file=/S10image/disk.s10hw2 BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::1891.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1892.): BEGIN LINE END LINE: @section : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::1893.): BEGIN LINE END LINE: @section : args(1) contents(8) <- (document_root) END EMPTY LINE NEW LINE(_root::1894.): QEMU emulates the following peripherals: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1895.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1896.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1897.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1898.): UltraSparc IIi APB PCI Bridge BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1899.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1900.): PCI VGA compatible card with VESA Bochs Extensions BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1901.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1902.): PS/2 mouse and keyboard BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1903.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1904.): Non Volatile RAM M48T59 BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1905.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1906.): PC-compatible serial ports BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1907.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1908.): 2 PCI IDE interfaces with hard disk and CD-ROM support BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1909.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1910.): Floppy disk BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1911.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1912.): BEGIN LINE END LINE: @section : args(1) contents(12) <- (document_root) END EMPTY LINE NEW LINE(_root::1913.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::1914.): BEGIN LINE END LINE: @section : args(1) contents(14) <- (document_root) END EMPTY LINE NEW LINE(_root::1915.): The following options are specific to the Sparc64 emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1916.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1917.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::1918.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::1919.): @item -prom-env @var{string} BEGIN LINE COMMAND item ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::1920.): BEGIN LINE END LINE: @table : args(1) contents(3) <- @section END EMPTY LINE NEW LINE(_root::1921.): Set OpenBIOS variables in NVRAM, for example: BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1922.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1923.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::1924.): qemu-system-sparc64 -prom-env 'auto-boot?=false' BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::1925.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::1926.): BEGIN LINE END LINE: @table : args(1) contents(7) <- @section END EMPTY LINE NEW LINE(_root::1927.): @item -M [sun4u|sun4v|niagara] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::1928.): BEGIN LINE END LINE: @table : args(1) contents(4) <- @section END EMPTY LINE NEW LINE(_root::1929.): Set the emulated machine type. The default is sun4u. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::1930.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::1931.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::1932.): BEGIN LINE END LINE: @section : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::1933.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::1934.): BEGIN LINE END LINE: @section : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::1935.): @node MIPS System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::1936.): @section MIPS System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::1937.): @cindex system emulation (MIPS) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::1938.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::1939.): Four executables cover simulation of 32 and 64-bit MIPS systems in BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1940.): both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel} BEGIN LINE SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: , COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::1941.): @file{qemu-system-mips64} and @file{qemu-system-mips64el}. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(10) <- @section NEW LINE(_root::1942.): Five different machine types are emulated: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(11) <- @section NEW LINE(_root::1943.): BEGIN LINE END LINE: (paragraph) : contents(12) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1944.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1945.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1946.): A generic ISA PC-like machine "mips" BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1947.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1948.): The MIPS Malta prototype board "malta" BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1949.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1950.): An ACER Pica "pica61". This machine needs the 64-bit emulator. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1951.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1952.): MIPS emulator pseudo board "mipssim" BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1953.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1954.): A MIPS Magnum R4000 machine "magnum". This machine needs the 64-bit emulator. BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1955.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1956.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::1957.): The generic emulation is supported by Debian 'Etch' and is able to BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1958.): install Debian into a virtual disk image. The following devices are BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::1959.): emulated: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::1960.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1961.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1962.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1963.): A range of MIPS CPUs, default is the 24Kf BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1964.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1965.): PC style serial port BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1966.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1967.): PC style IDE disk BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1968.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1969.): NE2000 network card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1970.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1971.): BEGIN LINE END LINE: @section : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::1972.): The Malta emulation supports the following devices: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1973.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1974.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1975.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1976.): Core board with MIPS 24Kf CPU and Galileo system controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1977.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1978.): PIIX4 PCI/USB/SMbus controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1979.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1980.): The Multi-I/O chip's serial device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1981.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1982.): PCI network cards (PCnet32 and others) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1983.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1984.): Malta FPGA serial device BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1985.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1986.): Cirrus (default) or any other PCI VGA graphics card BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1987.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::1988.): BEGIN LINE END LINE: @section : args(1) contents(14) <- (document_root) END EMPTY LINE NEW LINE(_root::1989.): The ACER Pica emulation supports: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::1990.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::1991.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::1992.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1993.): MIPS R4000 CPU BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1994.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1995.): PC-style IRQ and DMA controllers BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1996.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1997.): PC Keyboard BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::1998.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::1999.): IDE controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2000.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2001.): BEGIN LINE END LINE: @section : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::2002.): The mipssim pseudo board emulation provides an environment similar BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2003.): to what the proprietary MIPS emulator uses for running Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2004.): It supports: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2005.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2006.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2007.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2008.): A range of MIPS CPUs, default is the 24Kf BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2009.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2010.): PC style serial port BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2011.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2012.): MIPSnet network emulation BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2013.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2014.): BEGIN LINE END LINE: @section : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::2015.): The MIPS Magnum R4000 emulation supports: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2016.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2017.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2018.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2019.): MIPS R4000 CPU BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2020.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2021.): PC-style IRQ controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2022.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2023.): PC Keyboard BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2024.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2025.): SCSI controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2026.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2027.): G364 framebuffer BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2028.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2029.): BEGIN LINE END LINE: @section : args(1) contents(26) <- (document_root) END EMPTY LINE NEW LINE(_root::2030.): BEGIN LINE END LINE: @section : args(1) contents(27) <- (document_root) END EMPTY LINE NEW LINE(_root::2031.): @node ARM System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2032.): @section ARM System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2033.): @cindex system emulation (ARM) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2034.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::2035.): Use the executable @file{qemu-system-arm} to simulate a ARM BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2036.): machine. The ARM Integrator/CP board is emulated with the following BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::2037.): devices: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::2038.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2039.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2040.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2041.): ARM926E, ARM1026E, ARM946E, ARM1136 or Cortex-A8 CPU BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2042.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2043.): Two PL011 UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2044.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2045.): SMC 91c111 Ethernet adapter BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2046.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2047.): PL110 LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2048.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2049.): PL050 KMI with PS/2 keyboard and mouse. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2050.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2051.): PL181 MultiMedia Card Interface with SD card. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2052.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2053.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::2054.): The ARM Versatile baseboard is emulated with the following devices: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2055.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2056.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2057.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2058.): ARM926E, ARM1136 or Cortex-A8 CPU BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2059.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2060.): PL190 Vectored Interrupt Controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2061.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2062.): Four PL011 UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2063.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2064.): SMC 91c111 Ethernet adapter BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2065.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2066.): PL110 LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2067.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2068.): PL050 KMI with PS/2 keyboard and mouse. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2069.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2070.): PCI host bridge. Note the emulated PCI bridge only provides access to BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2071.): PCI memory space. It does not provide access to PCI IO space. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2072.): This means some devices (eg. ne2k_pci NIC) are not usable, and others BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2073.): (eg. rtl8139 NIC) are only usable when the guest drivers use the memory BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2074.): mapped control registers. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::2075.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2076.): PCI OHCI USB controller. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2077.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2078.): LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2079.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2080.): PL181 MultiMedia Card Interface with SD card. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2081.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2082.): BEGIN LINE END LINE: @section : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::2083.): Several variants of the ARM RealView baseboard are emulated, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2084.): including the EB, PB-A8 and PBX-A9. Due to interactions with the BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2085.): bootloader, only certain Linux kernel configurations work out BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2086.): of the box on these boards. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::2087.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2088.): Kernels for the PB-A8 board should have CONFIG_REALVIEW_HIGH_PHYS_OFFSET BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2089.): enabled in the kernel, and expect 512M RAM. Kernels for The PBX-A9 board BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2090.): should have CONFIG_SPARSEMEM enabled, CONFIG_REALVIEW_HIGH_PHYS_OFFSET BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2091.): disabled and expect 1024M RAM. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::2092.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2093.): The following devices are emulated: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2094.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2095.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2096.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2097.): ARM926E, ARM1136, ARM11MPCore, Cortex-A8 or Cortex-A9 MPCore CPU BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2098.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2099.): ARM AMBA Generic/Distributed Interrupt Controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2100.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2101.): Four PL011 UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2102.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2103.): SMC 91c111 or SMSC LAN9118 Ethernet adapter BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2104.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2105.): PL110 LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2106.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2107.): PL050 KMI with PS/2 keyboard and mouse BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2108.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2109.): PCI host bridge BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2110.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2111.): PCI OHCI USB controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2112.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2113.): LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2114.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2115.): PL181 MultiMedia Card Interface with SD card. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2116.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2117.): BEGIN LINE END LINE: @section : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::2118.): The XScale-based clamshell PDA models ("Spitz", "Akita", "Borzoi" BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2119.): and "Terrier") emulation includes the following peripherals: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2120.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2121.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2122.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2123.): Intel PXA270 System-on-chip (ARM V5TE core) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2124.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2125.): NAND Flash memory BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2126.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2127.): IBM/Hitachi DSCM microdrive in a PXA PCMCIA slot - not in "Akita" BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2128.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2129.): On-chip OHCI USB controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2130.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2131.): On-chip LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2132.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2133.): On-chip Real Time Clock BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2134.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2135.): TI ADS7846 touchscreen controller on SSP bus BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2136.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2137.): Maxim MAX1111 analog-digital converter on address@hidden bus BEGIN LINE PARAGRAPH COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2138.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2139.): GPIO-connected keyboard controller and LEDs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2140.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2141.): Secure Digital card connected to PXA MMC/SD host BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2142.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2143.): Three on-chip UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2144.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2145.): WM8750 audio CODEC on address@hidden and address@hidden busses BEGIN LINE PARAGRAPH COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::2146.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2147.): BEGIN LINE END LINE: @section : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::2148.): The Palm Tungsten|E PDA (codename "Cheetah") emulation includes the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2149.): following elements: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2150.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2151.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2152.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2153.): Texas Instruments OMAP310 System-on-chip (ARM 925T core) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2154.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2155.): ROM and RAM memories (ROM firmware image can be loaded with -option-rom) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2156.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2157.): On-chip LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2158.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2159.): On-chip Real Time Clock BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2160.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2161.): TI TSC2102i touchscreen controller / analog-digital converter / Audio BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2162.): CODEC, connected through MicroWire and address@hidden busses BEGIN LINE SEPARATOR: , COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2163.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2164.): GPIO-connected matrix keypad BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2165.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2166.): Secure Digital card connected to OMAP MMC/SD host BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2167.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2168.): Three on-chip UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2169.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2170.): BEGIN LINE END LINE: @section : args(1) contents(26) <- (document_root) END EMPTY LINE NEW LINE(_root::2171.): Nokia N800 and N810 internet tablets (known also as RX-34 and RX-44 / 48) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2172.): emulation supports the following elements: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2173.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2174.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2175.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2176.): Texas Instruments OMAP2420 System-on-chip (ARM 1136 core) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2177.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2178.): RAM and non-volatile OneNAND Flash memories BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2179.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2180.): Display connected to EPSON remote framebuffer chip and OMAP on-chip BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2181.): display controller and a LS041y3 MIPI DBI-C controller BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2182.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2183.): TI TSC2301 (in N800) and TI TSC2005 (in N810) touchscreen controllers BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2184.): driven through SPI bus BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2185.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2186.): National Semiconductor LM8323-controlled qwerty keyboard driven BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2187.): through address@hidden bus BEGIN LINE COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2188.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2189.): Secure Digital card connected to OMAP MMC/SD host BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2190.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2191.): Three OMAP on-chip UARTs and on-chip STI debugging console BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2192.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2193.): A Bluetooth(R) transceiver and HCI connected to an UART BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2194.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2195.): Mentor Graphics "Inventra" dual-role USB controller embedded in a TI BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2196.): TUSB6010 chip - only USB host mode is supported BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2197.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2198.): TI TMP105 temperature sensor driven through address@hidden bus BEGIN LINE PARAGRAPH COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2199.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2200.): TI TWL92230C power management companion with an RTC on address@hidden bus BEGIN LINE PARAGRAPH COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2201.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2202.): Nokia RETU and TAHVO multi-purpose chips with an RTC, connected BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2203.): through CBUS BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2204.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2205.): BEGIN LINE END LINE: @section : args(1) contents(30) <- (document_root) END EMPTY LINE NEW LINE(_root::2206.): The Luminary Micro Stellaris LM3S811EVB emulation includes the following BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2207.): devices: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2208.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2209.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2210.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2211.): Cortex-M3 CPU core. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2212.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2213.): 64k Flash and 8k SRAM. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2214.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2215.): Timers, UARTs, ADC and address@hidden interface. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2216.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2217.): OSRAM Pictiva 96x16 OLED with SSD0303 controller on address@hidden bus. BEGIN LINE PARAGRAPH COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2218.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2219.): BEGIN LINE END LINE: @section : args(1) contents(34) <- (document_root) END EMPTY LINE NEW LINE(_root::2220.): The Luminary Micro Stellaris LM3S6965EVB emulation includes the following BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2221.): devices: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2222.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2223.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2224.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2225.): Cortex-M3 CPU core. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2226.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2227.): 256k Flash and 64k SRAM. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2228.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2229.): Timers, UARTs, ADC, address@hidden and SSI interfaces. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: , COMMAND math SEPARATOR: { OPENED @math, remaining: type: brace_command_context SEPARATOR: } CLOSING(brace) @math SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2230.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2231.): OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via SSI. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2232.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2233.): BEGIN LINE END LINE: @section : args(1) contents(38) <- (document_root) END EMPTY LINE NEW LINE(_root::2234.): The Freecom MusicPal internet radio emulation includes the following BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2235.): elements: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2236.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2237.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2238.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2239.): Marvell MV88W8618 ARM core. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2240.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2241.): 32 MB RAM, 256 KB SRAM, 8 MB flash. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2242.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2243.): Up to 2 16550 UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2244.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2245.): MV88W8xx8 Ethernet controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2246.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2247.): MV88W8618 audio controller, WM8750 CODEC and mixer BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2248.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2249.): 128×64 display with brightness control BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2250.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2251.): 2 buttons, 2 navigation wheels with button function BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2252.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2253.): BEGIN LINE END LINE: @section : args(1) contents(42) <- (document_root) END EMPTY LINE NEW LINE(_root::2254.): The Siemens SX1 models v1 and v2 (default) basic emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2255.): The emulation includes the following elements: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2256.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2257.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2258.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2259.): Texas Instruments OMAP310 System-on-chip (ARM 925T core) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2260.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2261.): ROM and RAM memories (ROM firmware image can be loaded with -pflash) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2262.): V1 BEGIN LINE END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2263.): 1 Flash of 16MB and 1 Flash of 8MB BEGIN LINE END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2264.): V2 BEGIN LINE END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2265.): 1 Flash of 32MB BEGIN LINE END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::2266.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2267.): On-chip LCD controller BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2268.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2269.): On-chip Real Time Clock BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2270.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2271.): Secure Digital card connected to OMAP MMC/SD host BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2272.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2273.): Three on-chip UARTs BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2274.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2275.): BEGIN LINE END LINE: @section : args(1) contents(46) <- (document_root) END EMPTY LINE NEW LINE(_root::2276.): A Linux 2.6 test image is available on the QEMU web site. More BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2277.): information is available in the QEMU mailing-list archive. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2278.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2279.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::2280.): BEGIN LINE END LINE: @section : args(1) contents(50) <- (document_root) END EMPTY LINE NEW LINE(_root::2281.): The following options are specific to the ARM emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2282.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2283.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2284.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2285.): @item -semihosting BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2286.): Enable semihosting syscall emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2287.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2288.): On ARM this implements the "Angel" interface. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2289.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2290.): Note that this allows guest direct access to the host filesystem, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2291.): so should only be used with trusted guest OS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2292.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2293.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2294.): BEGIN LINE END LINE: @section : args(1) contents(54) <- (document_root) END EMPTY LINE NEW LINE(_root::2295.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::2296.): BEGIN LINE END LINE: @section : args(1) contents(56) <- (document_root) END EMPTY LINE NEW LINE(_root::2297.): @node ColdFire System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2298.): @section ColdFire System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2299.): @cindex system emulation (ColdFire) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2300.): @cindex system emulation (M68K) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2301.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2302.): Use the executable @file{qemu-system-m68k} to simulate a ColdFire machine. BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2303.): The emulator is able to boot a uClinux kernel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::2304.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2305.): The M5208EVB emulation includes the following devices: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2306.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2307.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2308.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2309.): MCF5208 ColdFire V2 Microprocessor (ISA A+ with EMAC). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2310.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2311.): Three Two on-chip UARTs. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2312.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2313.): Fast Ethernet Controller (FEC) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2314.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2315.): BEGIN LINE END LINE: @section : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::2316.): The AN5206 emulation includes the following devices: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2317.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2318.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2319.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2320.): MCF5206 ColdFire V2 Microprocessor. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2321.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2322.): Two on-chip UARTs. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2323.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2324.): BEGIN LINE END LINE: @section : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::2325.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::2326.): BEGIN LINE END LINE: @section : args(1) contents(15) <- (document_root) END EMPTY LINE NEW LINE(_root::2327.): The following options are specific to the ColdFire emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2328.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2329.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2330.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2331.): @item -semihosting BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2332.): Enable semihosting syscall emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2333.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2334.): On M68K this implements the "ColdFire GDB" interface used by libgloss. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2335.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2336.): Note that this allows guest direct access to the host filesystem, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2337.): so should only be used with trusted guest OS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2338.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2339.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2340.): BEGIN LINE END LINE: @section : args(1) contents(19) <- (document_root) END EMPTY LINE NEW LINE(_root::2341.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::2342.): BEGIN LINE END LINE: @section : args(1) contents(21) <- (document_root) END EMPTY LINE NEW LINE(_root::2343.): @node Cris System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2344.): @section Cris System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2345.): @cindex system emulation (Cris) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2346.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::2347.): TODO BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2348.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2349.): @node Microblaze System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2350.): @section Microblaze System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2351.): @cindex system emulation (Microblaze) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2352.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::2353.): TODO BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2354.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2355.): @node SH4 System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2356.): @section SH4 System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2357.): @cindex system emulation (SH4) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2358.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::2359.): TODO BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2360.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2361.): @node Xtensa System emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2362.): @section Xtensa System emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2363.): @cindex system emulation (Xtensa) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2364.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::2365.): Two executables cover simulation of both Xtensa endian options, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2366.): @file{qemu-system-xtensa} and @file{qemu-system-xtensaeb}. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::2367.): Two different machine types are emulated: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::2368.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2369.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2370.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2371.): Xtensa emulator pseudo board "sim" BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2372.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2373.): Avnet LX60/LX110/LX200 board BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2374.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2375.): BEGIN LINE END LINE: @section : args(1) contents(6) <- (document_root) END EMPTY LINE NEW LINE(_root::2376.): The sim pseudo board emulation provides an environment similar BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2377.): to one provided by the proprietary Tensilica ISS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2378.): It supports: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2379.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2380.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2381.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2382.): A range of Xtensa CPUs, default is the DC232B BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2383.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2384.): Console and filesystem access via semihosting calls BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2385.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2386.): BEGIN LINE END LINE: @section : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::2387.): The Avnet LX60/LX110/LX200 emulation supports: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2388.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2389.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2390.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2391.): A range of Xtensa CPUs, default is the DC232B BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2392.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2393.): 16550 UART BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2394.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2395.): OpenCores 10/100 Mbps Ethernet MAC BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2396.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2397.): BEGIN LINE END LINE: @section : args(1) contents(14) <- (document_root) END EMPTY LINE NEW LINE(_root::2398.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::2399.): BEGIN LINE END LINE: @section : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::2400.): The following options are specific to the Xtensa emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2401.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2402.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2403.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::2404.): @item -semihosting BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2405.): Enable semihosting syscall emulation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2406.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2407.): Xtensa semihosting provides basic file IO calls, such as open/read/write/seek/select. BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2408.): Tensilica baremetal libc for ISS and linux platform "sim" use this interface. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2409.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2410.): Note that this allows guest direct access to the host filesystem, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2411.): so should only be used with trusted guest OS. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2412.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2413.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2414.): BEGIN LINE END LINE: @section : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::2415.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::2416.): BEGIN LINE END LINE: @section : args(1) contents(22) <- (document_root) END EMPTY LINE NEW LINE(_root::2417.): @node QEMU Guest Agent BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2418.): @chapter QEMU Guest Agent invocation BEGIN LINE COMMAND chapter END LINE: (misc_line_arg) : contents(2) <- @chapter MISC END @chapter NEW LINE(_root::2419.): BEGIN LINE END LINE: @chapter : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2420.): @include qemu-ga.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-ga.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2.): @c man begin SYNOPSIS BEGIN LINE COMMAND c NEW LINE(_root|preformatted::3.): @command{qemu-ga} address@hidden BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::4.): @c man end BEGIN LINE COMMAND c NEW LINE(_root|preformatted::5.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::6.): BEGIN LINE END LINE: @chapter : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::7.): @c man begin DESCRIPTION BEGIN LINE COMMAND c NEW LINE(_root::8.): BEGIN LINE END LINE: @chapter : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::9.): The QEMU Guest Agent is a daemon intended to be run within virtual BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @chapter NEW LINE(_root::10.): machines. It allows the hypervisor host to perform various operations BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @chapter NEW LINE(_root::11.): in the guest, such as: BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(3) <- @chapter NEW LINE(_root::12.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @chapter END EMPTY LINE CLOSE PARA NEW LINE(_root::13.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::14.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::15.): get information from the guest BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::16.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::17.): set the guest's system time BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::18.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::19.): read/write a file BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::20.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::21.): sync and freeze the filesystems BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::22.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::23.): suspend the guest BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::24.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::25.): reconfigure guest local processors BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::26.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::27.): set user's password BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::28.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::29.): ... BEGIN LINE SEPARATOR: . PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::30.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::31.): BEGIN LINE END LINE: @chapter : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::32.): qemu-ga will read a system configuration file on startup (located at BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @chapter NEW LINE(_root::33.): @file{/etc/qemu/qemu-ga.conf} by default), then parse remaining BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: , END LINE: (paragraph) : contents(3) <- @chapter NEW LINE(_root::34.): configuration options on the command line. For the same key, the last BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @chapter NEW LINE(_root::35.): option wins, but the lists accumulate (see below for configuration BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @chapter NEW LINE(_root::36.): file format). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @chapter NEW LINE(_root::37.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @chapter END EMPTY LINE CLOSE PARA NEW LINE(_root::38.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::39.): BEGIN LINE END LINE: @chapter : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::40.): @c man begin OPTIONS BEGIN LINE COMMAND c NEW LINE(_root::41.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::42.): @item -m, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::43.): Transport method: one of @samp{unix-listen}, @samp{virtio-serial}, or BEGIN LINE PARAGRAPH SEPARATOR: : COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::44.): @samp{isa-serial} (@samp{virtio-serial} is the default). BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::45.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::46.): @item -p, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::47.): Device/socket path (the default for virtio-serial is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::48.): @samp{/dev/virtio-ports/org.qemu.guest_agent.0}, BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @samp SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::49.): the default for isa-serial is @samp{/dev/ttyS0}) BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::50.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::51.): @item -l, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::52.): Set log file path (default is stderr). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::53.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::54.): @item -f, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::55.): Specify pid file (default is @samp{/var/run/qemu-ga.pid}). BEGIN LINE PARAGRAPH COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::56.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::57.): @item -F, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::58.): Enable fsfreeze hook. Accepts an optional argument that specifies BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::59.): script to run on freeze/thaw. Script will be called with BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::60.): 'freeze'/'thaw' arguments accordingly (default is BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::61.): @samp{/etc/qemu/fsfreeze-hook}). If using -F with an argument, do BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::62.): not follow -F with a space (for example: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::63.): @samp{-F/var/run/fsfreezehook.sh}). BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::64.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::65.): @item -t, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::66.): Specify the directory to store state information (absolute paths only, BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::67.): default is @samp{/var/run}). BEGIN LINE COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::68.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::69.): @item -v, --verbose BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::70.): Log extra debugging information. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::71.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::72.): @item -V, --version BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::73.): Print version information and exit. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::74.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::75.): @item -d, --daemon BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::76.): Daemonize after startup (detach from terminal). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::77.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::78.): @item -b, address@hidden BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::79.): Comma-separated list of RPCs to disable (no spaces, @samp{?} to list BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND samp SEPARATOR: { OPENED @samp, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @samp END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::80.): available RPCs). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::81.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::82.): @item -D, --dump-conf BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::83.): Dump the configuration in a format compatible with @file{qemu-ga.conf} BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::84.): and exit. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::85.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::86.): @item -h, --help BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::87.): Display this help and exit. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::88.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::89.): BEGIN LINE END LINE: @chapter : args(1) contents(16) <- (document_root) END EMPTY LINE NEW LINE(_root::90.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::91.): BEGIN LINE END LINE: @chapter : args(1) contents(18) <- (document_root) END EMPTY LINE NEW LINE(_root::92.): @c man begin FILES BEGIN LINE COMMAND c NEW LINE(_root::93.): BEGIN LINE END LINE: @chapter : args(1) contents(20) <- (document_root) END EMPTY LINE NEW LINE(_root::94.): The syntax of the @file{qemu-ga.conf} configuration file follows the BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @chapter NEW LINE(_root::95.): Desktop Entry Specification, here is a quick summary: it consists of BEGIN LINE SEPARATOR: , SEPARATOR: : END LINE: (paragraph) : contents(4) <- @chapter NEW LINE(_root::96.): groups of key-value pairs, interspersed with comments. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(5) <- @chapter NEW LINE(_root::97.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @chapter END EMPTY LINE CLOSE PARA NEW LINE(_root::98.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::99.): # qemu-ga configuration sample BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::100.): [general] BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::101.): daemonize = 0 BEGIN LINE END LINE: (preformatted) : contents(3) <- @example NEW LINE(_root|preformatted::102.): pidfile = /var/run/qemu-ga.pid BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(4) <- @example NEW LINE(_root|preformatted::103.): verbose = 0 BEGIN LINE END LINE: (preformatted) : contents(5) <- @example NEW LINE(_root|preformatted::104.): method = virtio-serial BEGIN LINE END LINE: (preformatted) : contents(6) <- @example NEW LINE(_root|preformatted::105.): path = /dev/virtio-ports/org.qemu.guest_agent.0 BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(7) <- @example NEW LINE(_root|preformatted::106.): statedir = /var/run BEGIN LINE END LINE: (preformatted) : contents(8) <- @example NEW LINE(_root|preformatted::107.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::108.): BEGIN LINE END LINE: @chapter : args(1) contents(24) <- (document_root) END EMPTY LINE NEW LINE(_root::109.): The list of keys follows the command line options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @chapter NEW LINE(_root::110.): @table @option BEGIN LINE COMMAND table CLOSE PARA COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::111.): @item daemon= boolean BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::112.): @item method= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::113.): @item path= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::114.): @item logfile= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::115.): @item pidfile= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::116.): @item fsfreeze-hook= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::117.): @item statedir= string BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::118.): @item verbose= boolean BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::119.): @item blacklist= string list BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::120.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::121.): BEGIN LINE END LINE: @chapter : args(1) contents(27) <- (document_root) END EMPTY LINE NEW LINE(_root::122.): @c man end BEGIN LINE COMMAND c NEW LINE(_root::123.): BEGIN LINE END LINE: @chapter : args(1) contents(29) <- (document_root) END EMPTY LINE NEW LINE(_root::124.): @ignore BEGIN LINE COMMAND ignore NEW LINE(_root::125.): NEW LINE(_root::126.): @setfilename qemu-ga NEW LINE(_root::127.): @settitle QEMU Guest Agent NEW LINE(_root::128.): NEW LINE(_root::129.): @c man begin AUTHOR NEW LINE(_root::130.): Michael Roth NEW LINE(_root::131.): @c man end NEW LINE(_root::132.): NEW LINE(_root::133.): @c man begin SEEALSO NEW LINE(_root::134.): qemu(1) NEW LINE(_root::135.): @c man end NEW LINE(_root::136.): NEW LINE(_root::137.): @end ignore CLOSED raw ignore END LINE: @chapter : args(1) contents(31) <- (document_root) NEW LINE(_root::2421.): BEGIN LINE END LINE: @chapter : args(1) contents(32) <- (document_root) END EMPTY LINE NEW LINE(_root::2422.): @node QEMU User space emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2423.): @chapter QEMU User space emulator BEGIN LINE COMMAND chapter END LINE: (misc_line_arg) : contents(2) <- @chapter MISC END @chapter NEW LINE(_root::2424.): BEGIN LINE END LINE: @chapter : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2425.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::2426.): * Supported Operating Systems :: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2427.): * Features:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2428.): * Linux User space emulator:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2429.): * BSD User space emulator :: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2430.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::2431.): BEGIN LINE END LINE: @chapter : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2432.): @node Supported Operating Systems BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2433.): @section Supported Operating Systems BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2434.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2435.): The following OS are supported in user space emulation: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2436.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2437.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2438.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2439.): Linux (referred as qemu-linux-user) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2440.): @item BEGIN LINE COMMAND item CLOSE PARA ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2441.): BSD (referred as qemu-bsd-user) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2442.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2443.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2444.): @node Features BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2445.): @section Features BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2446.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2447.): QEMU user space emulation has the following notable features: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2448.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2449.): @table @strong BEGIN LINE COMMAND table COMMAND strong FOR PARENT @table command_as_argument strong END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2450.): @item System call translation: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2451.): QEMU includes a generic system call translator. This means that BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2452.): the parameters of the system calls can be converted to fix BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2453.): endianness and 32/64-bit mismatches between hosts and targets. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2454.): IOCTLs can be converted too. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2455.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2456.): @item POSIX signal handling: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2457.): QEMU can redirect to the running program all signals coming from BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2458.): the host (such as @code{SIGALRM}), as well as synthesize signals from BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: , END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2459.): virtual CPU exceptions (for example @code{SIGFPE} when the program BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::2460.): executes a division by zero). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::2461.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2462.): QEMU relies on the host kernel to emulate most signal system BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2463.): calls, for example to emulate the signal mask. On Linux, QEMU BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2464.): supports both normal and real-time signals. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2465.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::2466.): @item Threading: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2467.): On Linux, QEMU can emulate the @code{clone} syscall and create a real BEGIN LINE PARAGRAPH SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2468.): host thread (with a separate virtual CPU) for each emulated thread. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2469.): Note that not all targets currently emulate atomic operations correctly. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2470.): x86 and ARM use a global lock in order to preserve their semantics. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2471.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2472.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2473.): QEMU was conceived so that ultimately it can emulate itself. Although BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::2474.): it is not very useful, it is an important test to show the power of the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::2475.): emulator. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::2476.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::2477.): @node Linux User space emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2478.): @section Linux User space emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2479.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2480.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::2481.): * Quick Start:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2482.): * Wine launch:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2483.): * Command line options:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2484.): * Other binaries:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2485.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::2486.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2487.): @node Quick Start BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2488.): @subsection Quick Start BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2489.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2490.): In order to launch a Linux process, QEMU needs the process executable BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2491.): itself and all the target (x86) dynamic libraries used by it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2492.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2493.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::2494.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::2495.): @item On x86, you can just try to launch any process by using the native BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2496.): libraries: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2497.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2498.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2499.): qemu-i386 -L / /bin/ls BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2500.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2501.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2502.): @code{-L /} tells that the x86 dynamic linker must be searched with a BEGIN LINE COMMAND code PARAGRAPH SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2503.): @file{/} prefix. BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2504.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2505.): @item Since QEMU is also a linux process, you can launch QEMU with BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2506.): QEMU (NOTE: you can only do that if you compiled QEMU from the sources): BEGIN LINE SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2507.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2508.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2509.): qemu-i386 -L / qemu-i386 -L / /bin/ls BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2510.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2511.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2512.): @item On non x86 CPUs, you need first to download at least an x86 glibc BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2513.): (@file{qemu-runtime-i386-XXX-.tar.gz} on the QEMU web page). Ensure that BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2514.): @code{LD_LIBRARY_PATH} is not set: BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: : END LINE: (paragraph) : contents(6) <- @item NEW LINE(_root::2515.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2516.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2517.): unset LD_LIBRARY_PATH BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2518.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2519.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2520.): Then you can launch the precompiled @file{ls} x86 executable: BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: : END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2521.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2522.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2523.): qemu-i386 tests/i386/ls BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2524.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2525.): You can look at @file{scripts/qemu-binfmt-conf.sh} so that BEGIN LINE PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2526.): QEMU is automatically launched by the Linux kernel when you try to BEGIN LINE END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2527.): launch x86 executables. It requires the @code{binfmt_misc} module in the BEGIN LINE SEPARATOR: . COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(7) <- @item NEW LINE(_root::2528.): Linux kernel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @item NEW LINE(_root::2529.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2530.): @item The x86 version of QEMU is also included. You can try weird things such as: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2531.): @example BEGIN LINE COMMAND example CLOSE PARA END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2532.): qemu-i386 /usr/local/qemu-i386/bin/qemu-i386 \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2533.): /usr/local/qemu-i386/bin/ls-i386 BEGIN LINE END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::2534.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2535.): BEGIN LINE END LINE: @item : contents(4) <- @itemize END EMPTY LINE NEW LINE(_root::2536.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::2537.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2538.): @node Wine launch BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2539.): @subsection Wine launch BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2540.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2541.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::2542.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::2543.): @item Ensure that you have a working QEMU with the x86 glibc BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2544.): distribution (see previous section). In order to verify it, you must be BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2545.): able to do: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2546.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2547.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2548.): qemu-i386 /usr/local/qemu-i386/bin/ls-i386 BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2549.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2550.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2551.): @item Download the binary x86 Wine install BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2552.): (@file{qemu-XXX-i386-wine.tar.gz} on the QEMU web page). BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::2553.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2554.): @item Configure Wine on your account. Look at the provided script BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2555.): @file{/usr/local/qemu-i386/@/bin/wine-conf.sh}. Your previous BEGIN LINE COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg COMMAND / SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2556.): @address@hidden@}/.wine} directory is saved to @address@hidden@}/.wine.org}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND { COMMAND } SEPARATOR: . SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND { COMMAND } SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(7) <- @item NEW LINE(_root::2557.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2558.): @item Then you can try the example @file{putty.exe}: BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: . SEPARATOR: } CLOSING(brace) @file SEPARATOR: : END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::2559.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2560.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2561.): qemu-i386 /usr/local/qemu-i386/wine/bin/wine \ BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2562.): /usr/local/qemu-i386/wine/c/Program\ Files/putty.exe BEGIN LINE SEPARATOR: . END LINE: (preformatted) : contents(2) <- @example NEW LINE(_root|preformatted::2563.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2564.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2565.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::2566.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2567.): @node Command line options BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2568.): @subsection Command line options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2569.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2570.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2571.): @command{qemu-i386} address@hidden address@hidden address@hidden @var{path}] address@hidden @var{size}] address@hidden @var{model}] address@hidden @var{port}] address@hidden @var{offset}] address@hidden @var{size}] @var{program} address@hidden BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(34) <- @example NEW LINE(_root|preformatted::2572.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2573.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2574.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2575.): @item -h BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2576.): Print the help BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2577.): @item -L path BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2578.): Set the x86 elf interpreter prefix (default=/usr/local/qemu-i386) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2579.): @item -s size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2580.): Set the x86 stack size in bytes (default=524288) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2581.): @item -cpu model BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2582.): Select CPU model (-cpu help for list and additional feature selection) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2583.): @item -E @address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2584.): Set environment @var{var} to @var{value}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2585.): @item -U @var{var} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2586.): Remove @var{var} from the environment. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2587.): @item -B offset BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2588.): Offset guest address by the specified number of bytes. This is useful when BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2589.): the address region required by guest applications is reserved on the host. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2590.): This option is currently only supported on some hosts. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2591.): @item -R size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2592.): Pre-allocate a guest virtual address space of the given size (in bytes). BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2593.): "G", "M", and "k" suffixes may be used when specifying the size. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2594.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2595.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2596.): Debug options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2597.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2598.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2599.): @item -d item1,... BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2600.): Activate logging of the specified items (use '-d help' for a list of log items) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2601.): @item -p pagesize BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2602.): Act as if the host page size was 'pagesize' bytes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2603.): @item -g port BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2604.): Wait gdb connection to port BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2605.): @item -singlestep BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2606.): Run the emulation in single step mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2607.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2608.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::2609.): Environment variables: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2610.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2611.): @table @env BEGIN LINE COMMAND table COMMAND env FOR PARENT @table command_as_argument env END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2612.): @item QEMU_STRACE BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2613.): Print system calls and arguments similar to the 'strace' program BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2614.): (NOTE: the actual 'strace' program will not work because the user BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2615.): space emulator hasn't implemented ptrace). At the moment this is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2616.): incomplete. All system calls that don't have a specific argument BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::2617.): format are printed with information for six arguments. Many BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2618.): flag-style arguments don't have decoders and will show up as numbers. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::2619.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2620.): BEGIN LINE END LINE: @subsection : args(1) contents(13) <- (document_root) END EMPTY LINE NEW LINE(_root::2621.): @node Other binaries BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2622.): @subsection Other binaries BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2623.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2624.): @cindex user mode (Alpha) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2625.): @command{qemu-alpha} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2626.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2627.): @cindex user mode (ARM) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2628.): @command{qemu-armeb} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2629.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2630.): @cindex user mode (ARM) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2631.): @command{qemu-arm} is also capable of running ARM "Angel" semihosted ELF BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2632.): binaries (as implemented by the arm-elf and arm-eabi Newlib/GDB BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2633.): configurations), and arm-uclinux bFLT format binaries. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2634.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2635.): @cindex user mode (ColdFire) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2636.): @cindex user mode (M68K) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2637.): @command{qemu-m68k} is capable of running semihosted binaries using the BDM BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2638.): (m5xxx-ram-hosted.ld) or m68k-sim (sim.ld) syscall interfaces, and BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2639.): coldfire uClinux bFLT format binaries. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2640.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2641.): The binary format is detected automatically. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2642.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2643.): @cindex user mode (Cris) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2644.): @command{qemu-cris} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2645.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2646.): @cindex user mode (i386) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2647.): @command{qemu-i386} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2648.): @command{qemu-x86_64} TODO. BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2649.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2650.): @cindex user mode (Microblaze) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2651.): @command{qemu-microblaze} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2652.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2653.): @cindex user mode (MIPS) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2654.): @command{qemu-mips} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2655.): @command{qemu-mipsel} TODO. BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2656.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2657.): @cindex user mode (NiosII) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2658.): @command{qemu-nios2} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2659.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2660.): @cindex user mode (PowerPC) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2661.): @command{qemu-ppc64abi32} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2662.): @command{qemu-ppc64} TODO. BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2663.): @command{qemu-ppc} TODO. BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::2664.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2665.): @cindex user mode (SH4) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2666.): @command{qemu-sh4eb} TODO. BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2667.): @command{qemu-sh4} TODO. BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2668.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2669.): @cindex user mode (SPARC) BEGIN LINE COMMAND cindex END LINE: (misc_line_arg) : contents(2) <- @cindex MISC END @cindex NEW LINE(_root::2670.): @command{qemu-sparc} can execute Sparc32 binaries (Sparc32 CPU, 32 bit ABI). BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2671.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2672.): @command{qemu-sparc32plus} can execute Sparc32 and SPARC32PLUS binaries BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2673.): (Sparc64 CPU, 32 bit ABI). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2674.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2675.): @command{qemu-sparc64} can execute some Sparc64 (Sparc64 CPU, 64 bit ABI) and BEGIN LINE COMMAND command PARAGRAPH SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2676.): SPARC32PLUS binaries (Sparc64 CPU, 32 bit ABI). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2677.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2678.): @node BSD User space emulator BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2679.): @section BSD User space emulator BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2680.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2681.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::2682.): * BSD Status:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2683.): * BSD Quick Start:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2684.): * BSD Command line options:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2685.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::2686.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2687.): @node BSD Status BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2688.): @subsection BSD Status BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2689.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2690.): @itemize @minus BEGIN LINE COMMAND itemize COMMAND minus FOR PARENT @itemize command_as_argument minus END LINE: (block_line_arg) : contents(2) <- @itemize NEW LINE(_root::2691.): @item BEGIN LINE COMMAND item ITEM_CONTAINER END LINE: @item : contents(1) <- @itemize NEW LINE(_root::2692.): target Sparc64 on Sparc64: Some trivial programs work. BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2693.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSE PARA CLOSING(_close_current) @item NEW LINE(_root::2694.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2695.): @node BSD Quick Start BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2696.): @subsection Quick Start BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2697.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2698.): In order to launch a BSD process, QEMU needs the process executable BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2699.): itself and all the target dynamic libraries used by it. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2700.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2701.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::2702.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::2703.): @item On Sparc64, you can just try to launch any process by using the native BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::2704.): libraries: BEGIN LINE SEPARATOR: : END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::2705.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::2706.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2707.): qemu-sparc64 /bin/ls BEGIN LINE END LINE: (preformatted) : contents(1) <- @example NEW LINE(_root|preformatted::2708.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2709.): BEGIN LINE END LINE: @item : contents(5) <- @itemize END EMPTY LINE NEW LINE(_root::2710.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::2711.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2712.): @node BSD Command line options BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2713.): @subsection Command line options BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2714.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2715.): @example BEGIN LINE COMMAND example END LINE: (block_line_arg) : contents(1) <- @example PREFORMATTED preformatted NEW LINE(_root|preformatted::2716.): @command{qemu-sparc64} address@hidden address@hidden address@hidden @var{path}] address@hidden @var{size}] address@hidden @var{type}] @var{program} address@hidden BEGIN LINE COMMAND command SEPARATOR: { OPENED @command, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @command COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (preformatted) : contents(22) <- @example NEW LINE(_root|preformatted::2717.): @end example BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK example END COMMAND example CLOSE PREFORMATTED preformatted NEW LINE(_root::2718.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2719.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2720.): @item -h BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2721.): Print the help BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2722.): @item -L path BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2723.): Set the library root path (default=/) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2724.): @item -s size BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2725.): Set the stack size in bytes (default=524288) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2726.): @item -ignore-environment BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2727.): Start with an empty environment. Without this option, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2728.): the initial environment is a copy of the caller's environment. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2729.): @item -E @address@hidden BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(5) <- @item MISC END @item NEW LINE(_root::2730.): Set environment @var{var} to @var{value}. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::2731.): @item -U @var{var} BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var END LINE: (misc_line_arg) : contents(3) <- @item MISC END @item NEW LINE(_root::2732.): Remove @var{var} from the environment. BEGIN LINE PARAGRAPH COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::2733.): @item -bsd type BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2734.): Set the type of the emulated BSD Operating system. Valid values are BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2735.): FreeBSD, NetBSD and OpenBSD (default). BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::2736.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2737.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::2738.): Debug options: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2739.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2740.): @table @option BEGIN LINE COMMAND table COMMAND option FOR PARENT @table command_as_argument option END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::2741.): @item -d item1,... BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2742.): Activate logging of the specified items (use '-d help' for a list of log items) BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2743.): @item -p pagesize BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2744.): Act as if the host page size was 'pagesize' bytes BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2745.): @item -singlestep BEGIN LINE COMMAND item CLOSE PARA ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::2746.): Run the emulation in single step mode. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::2747.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::2748.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::2749.): BEGIN LINE END LINE: @subsection : args(1) contents(10) <- (document_root) END EMPTY LINE NEW LINE(_root::2750.): @include qemu-tech.texi BEGIN LINE COMMAND include SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @include MISC END @include Included ./qemu-tech.texi(*Texinfo::Parser::FH) NEW LINE(_root::1.): @node Implementation notes BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2.): @appendix Implementation notes BEGIN LINE COMMAND appendix END LINE: (misc_line_arg) : contents(2) <- @appendix MISC END @appendix NEW LINE(_root::3.): BEGIN LINE END LINE: @appendix : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::4.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::5.): * CPU emulation:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::6.): * Translator Internals:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::7.): * QEMU compared to other emulators:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::8.): * Bibliography:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::9.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::10.): BEGIN LINE END LINE: @appendix : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::11.): @node CPU emulation BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::12.): @section CPU emulation BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::13.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::14.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::15.): * x86:: x86 and x86-64 emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::16.): * ARM:: ARM emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::17.): * MIPS:: MIPS emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::18.): * PPC:: PowerPC emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::19.): * SPARC:: Sparc32 and Sparc64 emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::20.): * Xtensa:: Xtensa emulation BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(1) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::21.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::22.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::23.): @node x86 BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::24.): @subsection x86 and x86-64 emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::25.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::26.): QEMU x86 target features: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::27.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::28.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::29.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::30.): @item The virtual x86 CPU supports 16 bit and 32 bit addressing with segmentation. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::31.): LDT/GDT and IDT are emulated. VM86 mode is also supported to run BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::32.): DOSEMU. There is some support for MMX/3DNow!, SSE, SSE2, SSE3, SSSE3, BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::33.): and SSE4 as well as x86-64 SVM. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::34.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::35.): @item Support of host page sizes bigger than 4KB in user mode emulation. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::36.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::37.): @item QEMU can emulate itself on x86. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::38.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::39.): @item An extensive Linux x86 CPU test program is included @file{tests/test-i386}. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH COMMAND file SEPARATOR: { OPENED @file, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @file SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::40.): It can be used to test other x86 virtual CPUs. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::41.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::42.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::43.): BEGIN LINE END LINE: @subsection : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::44.): Current QEMU limitations: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::45.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::46.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::47.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::48.): @item Limited x86-64 support. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::49.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::50.): @item IPC syscalls are missing. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::51.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::52.): @item The x86 segment limits and access rights are not tested at every BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::53.): memory access (yet). Hopefully, very few OSes seem to rely on that for BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::54.): normal use. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::55.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::56.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::57.): BEGIN LINE END LINE: @subsection : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::58.): @node ARM BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::59.): @subsection ARM emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::60.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::61.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::62.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::63.): @item Full ARM 7 user emulation. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::64.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::65.): @item NWFPE FPU support included in user Linux emulation. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::66.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::67.): @item Can run most ARM Linux binaries. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::68.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::69.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::70.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::71.): @node MIPS BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::72.): @subsection MIPS emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::73.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::74.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::75.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::76.): @item The system emulation allows full MIPS32/MIPS64 Release 2 emulation, BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::77.): including privileged instructions, FPU and MMU, in both little and big BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::78.): endian modes. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::79.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::80.): @item The Linux userland emulation can run many 32 bit MIPS Linux binaries. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::81.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::82.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::83.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::84.): Current QEMU limitations: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::85.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::86.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::87.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::88.): @item Self-modifying code is not always handled correctly. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::89.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::90.): @item 64 bit userland emulation is not implemented. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::91.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::92.): @item The system emulation is not complete enough to run real firmware. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::93.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::94.): @item The watchpoint debug facility is not implemented. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::95.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::96.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::97.): BEGIN LINE END LINE: @subsection : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::98.): @node PPC BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::99.): @subsection PowerPC emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::100.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::101.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::102.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::103.): @item Full PowerPC 32 bit emulation, including privileged instructions, BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::104.): FPU and MMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::105.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::106.): @item Can run most PowerPC Linux binaries. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::107.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::108.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::109.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::110.): @node SPARC BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::111.): @subsection Sparc32 and Sparc64 emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::112.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::113.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::114.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::115.): @item Full SPARC V8 emulation, including privileged BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::116.): instructions, FPU and MMU. SPARC V9 emulation includes most privileged BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::117.): and VIS instructions, FPU and I/D MMU. Alignment is fully enforced. BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::118.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::119.): @item Can run most 32-bit SPARC Linux binaries, SPARC32PLUS Linux binaries and BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::120.): some 64-bit SPARC Linux binaries. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::121.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::122.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::123.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::124.): Current QEMU limitations: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::125.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::126.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::127.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::128.): @item IPC syscalls are missing. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::129.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::130.): @item Floating point exception support is buggy. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::131.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::132.): @item Atomic instructions are not correctly implemented. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::133.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::134.): @item There are still some problems with Sparc64 emulators. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::135.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::136.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::137.): BEGIN LINE END LINE: @subsection : args(1) contents(7) <- (document_root) END EMPTY LINE NEW LINE(_root::138.): @node Xtensa BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::139.): @subsection Xtensa emulation BEGIN LINE COMMAND subsection END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::140.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::141.): @itemize BEGIN LINE COMMAND itemize END LINE: (block_line_arg) : contents(1) <- @itemize NEW LINE(_root::142.): BEGIN LINE END LINE: (before_item) : contents(1) <- @itemize END EMPTY LINE NEW LINE(_root::143.): @item Core Xtensa ISA emulation, including most options: code density, BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: , SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::144.): loop, extended L32R, 16- and 32-bit multiplication, 32-bit division, BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::145.): MAC16, miscellaneous operations, boolean, FP coprocessor, coprocessor BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::146.): context, debug, multiprocessor synchronization, BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(4) <- @item NEW LINE(_root::147.): conditional store, exceptions, relocatable vectors, unaligned exception, BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @item NEW LINE(_root::148.): interrupts (including high priority and timer), hardware alignment, BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(6) <- @item NEW LINE(_root::149.): region protection, region translation, MMU, windowed registers, thread BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(7) <- @item NEW LINE(_root::150.): pointer, processor ID. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(8) <- @item NEW LINE(_root::151.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::152.): @item Not implemented options: data/instruction cache (including cache BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::153.): prefetch and locking), XLMI, processor interface. Also options not BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::154.): covered by the core ISA (e.g. FLIX, wide branches) are not implemented. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @item NEW LINE(_root::155.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::156.): @item Can run most Xtensa Linux binaries. BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::157.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::158.): @item New core configuration that requires no additional instructions BEGIN LINE COMMAND item ITEM_CONTAINER PARAGRAPH END LINE: (paragraph) : contents(1) <- @item NEW LINE(_root::159.): may be created from overlay with minimal amount of hand-written code. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @item NEW LINE(_root::160.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @item END EMPTY LINE CLOSE PARA NEW LINE(_root::161.): @end itemize BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK itemize END COMMAND itemize CLOSING(_close_current) @item NEW LINE(_root::162.): BEGIN LINE END LINE: @subsection : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::163.): @node Translator Internals BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::164.): @section Translator Internals BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::165.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::166.): QEMU is a dynamic translator. When it first encounters a piece of code, BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::167.): it converts it to the host instruction set. Usually dynamic translators BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::168.): are very complicated and highly CPU dependent. QEMU uses some tricks BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::169.): which make it relatively easily portable and simple while achieving good BEGIN LINE END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::170.): performances. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::171.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::172.): QEMU's dynamic translation backend is called TCG, for "Tiny Code BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::173.): Generator". For more information, please take a look at @code{tcg/README}. BEGIN LINE SEPARATOR: . SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::174.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::175.): Some notable features of QEMU's dynamic translator are: BEGIN LINE PARAGRAPH SEPARATOR: : END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::176.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::177.): @table @strong BEGIN LINE COMMAND table COMMAND strong FOR PARENT @table command_as_argument strong END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::178.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::179.): @item CPU state optimisations: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::180.): The target CPUs have many internal states which change the way it BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::181.): evaluates instructions. In order to achieve a good speed, the BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::182.): translation phase considers that some state information of the virtual BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::183.): CPU cannot change in it. The state is recorded in the Translation BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::184.): Block (TB). If the state changes (e.g. privilege level), a new TB will BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::185.): be generated and the previous TB won't be used anymore until the state BEGIN LINE END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::186.): matches the state recorded in the previous TB. The same idea can be applied BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::187.): to other aspects of the CPU state. For example, on x86, if the SS, BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(8) <- @table NEW LINE(_root::188.): DS and ES segments have a zero base, then the translator does not even BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(9) <- @table NEW LINE(_root::189.): generate an addition for the segment base. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(10) <- @table NEW LINE(_root::190.): BEGIN LINE END LINE: (paragraph) : contents(11) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::191.): @item Direct block chaining: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::192.): After each translated basic block is executed, QEMU uses the simulated BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::193.): Program Counter (PC) and other cpu state information (such as the CS BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::194.): segment base value) to find the next basic block. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::195.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::196.): In order to accelerate the most common cases where the new simulated PC BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::197.): is known, QEMU can patch a basic block so that it jumps directly to the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::198.): next one. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::199.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::200.): The most portable code uses an indirect jump. An indirect jump makes BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::201.): it easier to make the jump target modification atomic. On some host BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::202.): architectures (such as x86 or PowerPC), the @code{JUMP} opcode is BEGIN LINE SEPARATOR: , COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::203.): directly patched so that the block chaining has no overhead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::204.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::205.): @item Self-modifying code and translated code invalidation: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::206.): Self-modifying code is a special challenge in x86 emulation because no BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::207.): instruction cache invalidation is signaled by the application when code BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::208.): is modified. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::209.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::210.): User-mode emulation marks a host page as write-protected (if it is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::211.): not already read-only) every time translated code is generated for a BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::212.): basic block. Then, if a write access is done to the page, Linux raises BEGIN LINE SEPARATOR: . SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::213.): a SEGV signal. QEMU then invalidates all the translated code in the page BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::214.): and enables write accesses to the page. For system emulation, write BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::215.): protection is achieved through the software MMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::216.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::217.): Correct translated code invalidation is done efficiently by maintaining BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::218.): a linked list of every translated block contained in a given page. Other BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::219.): linked lists are also maintained to undo direct block chaining. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::220.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::221.): On RISC targets, correctly written software uses memory barriers and BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::222.): cache flushes, so some of the protection above would not be BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::223.): necessary. However, QEMU still requires that the generated code always BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::224.): matches the target instructions in memory in order to handle BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::225.): exceptions correctly. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::226.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::227.): @item Exception support: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::228.): longjmp() is used when an exception such as division by zero is BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::229.): encountered. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::230.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::231.): The host SIGSEGV and SIGBUS signal handlers are used to get invalid BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::232.): memory accesses. QEMU keeps a map from host program counter to BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::233.): target program counter, and looks up where the exception happened BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::234.): based on the host program counter at the exception point. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::235.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::236.): On some targets, some bits of the virtual CPU's state are not flushed to the BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::237.): memory until the end of the translation block. This is done for internal BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::238.): emulation state that is rarely accessed directly by the program and/or changes BEGIN LINE END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::239.): very often throughout the execution of a translation block---this includes BEGIN LINE END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::240.): condition codes on x86, delay slots on SPARC, conditional execution on BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::241.): ARM, and so on. This state is stored for each target instruction, and BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::242.): looked up on exceptions. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @table NEW LINE(_root::243.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::244.): @item MMU emulation: BEGIN LINE COMMAND item ITEM_LINE SEPARATOR: : END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::245.): For system emulation QEMU uses a software MMU. In that mode, the MMU BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::246.): virtual to physical address translation is done at every memory BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::247.): access. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::248.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::249.): QEMU uses an address translation cache (TLB) to speed up the translation. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::250.): In order to avoid flushing the translated code each time the MMU BEGIN LINE END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::251.): mappings change, all caches in QEMU are physically indexed. This BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::252.): means that each basic block is indexed with its physical address. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::253.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::254.): In order to avoid invalidating the basic block chain when MMU mappings BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::255.): change, chaining is only performed when the destination of the jump BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::256.): shares a page with the basic block that is performing the jump. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::257.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::258.): The MMU can also distinguish RAM and ROM memory areas from MMIO memory BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @table NEW LINE(_root::259.): areas. Access is faster for RAM and ROM because the translation cache also BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::260.): hosts the offset between guest address and host memory. Accessing MMIO BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::261.): memory areas instead calls out to C code for device emulation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::262.): Finally, the MMU helps tracking dirty pages and pages pointed to by BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @table NEW LINE(_root::263.): translation blocks. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @table NEW LINE(_root::264.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table CLOSE PARA NEW LINE(_root::265.): BEGIN LINE END LINE: @section : args(1) contents(9) <- (document_root) END EMPTY LINE NEW LINE(_root::266.): @node QEMU compared to other emulators BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::267.): @section QEMU compared to other emulators BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::268.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::269.): Like bochs [1], QEMU emulates an x86 CPU. But QEMU is much faster than BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::270.): bochs as it uses dynamic compilation. Bochs is closely tied to x86 PC BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::271.): emulation while QEMU can emulate several processors. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::272.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::273.): Like Valgrind [2], QEMU does user space emulation and dynamic BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::274.): translation. Valgrind is mainly a memory debugger while QEMU has no BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::275.): support for it (QEMU could be used to detect out of bound memory BEGIN LINE END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::276.): accesses as Valgrind, but it has no support to track uninitialised data BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::277.): as Valgrind does). The Valgrind dynamic translator generates better code BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::278.): than QEMU (in particular it does register allocation) but it is closely BEGIN LINE END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::279.): tied to an x86 host and target and has no support for precise exceptions BEGIN LINE END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::280.): and system emulation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(8) <- @section NEW LINE(_root::281.): BEGIN LINE END LINE: (paragraph) : contents(9) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::282.): EM86 [3] is the closest project to user space QEMU (and QEMU still uses BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::283.): some of its code, in particular the ELF file loader). EM86 was limited BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::284.): to an alpha host and used a proprietary and slow interpreter (the BEGIN LINE END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::285.): interpreter part of the FX!32 Digital Win32 code translator [4]). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::286.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::287.): TWIN from Willows Software was a Windows API emulator like Wine. It is less BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::288.): accurate than Wine but includes a protected mode x86 interpreter to launch BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::289.): x86 Windows executables. Such an approach has greater potential because most BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::290.): of the Windows API is executed natively but it is far more difficult to BEGIN LINE END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::291.): develop because all the data structures and function parameters exchanged BEGIN LINE END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::292.): between the API and the x86 code must be converted. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::293.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::294.): User mode Linux [5] was the only solution before QEMU to launch a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::295.): Linux kernel as a process while not needing any host kernel BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::296.): patches. However, user mode Linux requires heavy kernel patches while BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::297.): QEMU accepts unpatched Linux kernels. The price to pay is that QEMU is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::298.): slower. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::299.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::300.): The Plex86 [6] PC virtualizer is done in the same spirit as the now BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::301.): obsolete qemu-fast system emulator. It requires a patched Linux kernel BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::302.): to work (you cannot launch the same kernel on your PC), but the BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::303.): patches are really small. As it is a PC virtualizer (no emulation is BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::304.): done except for some privileged instructions), it has the potential of BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @section NEW LINE(_root::305.): being faster than QEMU. The downside is that a complicated (and BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @section NEW LINE(_root::306.): potentially unsafe) host kernel patch is needed. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @section NEW LINE(_root::307.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::308.): The commercial PC Virtualizers (VMWare [7], VirtualPC [8]) are faster BEGIN LINE PARAGRAPH SEPARATOR: , END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::309.): than QEMU (without virtualization), but they all need specific, proprietary BEGIN LINE SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::310.): and potentially unsafe host drivers. Moreover, they are unable to BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::311.): provide cycle exact simulation as an emulator can. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @section NEW LINE(_root::312.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::313.): VirtualBox [9], Xen [10] and KVM [11] are based on QEMU. QEMU-SystemC BEGIN LINE PARAGRAPH SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::314.): [12] uses QEMU to simulate a system where some hardware devices are BEGIN LINE END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::315.): developed in SystemC. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @section NEW LINE(_root::316.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::317.): @node Bibliography BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::318.): @section Bibliography BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::319.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::320.): @table @asis BEGIN LINE COMMAND table COMMAND asis FOR PARENT @table command_as_argument asis END LINE: (block_line_arg) : contents(2) <- @table NEW LINE(_root::321.): BEGIN LINE END LINE: (before_item) : contents(1) <- @table END EMPTY LINE NEW LINE(_root::322.): @item [1] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::323.): @url{http://bochs.sourceforge.net/}, the Bochs IA-32 Emulator Project, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::324.): by Kevin Lawton et al. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::325.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::326.): @item [2] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::327.): @url{http://www.valgrind.org/}, Valgrind, an open-source memory debugger BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::328.): for GNU/Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::329.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::330.): @item [3] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::331.): @url{http://ftp.dreamtime.org/pub/linux/Linux-Alpha/em86/v0.2/docs/em86.html}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::332.): the EM86 x86 emulator on Alpha-Linux. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::333.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::334.): @item [4] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::335.): @url{http://www.usenix.org/publications/library/proceedings/usenix-nt97/@/full_papers/chernoff/chernoff.pdf}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . COMMAND / SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::336.): DIGITAL FX!32: Running 32-Bit x86 Applications on Alpha NT, by Anton BEGIN LINE SEPARATOR: : SEPARATOR: , END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::337.): Chernoff and Ray Hookway. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @table NEW LINE(_root::338.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::339.): @item [5] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::340.): @url{http://user-mode-linux.sourceforge.net/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::341.): The User-mode Linux Kernel. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::342.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::343.): @item [6] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::344.): @url{http://www.plex86.org/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::345.): The new Plex86 project. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::346.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::347.): @item [7] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::348.): @url{http://www.vmware.com/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::349.): The VMWare PC virtualizer. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::350.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::351.): @item [8] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::352.): @url{https://www.microsoft.com/download/details.aspx?id=3702}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::353.): The VirtualPC PC virtualizer. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::354.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::355.): @item [9] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::356.): @url{http://virtualbox.org/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::357.): The VirtualBox PC virtualizer. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::358.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::359.): @item [10] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::360.): @url{http://www.xen.org/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::361.): The Xen hypervisor. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::362.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::363.): @item [11] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::364.): @url{http://www.linux-kvm.org/}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::365.): Kernel Based Virtual Machine (KVM). BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::366.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::367.): @item [12] BEGIN LINE COMMAND item ITEM_LINE END LINE: (misc_line_arg) : contents(2) <- @item MISC END @item NEW LINE(_root::368.): @url{http://www.greensocs.com/projects/QEMUSystemC}, BEGIN LINE COMMAND url PARAGRAPH SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(2) <- @table NEW LINE(_root::369.): QEMU-SystemC, a hardware co-simulator. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(3) <- @table NEW LINE(_root::370.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @table END EMPTY LINE CLOSE PARA NEW LINE(_root::371.): @end table BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK table END COMMAND table NEW LINE(_root::2751.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::2752.): @node Deprecated features BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2753.): @appendix Deprecated features BEGIN LINE COMMAND appendix END LINE: (misc_line_arg) : contents(2) <- @appendix MISC END @appendix NEW LINE(_root::2754.): BEGIN LINE END LINE: @appendix : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2755.): In general features are intended to be supported indefinitely once BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @appendix NEW LINE(_root::2756.): introduced into QEMU. In the event that a feature needs to be removed, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(2) <- @appendix NEW LINE(_root::2757.): it will be listed in this appendix. The feature will remain functional BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @appendix NEW LINE(_root::2758.): for 2 releases prior to actual removal. Deprecated features may also BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @appendix NEW LINE(_root::2759.): generate warnings on the console when QEMU starts up, or if activated BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(5) <- @appendix NEW LINE(_root::2760.): via a monitor command, however, this is not a mandatory requirement. BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @appendix NEW LINE(_root::2761.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @appendix END EMPTY LINE CLOSE PARA NEW LINE(_root::2762.): Prior to the 2.10.0 release there was no official policy on how BEGIN LINE PARAGRAPH SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(1) <- @appendix NEW LINE(_root::2763.): long features would be deprecated prior to their removal, nor BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @appendix NEW LINE(_root::2764.): any documented list of which features were deprecated. Thus BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @appendix NEW LINE(_root::2765.): any features deprecated prior to 2.10.0 will be treated as if BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(4) <- @appendix NEW LINE(_root::2766.): they were first deprecated in the 2.10.0 release. BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @appendix NEW LINE(_root::2767.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @appendix END EMPTY LINE CLOSE PARA NEW LINE(_root::2768.): What follows is a list of all features currently marked as BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @appendix NEW LINE(_root::2769.): deprecated. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @appendix NEW LINE(_root::2770.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @appendix END EMPTY LINE CLOSE PARA NEW LINE(_root::2771.): @section Build options BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2772.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2773.): @subsection GTK 2.x BEGIN LINE COMMAND subsection SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2774.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2775.): Previously QEMU has supported building against both GTK 2.x BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2776.): and 3.x series APIs. Support for the GTK 2.x builds will be BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2777.): discontinued, so maintainers should switch to using GTK 3.x, BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2778.): which is the default. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2779.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2780.): @subsection SDL 1.2 BEGIN LINE COMMAND subsection SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2781.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2782.): Previously QEMU has supported building against both SDL 1.2 BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2783.): and 2.0 series APIs. Support for the SDL 1.2 builds will be BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2784.): discontinued, so maintainers should switch to using SDL 2.0, BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2785.): which is the default. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2786.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2787.): @section System emulator command line arguments BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2788.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2789.): @subsection -no-kvm-pit-reinjection (since 1.3.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2790.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2791.): The ``-no-kvm-pit-reinjection'' argument is now a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2792.): synonym for setting ``-global kvm-pit.lost_tick_policy=discard''. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2793.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2794.): @subsection -no-kvm-irqchip (since 1.3.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2795.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2796.): The ``-no-kvm-irqchip'' argument is now a synonym for BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2797.): setting ``-machine kernel_irqchip=off''. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2798.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2799.): @subsection -no-kvm (since 1.3.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2800.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2801.): The ``-no-kvm'' argument is now a synonym for setting BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2802.): ``-machine accel=tcg''. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2803.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2804.): @subsection -vnc tls (since 2.5.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2805.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2806.): The ``-vnc tls'' argument is now a synonym for setting BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2807.): ``-object tls-creds-anon,id=tls0'' combined with BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2808.): ``-vnc tls-creds=tls0' BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2809.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2810.): @subsection -vnc x509 (since 2.5.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2811.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2812.): The ``-vnc x509=/path/to/certs'' argument is now a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2813.): synonym for setting BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2814.): ``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=no'' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2815.): combined with ``-vnc tls-creds=tls0' BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2816.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2817.): @subsection -vnc x509verify (since 2.5.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2818.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2819.): The ``-vnc x509verify=/path/to/certs'' argument is now a BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2820.): synonym for setting BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2821.): ``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=yes'' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2822.): combined with ``-vnc tls-creds=tls0' BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2823.): BEGIN LINE END LINE: (paragraph) : contents(5) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2824.): @subsection -tftp (since 2.6.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2825.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2826.): The ``-tftp /some/dir'' argument is replaced by either BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2827.): ``-netdev user,id=x,tftp=/some/dir '' (for pluggable NICs, accompanied BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2828.): with ``-device ...,netdev=x''), or ``-nic user,tftp=/some/dir'' BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2829.): (for embedded NICs). The new syntax allows different settings to be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2830.): provided per NIC. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2831.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2832.): @subsection -bootp (since 2.6.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2833.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2834.): The ``-bootp /some/file'' argument is replaced by either BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2835.): ``-netdev user,id=x,bootp=/some/file '' (for pluggable NICs, accompanied BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2836.): with ``-device ...,netdev=x''), or ``-nic user,bootp=/some/file'' BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2837.): (for embedded NICs). The new syntax allows different settings to be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2838.): provided per NIC. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2839.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2840.): @subsection -redir (since 2.6.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2841.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2842.): The ``-redir [tcp|udp]:hostport:[guestaddr]:guestport'' argument is BEGIN LINE PARAGRAPH SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2843.): replaced by either BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2844.): ``-netdev user,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport'' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2845.): (for pluggable NICs, accompanied with ``-device ...,netdev=x'') or BEGIN LINE SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2846.): ``-nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport'' BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: : SEPARATOR: : END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2847.): (for embedded NICs). The new syntax allows different settings to be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::2848.): provided per NIC. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(7) <- @subsection NEW LINE(_root::2849.): BEGIN LINE END LINE: (paragraph) : contents(8) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2850.): @subsection -smb (since 2.6.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2851.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2852.): The ``-smb /some/dir'' argument is replaced by either BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2853.): ``-netdev user,id=x,smb=/some/dir '' (for pluggable NICs, accompanied BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2854.): with ``-device ...,netdev=x''), or ``-nic user,smb=/some/dir'' BEGIN LINE SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: , SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2855.): (for embedded NICs). The new syntax allows different settings to be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2856.): provided per NIC. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2857.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2858.): @subsection -net vlan (since 2.9.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2859.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2860.): The ``-net vlan=NN'' argument was mostly used to attach separate BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2861.): network backends to different virtual NICs. This is the default BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2862.): behavior for ``-netdev'' and ``-nic''. You can connect multiple BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2863.): ``-netdev'' and ``-nic'' devices to the same network using the BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2864.): "hubport" network backend, created with ``-netdev hubport,hubid=NN,...'' BEGIN LINE SEPARATOR: , SEPARATOR: , SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2865.): and ``-nic hubport,hubid=NN''. BEGIN LINE SEPARATOR: , SEPARATOR: . END LINE: (paragraph) : contents(6) <- @subsection NEW LINE(_root::2866.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2867.): @subsection -drive cyls=...,heads=...,secs=...,trans=... (since 2.10.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2868.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2869.): The drive geometry arguments are replaced by the the geometry arguments BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2870.): that can be specified with the ``-device'' parameter. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2871.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2872.): @subsection -drive serial=... (since 2.10.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2873.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2874.): The drive serial argument is replaced by the the serial argument BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2875.): that can be specified with the ``-device'' parameter. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2876.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2877.): @subsection -drive addr=... (since 2.10.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2878.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2879.): The drive addr argument is replaced by the the addr argument BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2880.): that can be specified with the ``-device'' parameter. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2881.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2882.): @subsection -usbdevice (since 2.10.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2883.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2884.): The ``-usbdevice DEV'' argument is now a synonym for setting BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2885.): the ``-device usb-DEV'' argument instead. The deprecated syntax BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2886.): would automatically enable USB support on the machine type. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2887.): If using the new syntax, USB support must be explicitly BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2888.): enabled via the ``-machine usb=on'' argument. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2889.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2890.): @subsection -nodefconfig (since 2.11.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2891.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2892.): The ``-nodefconfig`` argument is a synonym for ``-no-user-config``. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2893.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2894.): @subsection -balloon (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2895.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2896.): The @option{--balloon virtio} argument has been superseded by BEGIN LINE PARAGRAPH COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2897.): @option{--device virtio-balloon}. BEGIN LINE COMMAND option SEPARATOR: { OPENED @option, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @option SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2898.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2899.): @subsection -machine s390-squash-mcss=on|off (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2900.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2901.): The ``s390-squash-mcss=on`` property has been obsoleted by allowing the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2902.): cssid to be chosen freely. Instead of squashing subchannels into the BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2903.): default channel subsystem image for guests that do not support multiple BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2904.): channel subsystems, all devices can be put into the default channel BEGIN LINE SEPARATOR: , END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2905.): subsystem image. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2906.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2907.): @subsection -fsdev handle (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2908.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2909.): The ``handle'' fsdev backend does not support symlinks and causes the 9p BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2910.): filesystem in the guest to fail a fair amount of tests from the PJD POSIX BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2911.): filesystem test suite. Also it requires the CAP_DAC_READ_SEARCH capability, BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2912.): which is not the recommended way to run QEMU. This backend should not be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2913.): used and it will be removed with no replacement. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2914.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2915.): @subsection -no-frame (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2916.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2917.): The @code{--no-frame} argument works with SDL 1.2 only. The other user BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2918.): interfaces never implemented this in the first place. So this will be BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(4) <- @subsection NEW LINE(_root::2919.): removed together with SDL 1.2 support. BEGIN LINE SEPARATOR: . SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2920.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2921.): @subsection -rtc-td-hack (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2922.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2923.): The @code{-rtc-td-hack} option has been replaced by BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2924.): @code{-rtc driftfix=slew}. BEGIN LINE COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2925.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2926.): @subsection -localtime (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2927.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2928.): The @code{-localtime} option has been replaced by @code{-rtc base=localtime}. BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2929.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2930.): @subsection -startdate (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2931.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2932.): The @code{-startdate} option has been replaced by @code{-rtc address@hidden BEGIN LINE PARAGRAPH COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @code COMMAND code SEPARATOR: { OPENED @code, remaining: type: brace_command_arg COMMAND var SEPARATOR: { OPENED @var, remaining: type: brace_command_arg SEPARATOR: } CLOSING(brace) @var SEPARATOR: } CLOSING(brace) @code SEPARATOR: . END LINE: (paragraph) : contents(5) <- @subsection NEW LINE(_root::2933.): BEGIN LINE END LINE: (paragraph) : contents(6) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2934.): @section qemu-img command line arguments BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2935.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2936.): @subsection convert -s (since 2.0.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2937.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2938.): The ``convert -s snapshot_id_or_name'' argument is obsoleted BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2939.): by the ``convert -l snapshot_param'' argument instead. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2940.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2941.): @section QEMU Machine Protocol (QMP) commands BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2942.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2943.): @subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2944.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2945.): "autoload" parameter is now ignored. All bitmaps are automatically loaded BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2946.): from qcow2 images. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2947.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2948.): @subsection query-cpus (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2949.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2950.): The ``query-cpus'' command is replaced by the ``query-cpus-fast'' command. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2951.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2952.): @section System emulator devices BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2953.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2954.): @subsection ivshmem (since 2.6.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2955.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2956.): The ``ivshmem'' device type is replaced by either the ``ivshmem-plain'' BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2957.): or ``ivshmem-doorbell`` device types. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2958.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2959.): @subsection Page size support < 4k for embedded PowerPC CPUs (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2960.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2961.): qemu-system-ppcemb will be removed. qemu-system-ppc (or qemu-system-ppc64) BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2962.): should be used instead. That means that embedded 4xx PowerPC CPUs will not BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2963.): support page sizes < 4096 any longer. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(3) <- @subsection NEW LINE(_root::2964.): BEGIN LINE END LINE: (paragraph) : contents(4) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2965.): @section System emulator machines BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2966.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2967.): @subsection Xilinx EP108 (since 2.11.0) BEGIN LINE COMMAND subsection SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2968.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2969.): The ``xlnx-ep108'' machine has been replaced by the ``xlnx-zcu102'' machine. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2970.): The ``xlnx-zcu102'' machine has the same features and capabilites in QEMU. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2971.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2972.): @section Block device options BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::2973.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2974.): @subsection "backing": "" (since 2.12.0) BEGIN LINE COMMAND subsection SEPARATOR: : SEPARATOR: . SEPARATOR: . END LINE: (misc_line_arg) : contents(2) <- @subsection MISC END @subsection NEW LINE(_root::2975.): BEGIN LINE END LINE: @subsection : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2976.): In order to prevent QEMU from automatically opening an image's backing BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @subsection NEW LINE(_root::2977.): chain, use ``"backing": null'' instead. BEGIN LINE SEPARATOR: , SEPARATOR: : SEPARATOR: . END LINE: (paragraph) : contents(2) <- @subsection NEW LINE(_root::2978.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @subsection END EMPTY LINE CLOSE PARA NEW LINE(_root::2979.): @node License BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2980.): @appendix License BEGIN LINE COMMAND appendix END LINE: (misc_line_arg) : contents(2) <- @appendix MISC END @appendix NEW LINE(_root::2981.): BEGIN LINE END LINE: @appendix : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::2982.): QEMU is a trademark of Fabrice Bellard. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @appendix NEW LINE(_root::2983.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @appendix END EMPTY LINE CLOSE PARA NEW LINE(_root::2984.): QEMU is released under the BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @appendix NEW LINE(_root::2985.): @url{https://www.gnu.org/licenses/gpl-2.0.txt,GNU General Public License}, BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: } CLOSING(brace) @url SEPARATOR: , END LINE: (paragraph) : contents(3) <- @appendix NEW LINE(_root::2986.): version 2. Parts of QEMU have specific licenses, see file BEGIN LINE SEPARATOR: . SEPARATOR: , END LINE: (paragraph) : contents(4) <- @appendix NEW LINE(_root::2987.): @url{https://git.qemu.org/?p=qemu.git;a=blob_plain;f=LICENSE,LICENSE}. BEGIN LINE COMMAND url SEPARATOR: { OPENED @url, remaining: remaining: 2, type: brace_command_arg SEPARATOR: : SEPARATOR: . SEPARATOR: . SEPARATOR: . SEPARATOR: , SEPARATOR: } CLOSING(brace) @url SEPARATOR: . END LINE: (paragraph) : contents(6) <- @appendix NEW LINE(_root::2988.): BEGIN LINE END LINE: (paragraph) : contents(7) <- @appendix END EMPTY LINE CLOSE PARA NEW LINE(_root::2989.): @node Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::2990.): @appendix Index BEGIN LINE COMMAND appendix END LINE: (misc_line_arg) : contents(2) <- @appendix MISC END @appendix NEW LINE(_root::2991.): @menu BEGIN LINE COMMAND menu END LINE: (block_line_arg) : contents(1) <- @menu MENU_COMMENT OPEN PREFORMATTED preformatted NEW LINE(_root|menu|preformatted::2992.): * Concept Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2993.): * Function Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2994.): * Keystroke Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2995.): * Program Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2996.): * Data Type Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2997.): * Variable Index:: BEGIN LINE MENU STAR MENU ENTRY (certainly) SEPARATOR: : MENU NODE no entry :: END LINE: (preformatted) : contents(0) <- (menu_entry_description) NEW LINE(_root|menu|preformatted::2998.): @end menu BEGIN LINE COMMAND end END LINE: (misc_line_arg) : contents(2) <- @end MISC END @end END BLOCK menu END COMMAND menu CLOSE PREFORMATTED preformatted CLOSING type menu_entry_description CLOSING type menu_entry NEW LINE(_root::2999.): BEGIN LINE END LINE: @appendix : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::3000.): @node Concept Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3001.): @section Concept Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3002.): This is the main index. Should we combine all keywords in one index? TODO BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::3003.): @printindex cp BEGIN LINE COMMAND printindex CLOSE PARA END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: cp , -> 2 , t: spaces_at_end , NEW LINE(_root::3004.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::3005.): @node Function Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3006.): @section Function Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3007.): This index could be used for command line options and monitor functions. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::3008.): @printindex fn BEGIN LINE COMMAND printindex CLOSE PARA END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: fn , -> 2 , t: spaces_at_end , NEW LINE(_root::3009.): BEGIN LINE END LINE: @section : args(1) contents(3) <- (document_root) END EMPTY LINE NEW LINE(_root::3010.): @node Keystroke Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3011.): @section Keystroke Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3012.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::3013.): This is a list of all keystrokes which have a special function BEGIN LINE PARAGRAPH END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::3014.): in system emulation. BEGIN LINE SEPARATOR: . END LINE: (paragraph) : contents(2) <- @section NEW LINE(_root::3015.): BEGIN LINE END LINE: (paragraph) : contents(3) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::3016.): @printindex ky BEGIN LINE COMMAND printindex END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: ky , -> 2 , t: spaces_at_end , NEW LINE(_root::3017.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::3018.): @node Program Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3019.): @section Program Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3020.): @printindex pg BEGIN LINE COMMAND printindex END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: pg , -> 2 , t: spaces_at_end , NEW LINE(_root::3021.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::3022.): @node Data Type Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3023.): @section Data Type Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3024.): BEGIN LINE END LINE: @section : args(1) contents(1) <- (document_root) END EMPTY LINE NEW LINE(_root::3025.): This index could be used for qdev device names and options. BEGIN LINE PARAGRAPH SEPARATOR: . END LINE: (paragraph) : contents(1) <- @section NEW LINE(_root::3026.): BEGIN LINE END LINE: (paragraph) : contents(2) <- @section END EMPTY LINE CLOSE PARA NEW LINE(_root::3027.): @printindex tp BEGIN LINE COMMAND printindex END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: tp , -> 2 , t: spaces_at_end , NEW LINE(_root::3028.): BEGIN LINE END LINE: @section : args(1) contents(5) <- (document_root) END EMPTY LINE NEW LINE(_root::3029.): @node Variable Index BEGIN LINE COMMAND node END LINE: (misc_line_arg) : contents(2) <- @node MISC END @node NEW LINE(_root::3030.): @section Variable Index BEGIN LINE COMMAND section END LINE: (misc_line_arg) : contents(2) <- @section MISC END @section NEW LINE(_root::3031.): @printindex vr BEGIN LINE COMMAND printindex END LINE: (misc_line_arg) : contents(2) <- @printindex MISC END @printindex MISC ARGS @printindex -> 0 , t: empty_spaces_after_command , -> 1 , t: vr , -> 2 , t: spaces_at_end , NEW LINE(_root::3032.): BEGIN LINE END LINE: @section : args(1) contents(2) <- (document_root) END EMPTY LINE NEW LINE(_root::3033.): @bye BEGIN LINE COMMAND bye SET_global_multiple_commands(-1) paragraphindent SET_global_multiple_commands(-1) documentencoding SET_global_multiple_commands(-1) documentlanguage SET_global_multiple_commands(-1) contents Page HASH(0x4f34530) @node Top: qemu-doc.txt(1) Page HASH(0x4f346e0) @node Introduction: qemu-doc.txt(2) Page HASH(0x4f37c98) @node intro_features: qemu-doc.txt(3) Page HASH(0x4f37de8) @node QEMU PC System emulator: qemu-doc.txt(4) Page HASH(0x4f37f38) @node pcsys_introduction: qemu-doc.txt(5) Page HASH(0x4f38088) @node pcsys_quickstart: qemu-doc.txt(6) Page HASH(0x4f381d8) @node sec_invocation: qemu-doc.txt(7) Page HASH(0x4f38460) @node pcsys_keys: qemu-doc.txt(8) Page HASH(0x4f385b0) @node mux_keys: qemu-doc.txt(9) Page HASH(0x4f38700) @node pcsys_monitor: qemu-doc.txt(10) Page HASH(0x4f38880) @node disk_images: qemu-doc.txt(11) Page HASH(0x4f389d0) @node disk_images_quickstart: qemu-doc.txt(12) Page HASH(0x4f38b20) @node disk_images_snapshot_mode: qemu-doc.txt(13) Page HASH(0x4f3ac88) @node vm_snapshots: qemu-doc.txt(14) Page HASH(0x4f3add8) @node qemu_img_invocation: qemu-doc.txt(15) Page HASH(0x4f3af28) @node qemu_nbd_invocation: qemu-doc.txt(16) Page HASH(0x4f3b078) @node disk_images_formats: qemu-doc.txt(17) Page HASH(0x4f3b1e0) @node host_drives: qemu-doc.txt(18) Page HASH(0x4f3b378) @node disk_images_fat_images: qemu-doc.txt(19) Page HASH(0x4f3b4c8) @node disk_images_nbd: qemu-doc.txt(20) Page HASH(0x4f3b618) @node disk_images_sheepdog: qemu-doc.txt(21) Page HASH(0x4f3b768) @node disk_images_iscsi: qemu-doc.txt(22) Page HASH(0x4f3b8b8) @node disk_images_gluster: qemu-doc.txt(23) Page HASH(0x4f3ba08) @node disk_images_ssh: qemu-doc.txt(24) Page HASH(0x4f3bb58) @node disk_images_nvme: qemu-doc.txt(25) Page HASH(0x4f3ccd0) @node disk_image_locking: qemu-doc.txt(26) Page HASH(0x4f3ce20) @node pcsys_network: qemu-doc.txt(27) Page HASH(0x4f3d000) @node pcsys_other_devs: qemu-doc.txt(28) Page HASH(0x4f3d198) @node direct_linux_boot: qemu-doc.txt(29) Page HASH(0x4f3d2e8) @node pcsys_usb: qemu-doc.txt(30) Page HASH(0x4f3d438) @node usb_devices: qemu-doc.txt(31) Page HASH(0x4f3d588) @node host_usb_devices: qemu-doc.txt(32) Page HASH(0x4f3d6d8) @node vnc_security: qemu-doc.txt(33) Page HASH(0x4f3d828) @node vnc_sec_none: qemu-doc.txt(34) Page HASH(0x4f3d978) @node vnc_sec_password: qemu-doc.txt(35) Page HASH(0x4f3dac8) @node vnc_sec_certificate: qemu-doc.txt(36) Page HASH(0x4f3dc18) @node vnc_sec_certificate_verify: qemu-doc.txt(37) Page HASH(0x4f3f700) @node vnc_sec_certificate_pw: qemu-doc.txt(38) Page HASH(0x4f3f850) @node vnc_sec_sasl: qemu-doc.txt(39) Page HASH(0x4f3f9a0) @node vnc_sec_certificate_sasl: qemu-doc.txt(40) Page HASH(0x4f3faf0) @node vnc_setup_sasl: qemu-doc.txt(41) Page HASH(0x4f3fc40) @node network_tls: qemu-doc.txt(42) Page HASH(0x4f3fd90) @node tls_generate_ca: qemu-doc.txt(43) Page HASH(0x4f3fee0) @node tls_generate_server: qemu-doc.txt(44) Page HASH(0x4f40030) @node tls_generate_client: qemu-doc.txt(45) Page HASH(0x4f40180) @node tls_creds_setup: qemu-doc.txt(46) Page HASH(0x4f402d0) @node gdb_usage: qemu-doc.txt(47) Page HASH(0x4f40420) @node pcsys_os_specific: qemu-doc.txt(48) Page HASH(0x4f41058) @node QEMU System emulator for non PC targets: qemu-doc.txt(49) Page HASH(0x4f411a8) @node PowerPC System emulator: qemu-doc.txt(50) Page HASH(0x4f412f8) @node Sparc32 System emulator: qemu-doc.txt(51) Page HASH(0x4f41448) @node Sparc64 System emulator: qemu-doc.txt(52) Page HASH(0x4f41598) @node MIPS System emulator: qemu-doc.txt(53) Page HASH(0x4f416e8) @node ARM System emulator: qemu-doc.txt(54) Page HASH(0x4f41838) @node ColdFire System emulator: qemu-doc.txt(55) Page HASH(0x4f41988) @node Cris System emulator: qemu-doc.txt(56) Page HASH(0x4f41ad8) @node Microblaze System emulator: qemu-doc.txt(57) Page HASH(0x4f41c28) @node SH4 System emulator: qemu-doc.txt(58) Page HASH(0x4f41d78) @node Xtensa System emulator: qemu-doc.txt(59) Page HASH(0x4f41ec8) @node QEMU Guest Agent: qemu-doc.txt(60) Page HASH(0x4f43bc0) @node QEMU User space emulator: qemu-doc.txt(61) Page HASH(0x4f43d10) @node Supported Operating Systems: qemu-doc.txt(62) Page HASH(0x4f43e60) @node Features: qemu-doc.txt(63) Page HASH(0x4f43fb0) @node Linux User space emulator: qemu-doc.txt(64) Page HASH(0x4f44100) @node Quick Start: qemu-doc.txt(65) Page HASH(0x4f44250) @node Wine launch: qemu-doc.txt(66) Page HASH(0x4f443a0) @node Command line options: qemu-doc.txt(67) Page HASH(0x4f444f0) @node Other binaries: qemu-doc.txt(68) Page HASH(0x4f44640) @node BSD User space emulator: qemu-doc.txt(69) Page HASH(0x4f44790) @node BSD Status: qemu-doc.txt(70) Page HASH(0x4f448e0) @node BSD Quick Start: qemu-doc.txt(71) Page HASH(0x4f44a30) @node BSD Command line options: qemu-doc.txt(72) Page HASH(0x4f45648) @node Implementation notes: qemu-doc.txt(73) Page HASH(0x4f45798) @node CPU emulation: qemu-doc.txt(74) Page HASH(0x4f458e8) @node x86: qemu-doc.txt(75) Page HASH(0x4f45a38) @node ARM: qemu-doc.txt(76) Page HASH(0x4f45b88) @node MIPS: qemu-doc.txt(77) Page HASH(0x4f45cd8) @node PPC: qemu-doc.txt(78) Page HASH(0x4f45e28) @node SPARC: qemu-doc.txt(79) Page HASH(0x4f45f78) @node Xtensa: qemu-doc.txt(80) Page HASH(0x4f460c8) @node Translator Internals: qemu-doc.txt(81) Page HASH(0x4f46218) @node QEMU compared to other emulators: qemu-doc.txt(82) Page HASH(0x4f46368) @node Bibliography: qemu-doc.txt(83) Page HASH(0x4f464b8) @node Deprecated features: qemu-doc.txt(84) Page HASH(0x4f49238) @node License: qemu-doc.txt(85) Page HASH(0x4f49388) @node Index: qemu-doc.txt(86) Page HASH(0x4f494d8) @node Concept Index: qemu-doc.txt(87) Page HASH(0x4f49628) @node Function Index: qemu-doc.txt(88) Page HASH(0x4f49778) @node Keystroke Index: qemu-doc.txt(89) Page HASH(0x4f498c8) @node Program Index: qemu-doc.txt(90) Page HASH(0x4f49a18) @node Data Type Index: qemu-doc.txt(91) Page HASH(0x4f49b68) @node Variable Index: qemu-doc.txt(92) DO Elements with filenames GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT GDT @value{_number} @value{_section_title} NEW LINE(_root::): @value{_number} @value{_section_title}BEGIN LINE COMMAND value COMMAND value EMPTY TEXT