5
.args_type = "name:s?",
7
.help = "show the help",
8
.mhandler.cmd = do_help_cmd,
14
.args_type = "device:B",
15
.params = "device|all",
16
.help = "commit changes to the disk images (if -snapshot is used) or backing files",
17
.mhandler.cmd = do_commit,
25
.help = "quit the emulator",
26
.user_print = monitor_user_noop,
27
.mhandler.cmd = hmp_quit,
32
.name = "block_resize",
33
.args_type = "device:B,size:o",
34
.params = "device size",
35
.help = "resize a block image",
36
.user_print = monitor_user_noop,
37
.mhandler.cmd_new = do_block_resize,
44
.args_type = "force:-f,device:B",
45
.params = "[-f] device",
46
.help = "eject a removable medium (use -f to force it)",
47
.user_print = monitor_user_noop,
48
.mhandler.cmd_new = do_eject,
56
.help = "remove host block device",
57
.user_print = monitor_user_noop,
58
.mhandler.cmd_new = do_drive_del,
64
.args_type = "device:B,target:F,arg:s?",
65
.params = "device filename [format]",
66
.help = "change a removable medium, optional format",
67
.user_print = monitor_user_noop,
68
.mhandler.cmd_new = do_change,
74
.args_type = "filename:F",
76
.help = "save screen into PPM image 'filename'",
77
.user_print = monitor_user_noop,
78
.mhandler.cmd_new = do_screen_dump,
84
.args_type = "filename:F",
86
.help = "output logs to 'filename'",
87
.mhandler.cmd = do_logfile,
92
.name = "trace-event",
93
.args_type = "name:s,option:b",
94
.params = "name on|off",
95
.help = "changes status of a specific trace event",
96
.mhandler.cmd = do_trace_event_set_state,
100
#if defined(CONFIG_TRACE_SIMPLE)
102
.name = "trace-file",
103
.args_type = "op:s?,arg:F?",
104
.params = "on|off|flush|set [arg]",
105
.help = "open, close, or flush trace file, or set a new file name",
106
.mhandler.cmd = do_trace_file,
113
.args_type = "items:s",
114
.params = "item1[,...]",
115
.help = "activate logging of the specified items to '/tmp/qemu.log'",
116
.mhandler.cmd = do_log,
122
.args_type = "name:s?",
123
.params = "[tag|id]",
124
.help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
125
.mhandler.cmd = do_savevm,
131
.args_type = "name:s",
133
.help = "restore a VM snapshot from its tag or id",
134
.mhandler.cmd = do_loadvm,
140
.args_type = "name:s",
142
.help = "delete a VM snapshot from its tag or id",
143
.mhandler.cmd = do_delvm,
148
.name = "singlestep",
149
.args_type = "option:s?",
150
.params = "[on|off]",
151
.help = "run emulation in singlestep mode or switch to normal mode",
152
.mhandler.cmd = do_singlestep,
160
.help = "stop emulation",
161
.mhandler.cmd = hmp_stop,
169
.help = "resume emulation",
170
.user_print = monitor_user_noop,
171
.mhandler.cmd_new = do_cont,
177
.args_type = "device:s?",
178
.params = "[device]",
179
.help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
180
.mhandler.cmd = do_gdbserver,
186
.args_type = "fmt:/,addr:l",
187
.params = "/fmt addr",
188
.help = "virtual memory dump starting at 'addr'",
189
.mhandler.cmd = do_memory_dump,
195
.args_type = "fmt:/,addr:l",
196
.params = "/fmt addr",
197
.help = "physical memory dump starting at 'addr'",
198
.mhandler.cmd = do_physical_memory_dump,
204
.args_type = "fmt:/,val:l",
205
.params = "/fmt expr",
206
.help = "print expression value (use $reg for CPU register access)",
207
.mhandler.cmd = do_print,
213
.args_type = "fmt:/,addr:i,index:i.",
214
.params = "/fmt addr",
215
.help = "I/O port read",
216
.mhandler.cmd = do_ioport_read,
222
.args_type = "fmt:/,addr:i,val:i",
223
.params = "/fmt addr value",
224
.help = "I/O port write",
225
.mhandler.cmd = do_ioport_write,
231
.args_type = "string:s,hold_time:i?",
232
.params = "keys [hold_ms]",
233
.help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
234
.mhandler.cmd = do_sendkey,
239
.name = "system_reset",
242
.help = "reset the system",
243
.mhandler.cmd = hmp_system_reset,
248
.name = "system_powerdown",
251
.help = "send system power down event",
252
.mhandler.cmd = hmp_system_powerdown,
258
.args_type = "start:i,size:i",
259
.params = "addr size",
260
.help = "compute the checksum of a memory region",
261
.mhandler.cmd = do_sum,
267
.args_type = "devname:s",
269
.help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
270
.mhandler.cmd = do_usb_add,
276
.args_type = "devname:s",
278
.help = "remove USB device 'bus.addr'",
279
.mhandler.cmd = do_usb_del,
284
.name = "device_add",
285
.args_type = "device:O",
286
.params = "driver[,prop=value][,...]",
287
.help = "add device, like -device on the command line",
288
.user_print = monitor_user_noop,
289
.mhandler.cmd_new = do_device_add,
294
.name = "device_del",
297
.help = "remove device",
298
.user_print = monitor_user_noop,
299
.mhandler.cmd_new = do_device_del,
305
.args_type = "index:i",
307
.help = "set the default CPU",
308
.mhandler.cmd = hmp_cpu,
313
.name = "mouse_move",
314
.args_type = "dx_str:s,dy_str:s,dz_str:s?",
315
.params = "dx dy [dz]",
316
.help = "send mouse move events",
317
.mhandler.cmd = do_mouse_move,
322
.name = "mouse_button",
323
.args_type = "button_state:i",
325
.help = "change mouse button state (1=L, 2=M, 4=R)",
326
.mhandler.cmd = do_mouse_button,
332
.args_type = "index:i",
334
.help = "set which mouse device receives events",
335
.mhandler.cmd = do_mouse_set,
341
.name = "wavcapture",
342
.args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
343
.params = "path [frequency [bits [channels]]]",
344
.help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
345
.mhandler.cmd = do_wav_capture,
351
.name = "stopcapture",
353
.params = "capture index",
354
.help = "stop capture",
355
.mhandler.cmd = do_stop_capture,
361
.args_type = "val:l,size:i,filename:s",
362
.params = "addr size file",
363
.help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
364
.user_print = monitor_user_noop,
365
.mhandler.cmd_new = do_memory_save,
371
.args_type = "val:l,size:i,filename:s",
372
.params = "addr size file",
373
.help = "save to disk physical memory dump starting at 'addr' of size 'size'",
374
.user_print = monitor_user_noop,
375
.mhandler.cmd_new = do_physical_memory_save,
381
.args_type = "bootdevice:s",
382
.params = "bootdevice",
383
.help = "define new values for the boot device list",
384
.mhandler.cmd = do_boot_set,
388
#if defined(TARGET_I386)
393
.help = "inject an NMI on all guest's CPUs",
394
.user_print = monitor_user_noop,
395
.mhandler.cmd_new = do_inject_nmi,
401
.args_type = "detach:-d,blk:-b,inc:-i,uri:s",
402
.params = "[-d] [-b] [-i] uri",
403
.help = "migrate to URI (using -d to not wait for completion)"
404
"\n\t\t\t -b for migration without shared storage with"
405
" full copy of disk\n\t\t\t -i for migration without "
406
"shared storage with incremental copy of disk "
407
"(base image shared between src and destination)",
408
.user_print = monitor_user_noop,
409
.mhandler.cmd_new = do_migrate,
415
.name = "migrate_cancel",
418
.help = "cancel the current VM migration",
419
.user_print = monitor_user_noop,
420
.mhandler.cmd_new = do_migrate_cancel,
425
.name = "migrate_set_speed",
426
.args_type = "value:o",
428
.help = "set maximum speed (in bytes) for migrations. "
429
"Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
430
.user_print = monitor_user_noop,
431
.mhandler.cmd_new = do_migrate_set_speed,
436
.name = "migrate_set_downtime",
437
.args_type = "value:T",
439
.help = "set maximum tolerated downtime (in seconds) for migrations",
440
.user_print = monitor_user_noop,
441
.mhandler.cmd_new = do_migrate_set_downtime,
446
.name = "client_migrate_info",
447
.args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?",
448
.params = "protocol hostname port tls-port cert-subject",
449
.help = "send migration info to spice/vnc client",
450
.user_print = monitor_user_noop,
451
.mhandler.cmd_async = client_migrate_info,
452
.flags = MONITOR_CMD_ASYNC,
457
.name = "snapshot_blkdev",
458
.args_type = "device:B,snapshot-file:s?,format:s?",
459
.params = "device [new-image-file] [format]",
460
.help = "initiates a live snapshot\n\t\t\t"
461
"of device. If a new image file is specified, the\n\t\t\t"
462
"new image file will become the new root image.\n\t\t\t"
463
"If format is specified, the snapshot file will\n\t\t\t"
464
"be created in that format. Otherwise the\n\t\t\t"
465
"snapshot will be internal! (currently unsupported)",
466
.mhandler.cmd_new = do_snapshot_blkdev,
470
#if defined(TARGET_I386)
473
.args_type = "pci_addr:s,opts:s",
474
.params = "[[<domain>:]<bus>:]<slot>\n"
475
"[file=file][,if=type][,bus=n]\n"
476
"[,unit=m][,media=d][index=i]\n"
477
"[,cyls=c,heads=h,secs=s[,trans=t]]\n"
478
"[snapshot=on|off][,cache=on|off]",
479
.help = "add drive to PCI storage controller",
480
.mhandler.cmd = drive_hot_add,
485
#if defined(TARGET_I386)
488
.args_type = "pci_addr:s,type:s,opts:s?",
489
.params = "auto|[[<domain>:]<bus>:]<slot> nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
490
.help = "hot-add PCI device",
491
.mhandler.cmd = pci_device_hot_add,
496
#if defined(TARGET_I386)
499
.args_type = "pci_addr:s",
500
.params = "[[<domain>:]<bus>:]<slot>",
501
.help = "hot remove PCI device",
502
.mhandler.cmd = do_pci_device_hot_remove,
508
.name = "pcie_aer_inject_error",
509
.args_type = "advisory_non_fatal:-a,correctable:-c,"
510
"id:s,error_status:s,"
511
"header0:i?,header1:i?,header2:i?,header3:i?,"
512
"prefix0:i?,prefix1:i?,prefix2:i?,prefix3:i?",
513
.params = "[-a] [-c] id "
514
"<error_status> [<tlp header> [<tlp header prefix>]]",
515
.help = "inject pcie aer error\n\t\t\t"
516
" -a for advisory non fatal error\n\t\t\t"
517
" -c for correctable error\n\t\t\t"
518
"<id> = qdev device id\n\t\t\t"
519
"<error_status> = error string or 32bit\n\t\t\t"
520
"<tlb header> = 32bit x 4\n\t\t\t"
521
"<tlb header prefix> = 32bit x 4",
522
.user_print = pcie_aer_inject_error_print,
523
.mhandler.cmd_new = do_pcie_aer_inejct_error,
528
.name = "host_net_add",
529
.args_type = "device:s,opts:s?",
530
.params = "tap|user|socket|vde|dump [options]",
531
.help = "add host VLAN client",
532
.mhandler.cmd = net_host_device_add,
537
.name = "host_net_remove",
538
.args_type = "vlan_id:i,device:s",
539
.params = "vlan_id name",
540
.help = "remove host VLAN client",
541
.mhandler.cmd = net_host_device_remove,
546
.name = "netdev_add",
547
.args_type = "netdev:O",
548
.params = "[user|tap|socket],id=str[,prop=value][,...]",
549
.help = "add host network device",
550
.user_print = monitor_user_noop,
551
.mhandler.cmd_new = do_netdev_add,
556
.name = "netdev_del",
559
.help = "remove host network device",
560
.user_print = monitor_user_noop,
561
.mhandler.cmd_new = do_netdev_del,
567
.name = "hostfwd_add",
568
.args_type = "arg1:s,arg2:s?,arg3:s?",
569
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
570
.help = "redirect TCP or UDP connections from host to guest (requires -net user)",
571
.mhandler.cmd = net_slirp_hostfwd_add,
577
.name = "hostfwd_remove",
578
.args_type = "arg1:s,arg2:s?,arg3:s?",
579
.params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
580
.help = "remove host-to-guest TCP or UDP redirection",
581
.mhandler.cmd = net_slirp_hostfwd_remove,
588
.args_type = "value:M",
590
.help = "request VM to change its memory allocation (in MB)",
591
.user_print = monitor_user_noop,
592
.mhandler.cmd_async = do_balloon,
593
.flags = MONITOR_CMD_ASYNC,
599
.args_type = "name:s,up:b",
600
.params = "name on|off",
601
.help = "change the link status of a network adapter",
602
.user_print = monitor_user_noop,
603
.mhandler.cmd_new = do_set_link,
608
.name = "watchdog_action",
609
.args_type = "action:s",
610
.params = "[reset|shutdown|poweroff|pause|debug|none]",
611
.help = "change watchdog action",
612
.mhandler.cmd = do_watchdog_action,
618
.args_type = "aclname:s",
620
.help = "list rules in the access control list",
621
.mhandler.cmd = do_acl_show,
626
.name = "acl_policy",
627
.args_type = "aclname:s,policy:s",
628
.params = "aclname allow|deny",
629
.help = "set default access control list policy",
630
.mhandler.cmd = do_acl_policy,
636
.args_type = "aclname:s,match:s,policy:s,index:i?",
637
.params = "aclname match allow|deny [index]",
638
.help = "add a match rule to the access control list",
639
.mhandler.cmd = do_acl_add,
644
.name = "acl_remove",
645
.args_type = "aclname:s,match:s",
646
.params = "aclname match",
647
.help = "remove a match rule from the access control list",
648
.mhandler.cmd = do_acl_remove,
654
.args_type = "aclname:s",
656
.help = "reset the access control list",
657
.mhandler.cmd = do_acl_reset,
661
#if defined(TARGET_I386)
665
.args_type = "broadcast:-b,cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
666
.params = "[-b] cpu bank status mcgstatus addr misc",
667
.help = "inject a MCE on the given CPU [and broadcast to other CPUs with -b option]",
668
.mhandler.cmd = do_inject_mce,
675
.args_type = "fdname:s",
676
.params = "getfd name",
677
.help = "receive a file descriptor via SCM rights and assign it a name",
678
.user_print = monitor_user_noop,
679
.mhandler.cmd_new = do_getfd,
685
.args_type = "fdname:s",
686
.params = "closefd name",
687
.help = "close a file descriptor previously passed via SCM rights",
688
.user_print = monitor_user_noop,
689
.mhandler.cmd_new = do_closefd,
694
.name = "block_passwd",
695
.args_type = "device:B,password:s",
696
.params = "block_passwd device password",
697
.help = "set the password of encrypted block devices",
698
.user_print = monitor_user_noop,
699
.mhandler.cmd_new = do_block_set_passwd,
704
.name = "set_password",
705
.args_type = "protocol:s,password:s,connected:s?",
706
.params = "protocol password action-if-connected",
707
.help = "set spice/vnc password",
708
.user_print = monitor_user_noop,
709
.mhandler.cmd_new = set_password,
714
.name = "expire_password",
715
.args_type = "protocol:s,time:s",
716
.params = "protocol time",
717
.help = "set spice/vnc password expire-time",
718
.user_print = monitor_user_noop,
719
.mhandler.cmd_new = expire_password,
725
.args_type = "item:s?",
726
.params = "[subcommand]",
727
.help = "show various information about the system state",
728
.mhandler.cmd = do_info,
732
#ifdef CONFIG_TRACE_SIMPLE