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