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. Otherwise the\n\t\t\t" 1027 "snapshot will be internal! (currently unsupported).\n\t\t\t" 1028 "The default format is qcow2. The -n flag requests QEMU\n\t\t\t" 1029 "to reuse the image found in new-image-file, instead of\n\t\t\t" 1030 "recreating it from scratch.", 1031 .mhandler.cmd = hmp_snapshot_blkdev, 1032 }, 1033 1034STEXI 1035@item snapshot_blkdev 1036@findex snapshot_blkdev 1037Snapshot device, using snapshot file as target if provided 1038ETEXI 1039 1040 { 1041 .name = "drive_mirror", 1042 .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1043 .params = "[-n] [-f] device target [format]", 1044 .help = "initiates live storage\n\t\t\t" 1045 "migration for a device. The device's contents are\n\t\t\t" 1046 "copied to the new image file, including data that\n\t\t\t" 1047 "is written after the command is started.\n\t\t\t" 1048 "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1049 "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1050 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1051 "so that the result does not need a backing file.\n\t\t\t", 1052 .mhandler.cmd = hmp_drive_mirror, 1053 }, 1054STEXI 1055@item drive_mirror 1056@findex drive_mirror 1057Start mirroring a block device's writes to a new destination, 1058using the specified target. 1059ETEXI 1060 1061 { 1062 .name = "drive_backup", 1063 .args_type = "reuse:-n,full:-f,device:B,target:s,format:s?", 1064 .params = "[-n] [-f] device target [format]", 1065 .help = "initiates a point-in-time\n\t\t\t" 1066 "copy for a device. The device's contents are\n\t\t\t" 1067 "copied to the new image file, excluding data that\n\t\t\t" 1068 "is written after the command is started.\n\t\t\t" 1069 "The -n flag requests QEMU to reuse the image found\n\t\t\t" 1070 "in new-image-file, instead of recreating it from scratch.\n\t\t\t" 1071 "The -f flag requests QEMU to copy the whole disk,\n\t\t\t" 1072 "so that the result does not need a backing file.\n\t\t\t", 1073 .mhandler.cmd = hmp_drive_backup, 1074 }, 1075STEXI 1076@item drive_backup 1077@findex drive_backup 1078Start a point-in-time copy of a block device to a specificed target. 1079ETEXI 1080 1081 { 1082 .name = "drive_add", 1083 .args_type = "pci_addr:s,opts:s", 1084 .params = "[[<domain>:]<bus>:]<slot>\n" 1085 "[file=file][,if=type][,bus=n]\n" 1086 "[,unit=m][,media=d][,index=i]\n" 1087 "[,cyls=c,heads=h,secs=s[,trans=t]]\n" 1088 "[,snapshot=on|off][,cache=on|off]\n" 1089 "[,readonly=on|off][,copy-on-read=on|off]", 1090 .help = "add drive to PCI storage controller", 1091 .mhandler.cmd = drive_hot_add, 1092 }, 1093 1094STEXI 1095@item drive_add 1096@findex drive_add 1097Add drive to PCI storage controller. 1098ETEXI 1099 1100#if defined(CONFIG_PCI_HOTPLUG_OLD) 1101 { 1102 .name = "pci_add", 1103 .args_type = "pci_addr:s,type:s,opts:s?", 1104 .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", 1105 .help = "hot-add PCI device", 1106 .mhandler.cmd = pci_device_hot_add, 1107 }, 1108#endif 1109 1110STEXI 1111@item pci_add 1112@findex pci_add 1113Hot-add PCI device. 1114ETEXI 1115 1116#if defined(CONFIG_PCI_HOTPLUG_OLD) 1117 { 1118 .name = "pci_del", 1119 .args_type = "pci_addr:s", 1120 .params = "[[<domain>:]<bus>:]<slot>", 1121 .help = "hot remove PCI device", 1122 .mhandler.cmd = do_pci_device_hot_remove, 1123 }, 1124#endif 1125 1126STEXI 1127@item pci_del 1128@findex pci_del 1129Hot remove PCI device. 1130ETEXI 1131 1132 { 1133 .name = "pcie_aer_inject_error", 1134 .args_type = "advisory_non_fatal:-a,correctable:-c," 1135 "id:s,error_status:s," 1136 "header0:i?,header1:i?,header2:i?,header3:i?," 1137 "prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?", 1138 .params = "[-a] [-c] id " 1139 "<error_status> [<tlp header> [<tlp header prefix>]]", 1140 .help = "inject pcie aer error\n\t\t\t" 1141 " -a for advisory non fatal error\n\t\t\t" 1142 " -c for correctable error\n\t\t\t" 1143 "<id> = qdev device id\n\t\t\t" 1144 "<error_status> = error string or 32bit\n\t\t\t" 1145 "<tlb header> = 32bit x 4\n\t\t\t" 1146 "<tlb header prefix> = 32bit x 4", 1147 .user_print = pcie_aer_inject_error_print, 1148 .mhandler.cmd_new = do_pcie_aer_inject_error, 1149 }, 1150 1151STEXI 1152@item pcie_aer_inject_error 1153@findex pcie_aer_inject_error 1154Inject PCIe AER error 1155ETEXI 1156 1157 { 1158 .name = "host_net_add", 1159 .args_type = "device:s,opts:s?", 1160 .params = "tap|user|socket|vde|dump [options]", 1161 .help = "add host VLAN client", 1162 .mhandler.cmd = net_host_device_add, 1163 }, 1164 1165STEXI 1166@item host_net_add 1167@findex host_net_add 1168Add host VLAN client. 1169ETEXI 1170 1171 { 1172 .name = "host_net_remove", 1173 .args_type = "vlan_id:i,device:s", 1174 .params = "vlan_id name", 1175 .help = "remove host VLAN client", 1176 .mhandler.cmd = net_host_device_remove, 1177 }, 1178 1179STEXI 1180@item host_net_remove 1181@findex host_net_remove 1182Remove host VLAN client. 1183ETEXI 1184 1185 { 1186 .name = "netdev_add", 1187 .args_type = "netdev:O", 1188 .params = "[user|tap|socket|hubport],id=str[,prop=value][,...]", 1189 .help = "add host network device", 1190 .mhandler.cmd = hmp_netdev_add, 1191 }, 1192 1193STEXI 1194@item netdev_add 1195@findex netdev_add 1196Add host network device. 1197ETEXI 1198 1199 { 1200 .name = "netdev_del", 1201 .args_type = "id:s", 1202 .params = "id", 1203 .help = "remove host network device", 1204 .mhandler.cmd = hmp_netdev_del, 1205 }, 1206 1207STEXI 1208@item netdev_del 1209@findex netdev_del 1210Remove host network device. 1211ETEXI 1212 1213#ifdef CONFIG_SLIRP 1214 { 1215 .name = "hostfwd_add", 1216 .args_type = "arg1:s,arg2:s?,arg3:s?", 1217 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", 1218 .help = "redirect TCP or UDP connections from host to guest (requires -net user)", 1219 .mhandler.cmd = net_slirp_hostfwd_add, 1220 }, 1221#endif 1222STEXI 1223@item hostfwd_add 1224@findex hostfwd_add 1225Redirect TCP or UDP connections from host to guest (requires -net user). 1226ETEXI 1227 1228#ifdef CONFIG_SLIRP 1229 { 1230 .name = "hostfwd_remove", 1231 .args_type = "arg1:s,arg2:s?,arg3:s?", 1232 .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport", 1233 .help = "remove host-to-guest TCP or UDP redirection", 1234 .mhandler.cmd = net_slirp_hostfwd_remove, 1235 }, 1236 1237#endif 1238STEXI 1239@item hostfwd_remove 1240@findex hostfwd_remove 1241Remove host-to-guest TCP or UDP redirection. 1242ETEXI 1243 1244 { 1245 .name = "balloon", 1246 .args_type = "value:M", 1247 .params = "target", 1248 .help = "request VM to change its memory allocation (in MB)", 1249 .mhandler.cmd = hmp_balloon, 1250 }, 1251 1252STEXI 1253@item balloon @var{value} 1254@findex balloon 1255Request VM to change its memory allocation to @var{value} (in MB). 1256ETEXI 1257 1258 { 1259 .name = "set_link", 1260 .args_type = "name:s,up:b", 1261 .params = "name on|off", 1262 .help = "change the link status of a network adapter", 1263 .mhandler.cmd = hmp_set_link, 1264 }, 1265 1266STEXI 1267@item set_link @var{name} [on|off] 1268@findex set_link 1269Switch link @var{name} on (i.e. up) or off (i.e. down). 1270ETEXI 1271 1272 { 1273 .name = "watchdog_action", 1274 .args_type = "action:s", 1275 .params = "[reset|shutdown|poweroff|pause|debug|none]", 1276 .help = "change watchdog action", 1277 .mhandler.cmd = do_watchdog_action, 1278 }, 1279 1280STEXI 1281@item watchdog_action 1282@findex watchdog_action 1283Change watchdog action. 1284ETEXI 1285 1286 { 1287 .name = "acl_show", 1288 .args_type = "aclname:s", 1289 .params = "aclname", 1290 .help = "list rules in the access control list", 1291 .mhandler.cmd = do_acl_show, 1292 }, 1293 1294STEXI 1295@item acl_show @var{aclname} 1296@findex acl_show 1297List all the matching rules in the access control list, and the default 1298policy. There are currently two named access control lists, 1299@var{vnc.x509dname} and @var{vnc.username} matching on the x509 client 1300certificate distinguished name, and SASL username respectively. 1301ETEXI 1302 1303 { 1304 .name = "acl_policy", 1305 .args_type = "aclname:s,policy:s", 1306 .params = "aclname allow|deny", 1307 .help = "set default access control list policy", 1308 .mhandler.cmd = do_acl_policy, 1309 }, 1310 1311STEXI 1312@item acl_policy @var{aclname} @code{allow|deny} 1313@findex acl_policy 1314Set the default access control list policy, used in the event that 1315none of the explicit rules match. The default policy at startup is 1316always @code{deny}. 1317ETEXI 1318 1319 { 1320 .name = "acl_add", 1321 .args_type = "aclname:s,match:s,policy:s,index:i?", 1322 .params = "aclname match allow|deny [index]", 1323 .help = "add a match rule to the access control list", 1324 .mhandler.cmd = do_acl_add, 1325 }, 1326 1327STEXI 1328@item acl_add @var{aclname} @var{match} @code{allow|deny} [@var{index}] 1329@findex acl_add 1330Add a match rule to the access control list, allowing or denying access. 1331The match will normally be an exact username or x509 distinguished name, 1332but can optionally include wildcard globs. eg @code{*@@EXAMPLE.COM} to 1333allow all users in the @code{EXAMPLE.COM} kerberos realm. The match will 1334normally be appended to the end of the ACL, but can be inserted 1335earlier in the list if the optional @var{index} parameter is supplied. 1336ETEXI 1337 1338 { 1339 .name = "acl_remove", 1340 .args_type = "aclname:s,match:s", 1341 .params = "aclname match", 1342 .help = "remove a match rule from the access control list", 1343 .mhandler.cmd = do_acl_remove, 1344 }, 1345 1346STEXI 1347@item acl_remove @var{aclname} @var{match} 1348@findex acl_remove 1349Remove the specified match rule from the access control list. 1350ETEXI 1351 1352 { 1353 .name = "acl_reset", 1354 .args_type = "aclname:s", 1355 .params = "aclname", 1356 .help = "reset the access control list", 1357 .mhandler.cmd = do_acl_reset, 1358 }, 1359 1360STEXI 1361@item acl_reset @var{aclname} 1362@findex acl_reset 1363Remove all matches from the access control list, and set the default 1364policy back to @code{deny}. 1365ETEXI 1366 1367 { 1368 .name = "nbd_server_start", 1369 .args_type = "all:-a,writable:-w,uri:s", 1370 .params = "nbd_server_start [-a] [-w] host:port", 1371 .help = "serve block devices on the given host and port", 1372 .mhandler.cmd = hmp_nbd_server_start, 1373 }, 1374STEXI 1375@item nbd_server_start @var{host}:@var{port} 1376@findex nbd_server_start 1377Start an NBD server on the given host and/or port. If the @option{-a} 1378option is included, all of the virtual machine's block devices that 1379have an inserted media on them are automatically exported; in this case, 1380the @option{-w} option makes the devices writable too. 1381ETEXI 1382 1383 { 1384 .name = "nbd_server_add", 1385 .args_type = "writable:-w,device:B", 1386 .params = "nbd_server_add [-w] device", 1387 .help = "export a block device via NBD", 1388 .mhandler.cmd = hmp_nbd_server_add, 1389 }, 1390STEXI 1391@item nbd_server_add @var{device} 1392@findex nbd_server_add 1393Export a block device through QEMU's NBD server, which must be started 1394beforehand with @command{nbd_server_start}. The @option{-w} option makes the 1395exported device writable too. 1396ETEXI 1397 1398 { 1399 .name = "nbd_server_stop", 1400 .args_type = "", 1401 .params = "nbd_server_stop", 1402 .help = "stop serving block devices using the NBD protocol", 1403 .mhandler.cmd = hmp_nbd_server_stop, 1404 }, 1405STEXI 1406@item nbd_server_stop 1407@findex nbd_server_stop 1408Stop the QEMU embedded NBD server. 1409ETEXI 1410 1411 1412#if defined(TARGET_I386) 1413 1414 { 1415 .name = "mce", 1416 .args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", 1417 .params = "[-b] cpu bank status mcgstatus addr misc", 1418 .help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]", 1419 .mhandler.cmd = do_inject_mce, 1420 }, 1421 1422#endif 1423STEXI 1424@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc} 1425@findex mce (x86) 1426Inject an MCE on the given CPU (x86 only). 1427ETEXI 1428 1429 { 1430 .name = "getfd", 1431 .args_type = "fdname:s", 1432 .params = "getfd name", 1433 .help = "receive a file descriptor via SCM rights and assign it a name", 1434 .mhandler.cmd = hmp_getfd, 1435 }, 1436 1437STEXI 1438@item getfd @var{fdname} 1439@findex getfd 1440If a file descriptor is passed alongside this command using the SCM_RIGHTS 1441mechanism on unix sockets, it is stored using the name @var{fdname} for 1442later use by other monitor commands. 1443ETEXI 1444 1445 { 1446 .name = "closefd", 1447 .args_type = "fdname:s", 1448 .params = "closefd name", 1449 .help = "close a file descriptor previously passed via SCM rights", 1450 .mhandler.cmd = hmp_closefd, 1451 }, 1452 1453STEXI 1454@item closefd @var{fdname} 1455@findex closefd 1456Close the file descriptor previously assigned to @var{fdname} using the 1457@code{getfd} command. This is only needed if the file descriptor was never 1458used by another monitor command. 1459ETEXI 1460 1461 { 1462 .name = "block_passwd", 1463 .args_type = "device:B,password:s", 1464 .params = "block_passwd device password", 1465 .help = "set the password of encrypted block devices", 1466 .mhandler.cmd = hmp_block_passwd, 1467 }, 1468 1469STEXI 1470@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} 1471@findex block_set_io_throttle 1472Change 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} 1473ETEXI 1474 1475 { 1476 .name = "block_set_io_throttle", 1477 .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l", 1478 .params = "device bps bps_rd bps_wr iops iops_rd iops_wr", 1479 .help = "change I/O throttle limits for a block drive", 1480 .mhandler.cmd = hmp_block_set_io_throttle, 1481 }, 1482 1483STEXI 1484@item block_passwd @var{device} @var{password} 1485@findex block_passwd 1486Set the encrypted device @var{device} password to @var{password} 1487ETEXI 1488 1489 { 1490 .name = "set_password", 1491 .args_type = "protocol:s,password:s,connected:s?", 1492 .params = "protocol password action-if-connected", 1493 .help = "set spice/vnc password", 1494 .mhandler.cmd = hmp_set_password, 1495 }, 1496 1497STEXI 1498@item set_password [ vnc | spice ] password [ action-if-connected ] 1499@findex set_password 1500 1501Change spice/vnc password. Use zero to make the password stay valid 1502forever. @var{action-if-connected} specifies what should happen in 1503case a connection is established: @var{fail} makes the password change 1504fail. @var{disconnect} changes the password and disconnects the 1505client. @var{keep} changes the password and keeps the connection up. 1506@var{keep} is the default. 1507ETEXI 1508 1509 { 1510 .name = "expire_password", 1511 .args_type = "protocol:s,time:s", 1512 .params = "protocol time", 1513 .help = "set spice/vnc password expire-time", 1514 .mhandler.cmd = hmp_expire_password, 1515 }, 1516 1517STEXI 1518@item expire_password [ vnc | spice ] expire-time 1519@findex expire_password 1520 1521Specify when a password for spice/vnc becomes 1522invalid. @var{expire-time} accepts: 1523 1524@table @var 1525@item now 1526Invalidate password instantly. 1527 1528@item never 1529Password stays valid forever. 1530 1531@item +nsec 1532Password stays valid for @var{nsec} seconds starting now. 1533 1534@item nsec 1535Password is invalidated at the given time. @var{nsec} are the seconds 1536passed since 1970, i.e. unix epoch. 1537 1538@end table 1539ETEXI 1540 1541 { 1542 .name = "chardev-add", 1543 .args_type = "args:s", 1544 .params = "args", 1545 .help = "add chardev", 1546 .mhandler.cmd = hmp_chardev_add, 1547 }, 1548 1549STEXI 1550@item chardev_add args 1551@findex chardev_add 1552 1553chardev_add accepts the same parameters as the -chardev command line switch. 1554 1555ETEXI 1556 1557 { 1558 .name = "chardev-remove", 1559 .args_type = "id:s", 1560 .params = "id", 1561 .help = "remove chardev", 1562 .mhandler.cmd = hmp_chardev_remove, 1563 }, 1564 1565STEXI 1566@item chardev_remove id 1567@findex chardev_remove 1568 1569Removes the chardev @var{id}. 1570 1571ETEXI 1572 1573 { 1574 .name = "qemu-io", 1575 .args_type = "device:B,command:s", 1576 .params = "[device] \"[command]\"", 1577 .help = "run a qemu-io command on a block device", 1578 .mhandler.cmd = hmp_qemu_io, 1579 }, 1580 1581STEXI 1582@item qemu-io @var{device} @var{command} 1583@findex qemu-io 1584 1585Executes a qemu-io command on the given block device. 1586 1587ETEXI 1588 1589 { 1590 .name = "info", 1591 .args_type = "item:s?", 1592 .params = "[subcommand]", 1593 .help = "show various information about the system state", 1594 .mhandler.cmd = do_info_help, 1595 .sub_table = info_cmds, 1596 }, 1597 1598STEXI 1599@item info @var{subcommand} 1600@findex info 1601Show various information about the system state. 1602 1603@table @option 1604@item info version 1605show the version of QEMU 1606@item info network 1607show the various VLANs and the associated devices 1608@item info chardev 1609show the character devices 1610@item info block 1611show the block devices 1612@item info blockstats 1613show block device statistics 1614@item info registers 1615show the cpu registers 1616@item info cpus 1617show infos for each CPU 1618@item info history 1619show the command line history 1620@item info irq 1621show the interrupts statistics (if available) 1622@item info pic 1623show i8259 (PIC) state 1624@item info pci 1625show emulated PCI device info 1626@item info tlb 1627show virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only) 1628@item info mem 1629show the active virtual memory mappings (i386 only) 1630@item info jit 1631show dynamic compiler info 1632@item info numa 1633show NUMA information 1634@item info kvm 1635show KVM information 1636@item info usb 1637show USB devices plugged on the virtual USB hub 1638@item info usbhost 1639show all USB host devices 1640@item info profile 1641show profiling information 1642@item info capture 1643show information about active capturing 1644@item info snapshots 1645show list of VM snapshots 1646@item info status 1647show the current VM status (running|paused) 1648@item info pcmcia 1649show guest PCMCIA status 1650@item info mice 1651show which guest mouse is receiving events 1652@item info vnc 1653show the vnc server status 1654@item info name 1655show the current VM name 1656@item info uuid 1657show the current VM UUID 1658@item info cpustats 1659show CPU statistics 1660@item info usernet 1661show user network stack connection states 1662@item info migrate 1663show migration status 1664@item info migrate_capabilities 1665show current migration capabilities 1666@item info migrate_cache_size 1667show current migration XBZRLE cache size 1668@item info balloon 1669show balloon information 1670@item info qtree 1671show device tree 1672@item info qdm 1673show qdev device model list 1674@item info roms 1675show roms 1676@item info tpm 1677show the TPM device 1678@end table 1679ETEXI 1680 1681STEXI 1682@item info trace-events 1683show available trace events and their state 1684ETEXI 1685 1686STEXI 1687@end table 1688ETEXI 1689