1HXCOMM Use DEFHEADING() to define headings in both help text and texi 2HXCOMM Text between STEXI and ETEXI are copied to texi version and 3HXCOMM discarded from C version 4HXCOMM DEF(command, args, callback, arg_string, help) is used to construct 5HXCOMM monitor commands 6HXCOMM HXCOMM can be used for comments, discarded from both texi and C 7 8STEXI 9@table @option 10ETEXI 11 12 { 13 .name = "help|?", 14 .args_type = "name:S?", 15 .params = "[cmd]", 16 .help = "show the help", 17 .mhandler.cmd = do_help_cmd, 18 }, 19 20STEXI 21@item help or ? [@var{cmd}] 22@findex help 23Show the help for all commands or just for command @var{cmd}. 24ETEXI 25 26 { 27 .name = "commit", 28 .args_type = "device:B", 29 .params = "device|all", 30 .help = "commit changes to the disk images (if -snapshot is used) or backing files", 31 .mhandler.cmd = hmp_commit, 32 }, 33 34STEXI 35@item commit 36@findex commit 37Commit changes to the disk images (if -snapshot is used) or backing files. 38If the backing file is smaller than the snapshot, then the backing file will be 39resized to be the same size as the snapshot. If the snapshot is smaller than 40the backing file, the backing file will not be truncated. If you want the 41backing file to match the size of the smaller snapshot, you can safely truncate 42it yourself once the commit operation successfully completes. 43ETEXI 44 45 { 46 .name = "q|quit", 47 .args_type = "", 48 .params = "", 49 .help = "quit the emulator", 50 .mhandler.cmd = hmp_quit, 51 }, 52 53STEXI 54@item q or quit 55@findex quit 56Quit the emulator. 57ETEXI 58 59 { 60 .name = "block_resize", 61 .args_type = "device:B,size:o", 62 .params = "device size", 63 .help = "resize a block image", 64 .mhandler.cmd = hmp_block_resize, 65 }, 66 67STEXI 68@item block_resize 69@findex block_resize 70Resize a block image while a guest is running. Usually requires guest 71action to see the updated size. Resize to a lower size is supported, 72but should be used with extreme caution. Note that this command only 73resizes image files, it can not resize block devices like LVM volumes. 74ETEXI 75 76 { 77 .name = "block_stream", 78 .args_type = "device:B,speed:o?,base:s?", 79 .params = "device [speed [base]]", 80 .help = "copy data from a backing file into a block device", 81 .mhandler.cmd = hmp_block_stream, 82 }, 83 84STEXI 85@item block_stream 86@findex block_stream 87Copy data from a backing file into a block device. 88ETEXI 89 90 { 91 .name = "block_job_set_speed", 92 .args_type = "device:B,speed:o", 93 .params = "device speed", 94 .help = "set maximum speed for a background block operation", 95 .mhandler.cmd = hmp_block_job_set_speed, 96 }, 97 98STEXI 99@item block_job_set_speed 100@findex block_job_set_speed 101Set maximum speed for a background block operation. 102ETEXI 103 104 { 105 .name = "block_job_cancel", 106 .args_type = "force:-f,device:B", 107 .params = "[-f] device", 108 .help = "stop an active background block operation (use -f" 109 "\n\t\t\t if the operation is currently paused)", 110 .mhandler.cmd = hmp_block_job_cancel, 111 }, 112 113STEXI 114@item block_job_cancel 115@findex block_job_cancel 116Stop an active background block operation (streaming, mirroring). 117ETEXI 118 119 { 120 .name = "block_job_complete", 121 .args_type = "device:B", 122 .params = "device", 123 .help = "stop an active background block operation", 124 .mhandler.cmd = hmp_block_job_complete, 125 }, 126 127STEXI 128@item block_job_complete 129@findex block_job_complete 130Manually trigger completion of an active background block operation. 131For mirroring, this will switch the device to the destination path. 132ETEXI 133 134 { 135 .name = "block_job_pause", 136 .args_type = "device:B", 137 .params = "device", 138 .help = "pause an active background block operation", 139 .mhandler.cmd = hmp_block_job_pause, 140 }, 141 142STEXI 143@item block_job_pause 144@findex block_job_pause 145Pause an active block streaming operation. 146ETEXI 147 148 { 149 .name = "block_job_resume", 150 .args_type = "device:B", 151 .params = "device", 152 .help = "resume a paused background block operation", 153 .mhandler.cmd = hmp_block_job_resume, 154 }, 155 156STEXI 157@item block_job_resume 158@findex block_job_resume 159Resume a paused block streaming operation. 160ETEXI 161 162 { 163 .name = "eject", 164 .args_type = "force:-f,device:B", 165 .params = "[-f] device", 166 .help = "eject a removable medium (use -f to force it)", 167 .mhandler.cmd = hmp_eject, 168 }, 169 170STEXI 171@item eject [-f] @var{device} 172@findex eject 173Eject a removable medium (use -f to force it). 174ETEXI 175 176 { 177 .name = "drive_del", 178 .args_type = "id:B", 179 .params = "device", 180 .help = "remove host block device", 181 .mhandler.cmd = hmp_drive_del, 182 }, 183 184STEXI 185@item drive_del @var{device} 186@findex drive_del 187Remove host block device. The result is that guest generated IO is no longer 188submitted against the host device underlying the disk. Once a drive has 189been deleted, the QEMU Block layer returns -EIO which results in IO 190errors in the guest for applications that are reading/writing to the device. 191These errors are always reported to the guest, regardless of the drive's error 192actions (drive options rerror, werror). 193ETEXI 194 195 { 196 .name = "change", 197 .args_type = "device:B,target:F,arg:s?", 198 .params = "device filename [format]", 199 .help = "change a removable medium, optional format", 200 .mhandler.cmd = hmp_change, 201 }, 202 203STEXI 204@item change @var{device} @var{setting} 205@findex change 206Change the configuration of a device. 207 208@table @option 209@item change @var{diskdevice} @var{filename} [@var{format}] 210Change the medium for a removable disk device to point to @var{filename}. eg 211 212@example 213(qemu) change ide1-cd0 /path/to/some.iso 214@end example 215 216@var{format} is optional. 217 218@item change vnc @var{display},@var{options} 219Change the configuration of the VNC server. The valid syntax for @var{display} 220and @var{options} are described at @ref{sec_invocation}. eg 221 222@example 223(qemu) change vnc localhost:1 224@end example 225 226@item change vnc password [@var{password}] 227 228Change the password associated with the VNC server. If the new password is not 229supplied, the monitor will prompt for it to be entered. VNC passwords are only 230significant up to 8 letters. eg 231 232@example 233(qemu) change vnc password 234Password: ******** 235@end example 236 237@end table 238ETEXI 239 240 { 241 .name = "screendump", 242 .args_type = "filename:F", 243 .params = "filename", 244 .help = "save screen into PPM image 'filename'", 245 .mhandler.cmd = hmp_screendump, 246 }, 247 248STEXI 249@item screendump @var{filename} 250@findex screendump 251Save screen into PPM image @var{filename}. 252ETEXI 253 254 { 255 .name = "logfile", 256 .args_type = "filename:F", 257 .params = "filename", 258 .help = "output logs to 'filename'", 259 .mhandler.cmd = hmp_logfile, 260 }, 261 262STEXI 263@item logfile @var{filename} 264@findex logfile 265Output logs to @var{filename}. 266ETEXI 267 268 { 269 .name = "trace-event", 270 .args_type = "name:s,option:b", 271 .params = "name on|off", 272 .help = "changes status of a specific trace event", 273 .mhandler.cmd = hmp_trace_event, 274 }, 275 276STEXI 277@item trace-event 278@findex trace-event 279changes status of a trace event 280ETEXI 281 282#if defined(CONFIG_TRACE_SIMPLE) 283 { 284 .name = "trace-file", 285 .args_type = "op:s?,arg:F?", 286 .params = "on|off|flush|set [arg]", 287 .help = "open, close, or flush trace file, or set a new file name", 288 .mhandler.cmd = hmp_trace_file, 289 }, 290 291STEXI 292@item trace-file on|off|flush 293@findex trace-file 294Open, close, or flush the trace file. If no argument is given, the status of the trace file is displayed. 295ETEXI 296#endif 297 298 { 299 .name = "log", 300 .args_type = "items:s", 301 .params = "item1[,...]", 302 .help = "activate logging of the specified items", 303 .mhandler.cmd = hmp_log, 304 }, 305 306STEXI 307@item log @var{item1}[,...] 308@findex log 309Activate logging of the specified items. 310ETEXI 311 312 { 313 .name = "savevm", 314 .args_type = "name:s?", 315 .params = "[tag|id]", 316 .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created", 317 .mhandler.cmd = hmp_savevm, 318 }, 319 320STEXI 321@item savevm [@var{tag}|@var{id}] 322@findex savevm 323Create a snapshot of the whole virtual machine. If @var{tag} is 324provided, it is used as human readable identifier. If there is already 325a snapshot with the same tag or ID, it is replaced. More info at 326@ref{vm_snapshots}. 327ETEXI 328 329 { 330 .name = "loadvm", 331 .args_type = "name:s", 332 .params = "tag|id", 333 .help = "restore a VM snapshot from its tag or id", 334 .mhandler.cmd = hmp_loadvm, 335 .command_completion = loadvm_completion, 336 }, 337 338STEXI 339@item loadvm @var{tag}|@var{id} 340@findex loadvm 341Set the whole virtual machine to the snapshot identified by the tag 342@var{tag} or the unique snapshot ID @var{id}. 343ETEXI 344 345 { 346 .name = "delvm", 347 .args_type = "name:s", 348 .params = "tag|id", 349 .help = "delete a VM snapshot from its tag or id", 350 .mhandler.cmd = hmp_delvm, 351 .command_completion = delvm_completion, 352 }, 353 354STEXI 355@item delvm @var{tag}|@var{id} 356@findex delvm 357Delete the snapshot identified by @var{tag} or @var{id}. 358ETEXI 359 360 { 361 .name = "singlestep", 362 .args_type = "option:s?", 363 .params = "[on|off]", 364 .help = "run emulation in singlestep mode or switch to normal mode", 365 .mhandler.cmd = hmp_singlestep, 366 }, 367 368STEXI 369@item singlestep [off] 370@findex singlestep 371Run the emulation in single step mode. 372If called with option off, the emulation returns to normal mode. 373ETEXI 374 375 { 376 .name = "stop", 377 .args_type = "", 378 .params = "", 379 .help = "stop emulation", 380 .mhandler.cmd = hmp_stop, 381 }, 382 383STEXI 384@item stop 385@findex stop 386Stop emulation. 387ETEXI 388 389 { 390 .name = "c|cont", 391 .args_type = "", 392 .params = "", 393 .help = "resume emulation", 394 .mhandler.cmd = hmp_cont, 395 }, 396 397STEXI 398@item c or cont 399@findex cont 400Resume emulation. 401ETEXI 402 403 { 404 .name = "system_wakeup", 405 .args_type = "", 406 .params = "", 407 .help = "wakeup guest from suspend", 408 .mhandler.cmd = hmp_system_wakeup, 409 }, 410 411STEXI 412@item system_wakeup 413@findex system_wakeup 414Wakeup guest from suspend. 415ETEXI 416 417 { 418 .name = "gdbserver", 419 .args_type = "device:s?", 420 .params = "[device]", 421 .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", 422 .mhandler.cmd = hmp_gdbserver, 423 }, 424 425STEXI 426@item gdbserver [@var{port}] 427@findex gdbserver 428Start gdbserver session (default @var{port}=1234) 429ETEXI 430 431 { 432 .name = "x", 433 .args_type = "fmt:/,addr:l", 434 .params = "/fmt addr", 435 .help = "virtual memory dump starting at 'addr'", 436 .mhandler.cmd = hmp_memory_dump, 437 }, 438 439STEXI 440@item x/fmt @var{addr} 441@findex x 442Virtual memory dump starting at @var{addr}. 443ETEXI 444 445 { 446 .name = "xp", 447 .args_type = "fmt:/,addr:l", 448 .params = "/fmt addr", 449 .help = "physical memory dump starting at 'addr'", 450 .mhandler.cmd = hmp_physical_memory_dump, 451 }, 452 453STEXI 454@item xp /@var{fmt} @var{addr} 455@findex xp 456Physical memory dump starting at @var{addr}. 457 458@var{fmt} is a format which tells the command how to format the 459data. Its syntax is: @option{/@{count@}@{format@}@{size@}} 460 461@table @var 462@item count 463is the number of items to be dumped. 464 465@item format 466can be x (hex), d (signed decimal), u (unsigned decimal), o (octal), 467c (char) or i (asm instruction). 468 469@item size 470can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, 471@code{h} or @code{w} can be specified with the @code{i} format to 472respectively select 16 or 32 bit code instruction size. 473 474@end table 475 476Examples: 477@itemize 478@item 479Dump 10 instructions at the current instruction pointer: 480@example 481(qemu) x/10i $eip 4820x90107063: ret 4830x90107064: sti 4840x90107065: lea 0x0(%esi,1),%esi 4850x90107069: lea 0x0(%edi,1),%edi 4860x90107070: ret 4870x90107071: jmp 0x90107080 4880x90107073: nop 4890x90107074: nop 4900x90107075: nop 4910x90107076: nop 492@end example 493 494@item 495Dump 80 16 bit values at the start of the video memory. 496@smallexample 497(qemu) xp/80hx 0xb8000 4980x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42 4990x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41 5000x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b72 5010x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b73 5020x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b20 5030x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x0720 5040x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5050x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5060x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 5070x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 508@end smallexample 509@end itemize 510ETEXI 511 512 { 513 .name = "p|print", 514 .args_type = "fmt:/,val:l", 515 .params = "/fmt expr", 516 .help = "print expression value (use $reg for CPU register access)", 517 .mhandler.cmd = do_print, 518 }, 519 520STEXI 521@item p or print/@var{fmt} @var{expr} 522@findex print 523Print expression value. Only the @var{format} part of @var{fmt} is 524used. 525ETEXI 526 527 { 528 .name = "i", 529 .args_type = "fmt:/,addr:i,index:i.", 530 .params = "/fmt addr", 531 .help = "I/O port read", 532 .mhandler.cmd = hmp_ioport_read, 533 }, 534 535STEXI 536@item i/@var{fmt} @var{addr} [.@var{index}] 537@findex i 538Read I/O port. 539ETEXI 540 541 { 542 .name = "o", 543 .args_type = "fmt:/,addr:i,val:i", 544 .params = "/fmt addr value", 545 .help = "I/O port write", 546 .mhandler.cmd = hmp_ioport_write, 547 }, 548 549STEXI 550@item o/@var{fmt} @var{addr} @var{val} 551@findex o 552Write to I/O port. 553ETEXI 554 555 { 556 .name = "sendkey", 557 .args_type = "keys:s,hold-time:i?", 558 .params = "keys [hold_ms]", 559 .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)", 560 .mhandler.cmd = hmp_sendkey, 561 .command_completion = sendkey_completion, 562 }, 563 564STEXI 565@item sendkey @var{keys} 566@findex sendkey 567Send @var{keys} to the guest. @var{keys} could be the name of the 568key or the raw value in hexadecimal format. Use @code{-} to press 569several keys simultaneously. Example: 570@example 571sendkey ctrl-alt-f1 572@end example 573 574This command is useful to send keys that your graphical user interface 575intercepts at low level, such as @code{ctrl-alt-f1} in X Window. 576ETEXI 577 578 { 579 .name = "system_reset", 580 .args_type = "", 581 .params = "", 582 .help = "reset the system", 583 .mhandler.cmd = hmp_system_reset, 584 }, 585 586STEXI 587@item system_reset 588@findex system_reset 589Reset the system. 590ETEXI 591 592 { 593 .name = "system_powerdown", 594 .args_type = "", 595 .params = "", 596 .help = "send system power down event", 597 .mhandler.cmd = hmp_system_powerdown, 598 }, 599 600STEXI 601@item system_powerdown 602@findex system_powerdown 603Power down the system (if supported). 604ETEXI 605 606 { 607 .name = "sum", 608 .args_type = "start:i,size:i", 609 .params = "addr size", 610 .help = "compute the checksum of a memory region", 611 .mhandler.cmd = hmp_sum, 612 }, 613 614STEXI 615@item sum @var{addr} @var{size} 616@findex sum 617Compute the checksum of a memory region. 618ETEXI 619 620 { 621 .name = "usb_add", 622 .args_type = "devname:s", 623 .params = "device", 624 .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')", 625 .mhandler.cmd = hmp_usb_add, 626 }, 627 628STEXI 629@item usb_add @var{devname} 630@findex usb_add 631Add the USB device @var{devname}. For details of available devices see 632@ref{usb_devices} 633ETEXI 634 635 { 636 .name = "usb_del", 637 .args_type = "devname:s", 638 .params = "device", 639 .help = "remove USB device 'bus.addr'", 640 .mhandler.cmd = hmp_usb_del, 641 }, 642 643STEXI 644@item usb_del @var{devname} 645@findex usb_del 646Remove the USB device @var{devname} from the QEMU virtual USB 647hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor 648command @code{info usb} to see the devices you can remove. 649ETEXI 650 651 { 652 .name = "device_add", 653 .args_type = "device:O", 654 .params = "driver[,prop=value][,...]", 655 .help = "add device, like -device on the command line", 656 .mhandler.cmd = hmp_device_add, 657 .command_completion = device_add_completion, 658 }, 659 660STEXI 661@item device_add @var{config} 662@findex device_add 663Add device. 664ETEXI 665 666 { 667 .name = "device_del", 668 .args_type = "id:s", 669 .params = "device", 670 .help = "remove device", 671 .mhandler.cmd = hmp_device_del, 672 .command_completion = device_del_completion, 673 }, 674 675STEXI 676@item device_del @var{id} 677@findex device_del 678Remove device @var{id}. 679ETEXI 680 681 { 682 .name = "cpu", 683 .args_type = "index:i", 684 .params = "index", 685 .help = "set the default CPU", 686 .mhandler.cmd = hmp_cpu, 687 }, 688 689STEXI 690@item cpu @var{index} 691@findex cpu 692Set the default CPU. 693ETEXI 694 695 { 696 .name = "mouse_move", 697 .args_type = "dx_str:s,dy_str:s,dz_str:s?", 698 .params = "dx dy [dz]", 699 .help = "send mouse move events", 700 .mhandler.cmd = hmp_mouse_move, 701 }, 702 703STEXI 704@item mouse_move @var{dx} @var{dy} [@var{dz}] 705@findex mouse_move 706Move the active mouse to the specified coordinates @var{dx} @var{dy} 707with optional scroll axis @var{dz}. 708ETEXI 709 710 { 711 .name = "mouse_button", 712 .args_type = "button_state:i", 713 .params = "state", 714 .help = "change mouse button state (1=L, 2=M, 4=R)", 715 .mhandler.cmd = hmp_mouse_button, 716 }, 717 718STEXI 719@item mouse_button @var{val} 720@findex mouse_button 721Change the active mouse button state @var{val} (1=L, 2=M, 4=R). 722ETEXI 723 724 { 725 .name = "mouse_set", 726 .args_type = "index:i", 727 .params = "index", 728 .help = "set which mouse device receives events", 729 .mhandler.cmd = hmp_mouse_set, 730 }, 731 732STEXI 733@item mouse_set @var{index} 734@findex mouse_set 735Set which mouse device receives events at given @var{index}, index 736can be obtained with 737@example 738info mice 739@end example 740ETEXI 741 742 { 743 .name = "wavcapture", 744 .args_type = "path:F,freq:i?,bits:i?,nchannels:i?", 745 .params = "path [frequency [bits [channels]]]", 746 .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)", 747 .mhandler.cmd = hmp_wavcapture, 748 }, 749STEXI 750@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]] 751@findex wavcapture 752Capture audio into @var{filename}. Using sample rate @var{frequency} 753bits per sample @var{bits} and number of channels @var{channels}. 754 755Defaults: 756@itemize @minus 757@item Sample rate = 44100 Hz - CD quality 758@item Bits = 16 759@item Number of channels = 2 - Stereo 760@end itemize 761ETEXI 762 763 { 764 .name = "stopcapture", 765 .args_type = "n:i", 766 .params = "capture index", 767 .help = "stop capture", 768 .mhandler.cmd = hmp_stopcapture, 769 }, 770STEXI 771@item stopcapture @var{index} 772@findex stopcapture 773Stop capture with a given @var{index}, index can be obtained with 774@example 775info capture 776@end example 777ETEXI 778 779 { 780 .name = "memsave", 781 .args_type = "val:l,size:i,filename:s", 782 .params = "addr size file", 783 .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", 784 .mhandler.cmd = hmp_memsave, 785 }, 786 787STEXI 788@item memsave @var{addr} @var{size} @var{file} 789@findex memsave 790save to disk virtual memory dump starting at @var{addr} of size @var{size}. 791ETEXI 792 793 { 794 .name = "pmemsave", 795 .args_type = "val:l,size:i,filename:s", 796 .params = "addr size file", 797 .help = "save to disk physical memory dump starting at 'addr' of size 'size'", 798 .mhandler.cmd = hmp_pmemsave, 799 }, 800 801STEXI 802@item pmemsave @var{addr} @var{size} @var{file} 803@findex pmemsave 804save to disk physical memory dump starting at @var{addr} of size @var{size}. 805ETEXI 806 807 { 808 .name = "boot_set", 809 .args_type = "bootdevice:s", 810 .params = "bootdevice", 811 .help = "define new values for the boot device list", 812 .mhandler.cmd = hmp_boot_set, 813 }, 814 815STEXI 816@item boot_set @var{bootdevicelist} 817@findex boot_set 818Define new values for the boot device list. Those values will override 819the values specified on the command line through the @code{-boot} option. 820 821The values that can be specified here depend on the machine type, but are 822the same that can be specified in the @code{-boot} command line option. 823ETEXI 824 825 { 826 .name = "nmi", 827 .args_type = "", 828 .params = "", 829 .help = "inject an NMI", 830 .mhandler.cmd = hmp_nmi, 831 }, 832STEXI 833@item nmi @var{cpu} 834@findex nmi 835Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64). 836 837ETEXI 838 839 { 840 .name = "ringbuf_write", 841 .args_type = "device:s,data:s", 842 .params = "device data", 843 .help = "Write to a ring buffer character device", 844 .mhandler.cmd = hmp_ringbuf_write, 845 .command_completion = ringbuf_write_completion, 846 }, 847 848STEXI 849@item ringbuf_write @var{device} @var{data} 850@findex ringbuf_write 851Write @var{data} to ring buffer character device @var{device}. 852@var{data} must be a UTF-8 string. 853 854ETEXI 855 856 { 857 .name = "ringbuf_read", 858 .args_type = "device:s,size:i", 859 .params = "device size", 860 .help = "Read from a ring buffer character device", 861 .mhandler.cmd = hmp_ringbuf_read, 862 .command_completion = ringbuf_write_completion, 863 }, 864 865STEXI 866@item ringbuf_read @var{device} 867@findex ringbuf_read 868Read and print up to @var{size} bytes from ring buffer character 869device @var{device}. 870Certain non-printable characters are printed \uXXXX, where XXXX is the 871character code in hexadecimal. Character \ is printed \\. 872Bug: can screw up when the buffer contains invalid UTF-8 sequences, 873NUL characters, after the ring buffer lost data, and when reading 874stops because the size limit is reached. 875 876ETEXI 877 878 { 879 .name = "migrate", 880 .args_type = "detach:-d,blk:-b,inc:-i,uri:s", 881 .params = "[-d] [-b] [-i] uri", 882 .help = "migrate to URI (using -d to not wait for completion)" 883 "\n\t\t\t -b for migration without shared storage with" 884 " full copy of disk\n\t\t\t -i for migration without " 885 "shared storage with incremental copy of disk " 886 "(base image shared between src and destination)", 887 .mhandler.cmd = hmp_migrate, 888 }, 889 890 891STEXI 892@item migrate [-d] [-b] [-i] @var{uri} 893@findex migrate 894Migrate to @var{uri} (using -d to not wait for completion). 895 -b for migration with full copy of disk 896 -i for migration with incremental copy of disk (base image is shared) 897ETEXI 898 899 { 900 .name = "migrate_cancel", 901 .args_type = "", 902 .params = "", 903 .help = "cancel the current VM migration", 904 .mhandler.cmd = hmp_migrate_cancel, 905 }, 906 907STEXI 908@item migrate_cancel 909@findex migrate_cancel 910Cancel the current VM migration. 911 912ETEXI 913 914 { 915 .name = "migrate_incoming", 916 .args_type = "uri:s", 917 .params = "uri", 918 .help = "Continue an incoming migration from an -incoming defer", 919 .mhandler.cmd = hmp_migrate_incoming, 920 }, 921 922STEXI 923@item migrate_incoming @var{uri} 924@findex migrate_incoming 925Continue an incoming migration using the @var{uri} (that has the same syntax 926as the -incoming option). 927 928ETEXI 929 930 { 931 .name = "migrate_set_cache_size", 932 .args_type = "value:o", 933 .params = "value", 934 .help = "set cache size (in bytes) for XBZRLE migrations," 935 "the cache size will be rounded down to the nearest " 936 "power of 2.\n" 937 "The cache size affects the number of cache misses." 938 "In case of a high cache miss ratio you need to increase" 939 " the cache size", 940 .mhandler.cmd = hmp_migrate_set_cache_size, 941 }, 942 943STEXI 944@item migrate_set_cache_size @var{value} 945@findex migrate_set_cache_size 946Set cache size to @var{value} (in bytes) for xbzrle migrations. 947ETEXI 948 949 { 950 .name = "migrate_set_speed", 951 .args_type = "value:o", 952 .params = "value", 953 .help = "set maximum speed (in bytes) for migrations. " 954 "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T", 955 .mhandler.cmd = hmp_migrate_set_speed, 956 }, 957 958STEXI 959@item migrate_set_speed @var{value} 960@findex migrate_set_speed 961Set maximum speed to @var{value} (in bytes) for migrations. 962ETEXI 963 964 { 965 .name = "migrate_set_downtime", 966 .args_type = "value:T", 967 .params = "value", 968 .help = "set maximum tolerated downtime (in seconds) for migrations", 969 .mhandler.cmd = hmp_migrate_set_downtime, 970 }, 971 972STEXI 973@item migrate_set_downtime @var{second} 974@findex migrate_set_downtime 975Set maximum tolerated downtime (in seconds) for migration. 976ETEXI 977 978 { 979 .name = "migrate_set_capability", 980 .args_type = "capability:s,state:b", 981 .params = "capability state", 982 .help = "Enable/Disable the usage of a capability for migration", 983 .mhandler.cmd = hmp_migrate_set_capability, 984 .command_completion = migrate_set_capability_completion, 985 }, 986 987STEXI 988@item migrate_set_capability @var{capability} @var{state} 989@findex migrate_set_capability 990Enable/Disable the usage of a capability @var{capability} for migration. 991ETEXI 992 993 { 994 .name = "migrate_set_parameter", 995 .args_type = "parameter:s,value:i", 996 .params = "parameter value", 997 .help = "Set the parameter for migration", 998 .mhandler.cmd = hmp_migrate_set_parameter, 999 .command_completion = migrate_set_parameter_completion, 1000 }, 1001 1002STEXI 1003@item migrate_set_parameter @var{parameter} @var{value} 1004@findex migrate_set_parameter 1005Set the parameter @var{parameter} for migration. 1006ETEXI 1007 1008 { 1009 .name = "client_migrate_info", 1010 .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", 1011 .params = "protocol hostname port tls-port cert-subject", 1012 .help = "set migration information for remote display", 1013 .mhandler.cmd = hmp_client_migrate_info, 1014 }, 1015 1016STEXI 1017@item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} 1018@findex client_migrate_info 1019Set migration information for remote display. This makes the server 1020ask the client to automatically reconnect using the new parameters 1021once migration finished successfully. Only implemented for SPICE. 1022ETEXI 1023 1024 { 1025 .name = "dump-guest-memory", 1026 .args_type = "paging:-p,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", 1027 .params = "[-p] [-z|-l|-s] filename [begin length]", 1028 .help = "dump guest memory into file 'filename'.\n\t\t\t" 1029 "-p: do paging to get guest's memory mapping.\n\t\t\t" 1030 "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t" 1031 "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t" 1032 "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t" 1033 "begin: the starting physical address.\n\t\t\t" 1034 "length: the memory size, in bytes.", 1035 .mhandler.cmd = hmp_dump_guest_memory, 1036 }, 1037 1038 1039STEXI 1040@item dump-guest-memory [-p] @var{filename} @var{begin} @var{length} 1041@item dump-guest-memory [-z|-l|-s] @var{filename} 1042@findex dump-guest-memory 1043Dump guest memory to @var{protocol}. The file can be processed with crash or 1044gdb. Without -z|-l|-s, the dump format is ELF. 1045 -p: do paging to get guest's memory mapping. 1046 -z: dump in kdump-compressed format, with zlib compression. 1047 -l: dump in kdump-compressed format, with lzo compression. 1048 -s: dump in kdump-compressed format, with snappy compression. 1049 filename: dump file name. 1050 begin: the starting physical address. It's optional, and should be 1051 specified together with length. 1052 length: the memory size, in bytes. It's optional, and should be specified 1053 together with begin. 1054ETEXI 1055 1056 { 1057 .name = "snapshot_blkdev", 1058 .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", 1059 .params = "[-n] device [new-image-file] [format]", 1060 .help = "initiates a live snapshot\n\t\t\t" 1061 "of device. If a new image file is specified, the\n\t\t\t" 1062 "new image file will become the new root image.\n\t\t\t" 1063 "If format is specified, the snapshot file will\n\t\t\t" 1064 "be created in that format.\n\t\t\t" 1065 "The default format is qcow2. The -n flag requests QEMU\n\t\t\t" 1066 "to reuse the image found in new-image-file, instead of\n\t\t\t" 1067 "recreating it from scratch.", 1068 .mhandler.cmd = hmp_snapshot_blkdev, 1069 }, 1070 1071STEXI 1072@item snapshot_blkdev 1073@findex snapshot_blkdev 1074Snapshot device, using snapshot file as target if provided 1075ETEXI 1076 1077 { 1078 .name = "snapshot_blkdev_internal", 1079 .args_type = "device:B,name:s", 1080 .params = "device name", 1081 .help = "take an internal snapshot of device.\n\t\t\t" 1082 "The format of the image used by device must\n\t\t\t" 1083 "support it, such as qcow2.\n\t\t\t", 1084 .mhandler.cmd = hmp_snapshot_blkdev_internal, 1085 }, 1086 1087STEXI 1088@item snapshot_blkdev_internal 1089@findex snapshot_blkdev_internal 1090Take an internal snapshot on device if it support 1091ETEXI 1092 1093 { 1094 .name = "snapshot_delete_blkdev_internal", 1095 .args_type = "device:B,name:s,id:s?", 1096 .params = "device name [id]", 1097 .help = "delete an internal snapshot of device.\n\t\t\t" 1098 "If id is specified, qemu will try delete\n\t\t\t" 1099 "the snapshot matching both id and name.\n\t\t\t" 1100 "The format of the image used by device must\n\t\t\t" 1101 "support it, such as qcow2.\n\t\t\t", 1102 .mhandler.cmd = hmp_snapshot_delete_blkdev_internal, 1103 }, 1104 1105STEXI 1106@item snapshot_delete_blkdev_internal 1107@findex snapshot_delete_blkdev_internal 1108Delete an internal snapshot on device if it support 1109ETEXI 1110 1111 { 1112 .name = "drive_mirror", 1113 .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1114 .params = "[-n] [-f] device target [format]", 1115 .help = "initiates live storage\n\t\t\t" 1116 "migration for a device. The device's contents are\n\t\t\t" 1117 "copied to the new image file, including data that\n\t\t\t" 1118 "is written after the command is started.\n\t\t\t" 1119 "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1120 "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1121 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1122 "so that the result does not need a backing file.\n\t\t\t", 1123 .mhandler.cmd = hmp_drive_mirror, 1124 }, 1125STEXI 1126@item drive_mirror 1127@findex drive_mirror 1128Start mirroring a block device's writes to a new destination, 1129using the specified target. 1130ETEXI 1131 1132 { 1133 .name = "drive_backup", 1134 .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1135 .params = "[-n] [-f] device target [format]", 1136 .help = "initiates a point-in-time\n\t\t\t" 1137 "copy for a device. The device's contents are\n\t\t\t" 1138 "copied to the new image file, excluding data that\n\t\t\t" 1139 "is written after the command is started.\n\t\t\t" 1140 "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1141 "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1142 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1143 "so that the result does not need a backing file.\n\t\t\t", 1144 .mhandler.cmd = hmp_drive_backup, 1145 }, 1146STEXI 1147@item drive_backup 1148@findex drive_backup 1149Start a point-in-time copy of a block device to a specificed target. 1150ETEXI 1151 1152 { 1153 .name = "drive_add", 1154 .args_type = "pci_addr:s,opts:s", 1155 .params = "[[<domain>:]<bus>:]<slot>\n" 1156 "[file=file][,if=type][,bus=n]\n" 1157 "[,unit=m][,media=d][,index=i]\n" 1158 "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 1159 "[,snapshot=on|off][,cache=on|off]\n" 1160 "[,readonly=on|off][,copy-on-read=on|off]", 1161 .help = "add drive to PCI storage controller", 1162 .mhandler.cmd = hmp_drive_add, 1163 }, 1164 1165STEXI 1166@item drive_add 1167@findex drive_add 1168Add drive to PCI storage controller. 1169ETEXI 1170 1171 { 1172 .name = "pcie_aer_inject_error", 1173 .args_type = "advisory_non_fatal:-a,correctable:-c," 1174 "id:s,error_status:s," 1175 "header0:i?,header1:i?,header2:i?,header3:i?," 1176 "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 1177 .params = "[-a] [-c] id " 1178 "<error_status> [<tlp header> [<tlp header prefix>]]", 1179 .help = "inject pcie aer error\n\t\t\t" 1180 " -a for advisory non fatal error\n\t\t\t" 1181 " -c for correctable error\n\t\t\t" 1182 "<id> = qdev device id\n\t\t\t" 1183 "<error_status> = error string or 32bit\n\t\t\t" 1184 "<tlb header> = 32bit x 4\n\t\t\t" 1185 "<tlb header prefix> = 32bit x 4", 1186 .mhandler.cmd = hmp_pcie_aer_inject_error, 1187 }, 1188 1189STEXI 1190@item pcie_aer_inject_error 1191@findex pcie_aer_inject_error 1192Inject PCIe AER error 1193ETEXI 1194 1195 { 1196 .name = "host_net_add", 1197 .args_type = "device:s,opts:s?", 1198 .params = "tap|user|socket|vde|netmap|bridge|vhost-user|dump [options]", 1199 .help = "add host VLAN client", 1200 .mhandler.cmd = hmp_host_net_add, 1201 .command_completion = host_net_add_completion, 1202 }, 1203 1204STEXI 1205@item host_net_add 1206@findex host_net_add 1207Add host VLAN client. 1208ETEXI 1209 1210 { 1211 .name = "host_net_remove", 1212 .args_type = "vlan_id:i,device:s", 1213 .params = "vlan_id name", 1214 .help = "remove host VLAN client", 1215 .mhandler.cmd = hmp_host_net_remove, 1216 .command_completion = host_net_remove_completion, 1217 }, 1218 1219STEXI 1220@item host_net_remove 1221@findex host_net_remove 1222Remove host VLAN client. 1223ETEXI 1224 1225 { 1226 .name = "netdev_add", 1227 .args_type = "netdev:O", 1228 .params = "[user|tap|socket|vde|bridge|hubport|netmap|vhost-user],id=str[,prop=value][,...]", 1229 .help = "add host network device", 1230 .mhandler.cmd = hmp_netdev_add, 1231 .command_completion = netdev_add_completion, 1232 }, 1233 1234STEXI 1235@item netdev_add 1236@findex netdev_add 1237Add host network device. 1238ETEXI 1239 1240 { 1241 .name = "netdev_del", 1242 .args_type = "id:s", 1243 .params = "id", 1244 .help = "remove host network device", 1245 .mhandler.cmd = hmp_netdev_del, 1246 .command_completion = netdev_del_completion, 1247 }, 1248 1249STEXI 1250@item netdev_del 1251@findex netdev_del 1252Remove host network device. 1253ETEXI 1254 1255 { 1256 .name = "object_add", 1257 .args_type = "object:O", 1258 .params = "[qom-type=]type,id=str[,prop=value][,...]", 1259 .help = "create QOM object", 1260 .mhandler.cmd = hmp_object_add, 1261 .command_completion = object_add_completion, 1262 }, 1263 1264STEXI 1265@item object_add 1266@findex object_add 1267Create QOM object. 1268ETEXI 1269 1270 { 1271 .name = "object_del", 1272 .args_type = "id:s", 1273 .params = "id", 1274 .help = "destroy QOM object", 1275 .mhandler.cmd = hmp_object_del, 1276 .command_completion = object_del_completion, 1277 }, 1278 1279STEXI 1280@item object_del 1281@findex object_del 1282Destroy QOM object. 1283ETEXI 1284 1285#ifdef CONFIG_SLIRP 1286 { 1287 .name = "hostfwd_add", 1288 .args_type = "arg1:s,arg2:s?,arg3:s?", 1289 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 1290 .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 1291 .mhandler.cmd = hmp_hostfwd_add, 1292 }, 1293#endif 1294STEXI 1295@item hostfwd_add 1296@findex hostfwd_add 1297Redirect TCP or UDP connections from host to guest (requires -net user). 1298ETEXI 1299 1300#ifdef CONFIG_SLIRP 1301 { 1302 .name = "hostfwd_remove", 1303 .args_type = "arg1:s,arg2:s?,arg3:s?", 1304 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", 1305 .help = "remove host-to-guest TCP or UDP redirection", 1306 .mhandler.cmd = hmp_hostfwd_remove, 1307 }, 1308 1309#endif 1310STEXI 1311@item hostfwd_remove 1312@findex hostfwd_remove 1313Remove host-to-guest TCP or UDP redirection. 1314ETEXI 1315 1316 { 1317 .name = "balloon", 1318 .args_type = "value:M", 1319 .params = "target", 1320 .help = "request VM to change its memory allocation (in MB)", 1321 .mhandler.cmd = hmp_balloon, 1322 }, 1323 1324STEXI 1325@item balloon @var{value} 1326@findex balloon 1327Request VM to change its memory allocation to @var{value} (in MB). 1328ETEXI 1329 1330 { 1331 .name = "set_link", 1332 .args_type = "name:s,up:b", 1333 .params = "name on|off", 1334 .help = "change the link status of a network adapter", 1335 .mhandler.cmd = hmp_set_link, 1336 .command_completion = set_link_completion, 1337 }, 1338 1339STEXI 1340@item set_link @var{name} [on|off] 1341@findex set_link 1342Switch link @var{name} on (i.e. up) or off (i.e. down). 1343ETEXI 1344 1345 { 1346 .name = "watchdog_action", 1347 .args_type = "action:s", 1348 .params = "[reset|shutdown|poweroff|pause|debug|none]", 1349 .help = "change watchdog action", 1350 .mhandler.cmd = hmp_watchdog_action, 1351 .command_completion = watchdog_action_completion, 1352 }, 1353 1354STEXI 1355@item watchdog_action 1356@findex watchdog_action 1357Change watchdog action. 1358ETEXI 1359 1360 { 1361 .name = "acl_show", 1362 .args_type = "aclname:s", 1363 .params = "aclname", 1364 .help = "list rules in the access control list", 1365 .mhandler.cmd = hmp_acl_show, 1366 }, 1367 1368STEXI 1369@item acl_show @var{aclname} 1370@findex acl_show 1371List all the matching rules in the access control list, and the default 1372policy. There are currently two named access control lists, 1373@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 1374certificate distinguished name, and SASL username respectively. 1375ETEXI 1376 1377 { 1378 .name = "acl_policy", 1379 .args_type = "aclname:s,policy:s", 1380 .params = "aclname allow|deny", 1381 .help = "set default access control list policy", 1382 .mhandler.cmd = hmp_acl_policy, 1383 }, 1384 1385STEXI 1386@item acl_policy @var{aclname} @code{allow|deny} 1387@findex acl_policy 1388Set the default access control list policy, used in the event that 1389none of the explicit rules match. The default policy at startup is 1390always @code{deny}. 1391ETEXI 1392 1393 { 1394 .name = "acl_add", 1395 .args_type = "aclname:s,match:s,policy:s,index:i?", 1396 .params = "aclname match allow|deny [index]", 1397 .help = "add a match rule to the access control list", 1398 .mhandler.cmd = hmp_acl_add, 1399 }, 1400 1401STEXI 1402@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 1403@findex acl_add 1404Add a match rule to the access control list, allowing or denying access. 1405The match will normally be an exact username or x509 distinguished name, 1406but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 1407allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 1408normally be appended to the end of the ACL, but can be inserted 1409earlier in the list if the optional @var{index} parameter is supplied. 1410ETEXI 1411 1412 { 1413 .name = "acl_remove", 1414 .args_type = "aclname:s,match:s", 1415 .params = "aclname match", 1416 .help = "remove a match rule from the access control list", 1417 .mhandler.cmd = hmp_acl_remove, 1418 }, 1419 1420STEXI 1421@item acl_remove @var{aclname} @var{match} 1422@findex acl_remove 1423Remove the specified match rule from the access control list. 1424ETEXI 1425 1426 { 1427 .name = "acl_reset", 1428 .args_type = "aclname:s", 1429 .params = "aclname", 1430 .help = "reset the access control list", 1431 .mhandler.cmd = hmp_acl_reset, 1432 }, 1433 1434STEXI 1435@item acl_reset @var{aclname} 1436@findex acl_reset 1437Remove all matches from the access control list, and set the default 1438policy back to @code{deny}. 1439ETEXI 1440 1441 { 1442 .name = "nbd_server_start", 1443 .args_type = "all:-a,writable:-w,uri:s", 1444 .params = "nbd_server_start [-a] [-w] host:port", 1445 .help = "serve block devices on the given host and port", 1446 .mhandler.cmd = hmp_nbd_server_start, 1447 }, 1448STEXI 1449@item nbd_server_start @var{host}:@var{port} 1450@findex nbd_server_start 1451Start an NBD server on the given host and/or port. If the @option{-a} 1452option is included, all of the virtual machine's block devices that 1453have an inserted media on them are automatically exported; in this case, 1454the @option{-w} option makes the devices writable too. 1455ETEXI 1456 1457 { 1458 .name = "nbd_server_add", 1459 .args_type = "writable:-w,device:B", 1460 .params = "nbd_server_add [-w] device", 1461 .help = "export a block device via NBD", 1462 .mhandler.cmd = hmp_nbd_server_add, 1463 }, 1464STEXI 1465@item nbd_server_add @var{device} 1466@findex nbd_server_add 1467Export a block device through QEMU's NBD server, which must be started 1468beforehand with @command{nbd_server_start}. The @option{-w} option makes the 1469exported device writable too. 1470ETEXI 1471 1472 { 1473 .name = "nbd_server_stop", 1474 .args_type = "", 1475 .params = "nbd_server_stop", 1476 .help = "stop serving block devices using the NBD protocol", 1477 .mhandler.cmd = hmp_nbd_server_stop, 1478 }, 1479STEXI 1480@item nbd_server_stop 1481@findex nbd_server_stop 1482Stop the QEMU embedded NBD server. 1483ETEXI 1484 1485 1486#if defined(TARGET_I386) 1487 1488 { 1489 .name = "mce", 1490 .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 1491 .params = "[-b] cpu bank status mcgstatus addr misc", 1492 .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 1493 .mhandler.cmd = hmp_mce, 1494 }, 1495 1496#endif 1497STEXI 1498@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 1499@findex mce (x86) 1500Inject an MCE on the given CPU (x86 only). 1501ETEXI 1502 1503 { 1504 .name = "getfd", 1505 .args_type = "fdname:s", 1506 .params = "getfd name", 1507 .help = "receive a file descriptor via SCM rights and assign it a name", 1508 .mhandler.cmd = hmp_getfd, 1509 }, 1510 1511STEXI 1512@item getfd @var{fdname} 1513@findex getfd 1514If a file descriptor is passed alongside this command using the SCM_RIGHTS 1515mechanism on unix sockets, it is stored using the name @var{fdname} for 1516later use by other monitor commands. 1517ETEXI 1518 1519 { 1520 .name = "closefd", 1521 .args_type = "fdname:s", 1522 .params = "closefd name", 1523 .help = "close a file descriptor previously passed via SCM rights", 1524 .mhandler.cmd = hmp_closefd, 1525 }, 1526 1527STEXI 1528@item closefd @var{fdname} 1529@findex closefd 1530Close the file descriptor previously assigned to @var{fdname} using the 1531@code{getfd} command. This is only needed if the file descriptor was never 1532used by another monitor command. 1533ETEXI 1534 1535 { 1536 .name = "block_passwd", 1537 .args_type = "device:B,password:s", 1538 .params = "block_passwd device password", 1539 .help = "set the password of encrypted block devices", 1540 .mhandler.cmd = hmp_block_passwd, 1541 }, 1542 1543STEXI 1544@item block_passwd @var{device} @var{password} 1545@findex block_passwd 1546Set the encrypted device @var{device} password to @var{password} 1547ETEXI 1548 1549 { 1550 .name = "block_set_io_throttle", 1551 .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1552 .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1553 .help = "change I/O throttle limits for a block drive", 1554 .mhandler.cmd = hmp_block_set_io_throttle, 1555 }, 1556 1557STEXI 1558@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1559@findex block_set_io_throttle 1560Change 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} 1561ETEXI 1562 1563 { 1564 .name = "set_password", 1565 .args_type = "protocol:s,password:s,connected:s?", 1566 .params = "protocol password action-if-connected", 1567 .help = "set spice/vnc password", 1568 .mhandler.cmd = hmp_set_password, 1569 }, 1570 1571STEXI 1572@item set_password [ vnc | spice ] password [ action-if-connected ] 1573@findex set_password 1574Change spice/vnc password. Use zero to make the password stay valid 1575forever. @var{action-if-connected} specifies what should happen in 1576case a connection is established: @var{fail} makes the password change 1577fail. @var{disconnect} changes the password and disconnects the 1578client. @var{keep} changes the password and keeps the connection up. 1579@var{keep} is the default. 1580ETEXI 1581 1582 { 1583 .name = "expire_password", 1584 .args_type = "protocol:s,time:s", 1585 .params = "protocol time", 1586 .help = "set spice/vnc password expire-time", 1587 .mhandler.cmd = hmp_expire_password, 1588 }, 1589 1590STEXI 1591@item expire_password [ vnc | spice ] expire-time 1592@findex expire_password 1593Specify when a password for spice/vnc becomes 1594invalid. @var{expire-time} accepts: 1595 1596@table @var 1597@item now 1598Invalidate password instantly. 1599 1600@item never 1601Password stays valid forever. 1602 1603@item +nsec 1604Password stays valid for @var{nsec} seconds starting now. 1605 1606@item nsec 1607Password is invalidated at the given time. @var{nsec} are the seconds 1608passed since 1970, i.e. unix epoch. 1609 1610@end table 1611ETEXI 1612 1613 { 1614 .name = "chardev-add", 1615 .args_type = "args:s", 1616 .params = "args", 1617 .help = "add chardev", 1618 .mhandler.cmd = hmp_chardev_add, 1619 .command_completion = chardev_add_completion, 1620 }, 1621 1622STEXI 1623@item chardev-add args 1624@findex chardev-add 1625chardev_add accepts the same parameters as the -chardev command line switch. 1626 1627ETEXI 1628 1629 { 1630 .name = "chardev-remove", 1631 .args_type = "id:s", 1632 .params = "id", 1633 .help = "remove chardev", 1634 .mhandler.cmd = hmp_chardev_remove, 1635 .command_completion = chardev_remove_completion, 1636 }, 1637 1638STEXI 1639@item chardev-remove id 1640@findex chardev-remove 1641Removes the chardev @var{id}. 1642 1643ETEXI 1644 1645 { 1646 .name = "qemu-io", 1647 .args_type = "device:B,command:s", 1648 .params = "[device] \"[command]\"", 1649 .help = "run a qemu-io command on a block device", 1650 .mhandler.cmd = hmp_qemu_io, 1651 }, 1652 1653STEXI 1654@item qemu-io @var{device} @var{command} 1655@findex qemu-io 1656Executes a qemu-io command on the given block device. 1657 1658ETEXI 1659 1660 { 1661 .name = "cpu-add", 1662 .args_type = "id:i", 1663 .params = "id", 1664 .help = "add cpu", 1665 .mhandler.cmd = hmp_cpu_add, 1666 }, 1667 1668STEXI 1669@item cpu-add @var{id} 1670@findex cpu-add 1671Add CPU with id @var{id} 1672ETEXI 1673 1674 { 1675 .name = "qom-list", 1676 .args_type = "path:s?", 1677 .params = "path", 1678 .help = "list QOM properties", 1679 .mhandler.cmd = hmp_qom_list, 1680 }, 1681 1682STEXI 1683@item qom-list [@var{path}] 1684Print QOM properties of object at location @var{path} 1685ETEXI 1686 1687 { 1688 .name = "qom-set", 1689 .args_type = "path:s,property:s,value:s", 1690 .params = "path property value", 1691 .help = "set QOM property", 1692 .mhandler.cmd = hmp_qom_set, 1693 }, 1694 1695STEXI 1696@item qom-set @var{path} @var{property} @var{value} 1697Set QOM property @var{property} of object at location @var{path} to value @var{value} 1698ETEXI 1699 1700 { 1701 .name = "info", 1702 .args_type = "item:s?", 1703 .params = "[subcommand]", 1704 .help = "show various information about the system state", 1705 .mhandler.cmd = hmp_info_help, 1706 .sub_table = info_cmds, 1707 }, 1708 1709STEXI 1710@item info @var{subcommand} 1711@findex info 1712Show various information about the system state. 1713 1714@table @option 1715@item info version 1716show the version of QEMU 1717@item info network 1718show the various VLANs and the associated devices 1719@item info chardev 1720show the character devices 1721@item info block 1722show the block devices 1723@item info blockstats 1724show block device statistics 1725@item info registers 1726show the cpu registers 1727@item info cpus 1728show infos for each CPU 1729@item info history 1730show the command line history 1731@item info irq 1732show the interrupts statistics (if available) 1733@item info pic 1734show i8259 (PIC) state 1735@item info pci 1736show emulated PCI device info 1737@item info tlb 1738show virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only) 1739@item info mem 1740show the active virtual memory mappings (i386 only) 1741@item info jit 1742show dynamic compiler info 1743@item info numa 1744show NUMA information 1745@item info kvm 1746show KVM information 1747@item info usb 1748show USB devices plugged on the virtual USB hub 1749@item info usbhost 1750show all USB host devices 1751@item info profile 1752show profiling information 1753@item info capture 1754show information about active capturing 1755@item info snapshots 1756show list of VM snapshots 1757@item info status 1758show the current VM status (running|paused) 1759@item info mice 1760show which guest mouse is receiving events 1761@item info vnc 1762show the vnc server status 1763@item info name 1764show the current VM name 1765@item info uuid 1766show the current VM UUID 1767@item info cpustats 1768show CPU statistics 1769@item info usernet 1770show user network stack connection states 1771@item info migrate 1772show migration status 1773@item info migrate_capabilities 1774show current migration capabilities 1775@item info migrate_parameters 1776show current migration parameters 1777@item info migrate_cache_size 1778show current migration XBZRLE cache size 1779@item info balloon 1780show balloon information 1781@item info qtree 1782show device tree 1783@item info qdm 1784show qdev device model list 1785@item info qom-tree 1786show object composition tree 1787@item info roms 1788show roms 1789@item info tpm 1790show the TPM device 1791@item info memory-devices 1792show the memory devices 1793@end table 1794ETEXI 1795 1796STEXI 1797@item info trace-events 1798show available trace events and their state 1799ETEXI 1800 1801STEXI 1802@item rocker @var{name} 1803@findex rocker 1804Show Rocker(s) 1805ETEXI 1806 1807STEXI 1808@item rocker_ports @var{name} 1809@findex rocker_ports 1810Show Rocker ports 1811ETEXI 1812 1813STEXI 1814@item rocker_of_dpa_flows @var{name} [@var{tbl_id}] 1815@findex rocker_of_dpa_flows 1816Show Rocker OF-DPA flow tables 1817ETEXI 1818 1819STEXI 1820@item rocker_of_dpa_groups @var{name} [@var{type}] 1821@findex rocker_of_dpa_groups 1822Show Rocker OF-DPA groups 1823ETEXI 1824 1825STEXI 1826@end table 1827ETEXI 1828