X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=hmp-commands.hx;h=4f4f60a0dfd20bd6d37f19ceda17579098eb885e;hb=0f8445820f11a69154309863960328dda3dc1ad4;hp=328709dc8d8ac00d341a52dbd88da456805cc6b7;hpb=a01ff75fcdb4d91809ccdd2b95efda6ee1239cbb;p=mirror_qemu.git diff --git a/hmp-commands.hx b/hmp-commands.hx index 328709dc8d..4f4f60a0df 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -47,7 +47,6 @@ ETEXI .args_type = "", .params = "", .help = "quit the emulator", - .user_print = monitor_user_noop, .mhandler.cmd = hmp_quit, }, @@ -179,8 +178,7 @@ ETEXI .args_type = "id:B", .params = "device", .help = "remove host block device", - .user_print = monitor_user_noop, - .mhandler.cmd_new = hmp_drive_del, + .mhandler.cmd = hmp_drive_del, }, STEXI @@ -196,8 +194,8 @@ ETEXI { .name = "change", - .args_type = "device:B,target:F,arg:s?", - .params = "device filename [format]", + .args_type = "device:B,target:F,arg:s?,read-only-mode:s?", + .params = "device filename [format [read-only-mode]]", .help = "change a removable medium, optional format", .mhandler.cmd = hmp_change, }, @@ -205,11 +203,10 @@ ETEXI STEXI @item change @var{device} @var{setting} @findex change - Change the configuration of a device. @table @option -@item change @var{diskdevice} @var{filename} [@var{format}] +@item change @var{diskdevice} @var{filename} [@var{format} [@var{read-only-mode}]] Change the medium for a removable disk device to point to @var{filename}. eg @example @@ -218,6 +215,20 @@ Change the medium for a removable disk device to point to @var{filename}. eg @var{format} is optional. +@var{read-only-mode} may be used to change the read-only status of the device. +It accepts the following values: + +@table @var +@item retain +Retains the current status; this is the default. + +@item read-only +Makes the device read-only. + +@item read-write +Makes the device writable. +@end table + @item change vnc @var{display},@var{options} Change the configuration of the VNC server. The valid syntax for @var{display} and @var{options} are described at @ref{sec_invocation}. eg @@ -274,6 +285,7 @@ ETEXI .params = "name on|off", .help = "changes status of a specific trace event", .mhandler.cmd = hmp_trace_event, + .command_completion = trace_event_completion, }, STEXI @@ -523,7 +535,6 @@ ETEXI STEXI @item p or print/@var{fmt} @var{expr} @findex print - Print expression value. Only the @var{format} part of @var{fmt} is used. ETEXI @@ -537,6 +548,8 @@ ETEXI }, STEXI +@item i/@var{fmt} @var{addr} [.@var{index}] +@findex i Read I/O port. ETEXI @@ -549,6 +562,8 @@ ETEXI }, STEXI +@item o/@var{fmt} @var{addr} @var{val} +@findex o Write to I/O port. ETEXI @@ -564,7 +579,6 @@ ETEXI STEXI @item sendkey @var{keys} @findex sendkey - Send @var{keys} to the guest. @var{keys} could be the name of the key or the raw value in hexadecimal format. Use @code{-} to press several keys simultaneously. Example: @@ -587,7 +601,6 @@ ETEXI STEXI @item system_reset @findex system_reset - Reset the system. ETEXI @@ -602,7 +615,6 @@ ETEXI STEXI @item system_powerdown @findex system_powerdown - Power down the system (if supported). ETEXI @@ -617,7 +629,6 @@ ETEXI STEXI @item sum @var{addr} @var{size} @findex sum - Compute the checksum of a memory region. ETEXI @@ -632,7 +643,6 @@ ETEXI STEXI @item usb_add @var{devname} @findex usb_add - Add the USB device @var{devname}. For details of available devices see @ref{usb_devices} ETEXI @@ -648,7 +658,6 @@ ETEXI STEXI @item usb_del @var{devname} @findex usb_del - Remove the USB device @var{devname} from the QEMU virtual USB hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor command @code{info usb} to see the devices you can remove. @@ -659,15 +668,13 @@ ETEXI .args_type = "device:O", .params = "driver[,prop=value][,...]", .help = "add device, like -device on the command line", - .user_print = monitor_user_noop, - .mhandler.cmd_new = do_device_add, + .mhandler.cmd = hmp_device_add, .command_completion = device_add_completion, }, STEXI @item device_add @var{config} @findex device_add - Add device. ETEXI @@ -683,8 +690,8 @@ ETEXI STEXI @item device_del @var{id} @findex device_del - -Remove device @var{id}. +Remove device @var{id}. @var{id} may be a short ID +or a QOM object path. ETEXI { @@ -824,7 +831,6 @@ ETEXI STEXI @item boot_set @var{bootdevicelist} @findex boot_set - Define new values for the boot device list. Those values will override the values specified on the command line through the @code{-boot} option. @@ -998,32 +1004,63 @@ STEXI @item migrate_set_capability @var{capability} @var{state} @findex migrate_set_capability Enable/Disable the usage of a capability @var{capability} for migration. +ETEXI + + { + .name = "migrate_set_parameter", + .args_type = "parameter:s,value:i", + .params = "parameter value", + .help = "Set the parameter for migration", + .mhandler.cmd = hmp_migrate_set_parameter, + .command_completion = migrate_set_parameter_completion, + }, + +STEXI +@item migrate_set_parameter @var{parameter} @var{value} +@findex migrate_set_parameter +Set the parameter @var{parameter} for migration. +ETEXI + + { + .name = "migrate_start_postcopy", + .args_type = "", + .params = "", + .help = "Followup to a migration command to switch the migration" + " to postcopy mode. The postcopy-ram capability must " + "be set before the original migration command.", + .mhandler.cmd = hmp_migrate_start_postcopy, + }, + +STEXI +@item migrate_start_postcopy +@findex migrate_start_postcopy +Switch in-progress migration to postcopy mode. Ignored after the end of +migration (or once already in postcopy). ETEXI { .name = "client_migrate_info", .args_type = "protocol:s,hostname:s,port:i?,tls-port:i?,cert-subject:s?", .params = "protocol hostname port tls-port cert-subject", - .help = "send migration info to spice/vnc client", - .user_print = monitor_user_noop, - .mhandler.cmd_async = client_migrate_info, - .flags = MONITOR_CMD_ASYNC, + .help = "set migration information for remote display", + .mhandler.cmd = hmp_client_migrate_info, }, STEXI @item client_migrate_info @var{protocol} @var{hostname} @var{port} @var{tls-port} @var{cert-subject} @findex client_migrate_info -Set the spice/vnc connection info for the migration target. The spice/vnc -server will ask the spice/vnc client to automatically reconnect using the -new parameters (if specified) once the vm migration finished successfully. +Set migration information for remote display. This makes the server +ask the client to automatically reconnect using the new parameters +once migration finished successfully. Only implemented for SPICE. ETEXI { .name = "dump-guest-memory", - .args_type = "paging:-p,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", - .params = "[-p] [-z|-l|-s] filename [begin length]", + .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", + .params = "[-p] [-d] [-z|-l|-s] filename [begin length]", .help = "dump guest memory into file 'filename'.\n\t\t\t" "-p: do paging to get guest's memory mapping.\n\t\t\t" + "-d: return immediately (do not wait for completion).\n\t\t\t" "-z: dump in kdump-compressed format, with zlib compression.\n\t\t\t" "-l: dump in kdump-compressed format, with lzo compression.\n\t\t\t" "-s: dump in kdump-compressed format, with snappy compression.\n\t\t\t" @@ -1050,6 +1087,22 @@ gdb. Without -z|-l|-s, the dump format is ELF. together with begin. ETEXI +#if defined(TARGET_S390X) + { + .name = "dump-skeys", + .args_type = "filename:F", + .params = "", + .help = "Save guest storage keys into file 'filename'.\n", + .mhandler.cmd = hmp_dump_skeys, + }, +#endif + +STEXI +@item dump-skeys @var{filename} +@findex dump-skeys +Save guest storage keys to a file. +ETEXI + { .name = "snapshot_blkdev", .args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?", @@ -1148,8 +1201,8 @@ ETEXI { .name = "drive_add", - .args_type = "pci_addr:s,opts:s", - .params = "[[:]:]\n" + .args_type = "node:-n,pci_addr:s,opts:s", + .params = "[-n] [[:]:]\n" "[file=file][,if=type][,bus=n]\n" "[,unit=m][,media=d][,index=i]\n" "[,cyls=c,heads=h,secs=s[,trans=t]]\n" @@ -1180,8 +1233,7 @@ ETEXI " = error string or 32bit\n\t\t\t" " = 32bit x 4\n\t\t\t" " = 32bit x 4", - .user_print = pcie_aer_inject_error_print, - .mhandler.cmd_new = hmp_pcie_aer_inject_error, + .mhandler.cmd = hmp_pcie_aer_inject_error, }, STEXI @@ -1539,9 +1591,9 @@ ETEXI }, STEXI -@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} -@findex block_set_io_throttle -Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} +@item block_passwd @var{device} @var{password} +@findex block_passwd +Set the encrypted device @var{device} password to @var{password} ETEXI { @@ -1553,9 +1605,9 @@ ETEXI }, STEXI -@item block_passwd @var{device} @var{password} -@findex block_passwd -Set the encrypted device @var{device} password to @var{password} +@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} +@findex block_set_io_throttle +Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr} ETEXI { @@ -1569,7 +1621,6 @@ ETEXI STEXI @item set_password [ vnc | spice ] password [ action-if-connected ] @findex set_password - Change spice/vnc password. Use zero to make the password stay valid forever. @var{action-if-connected} specifies what should happen in case a connection is established: @var{fail} makes the password change @@ -1589,7 +1640,6 @@ ETEXI STEXI @item expire_password [ vnc | spice ] expire-time @findex expire_password - Specify when a password for spice/vnc becomes invalid. @var{expire-time} accepts: @@ -1620,9 +1670,8 @@ ETEXI }, STEXI -@item chardev_add args -@findex chardev_add - +@item chardev-add args +@findex chardev-add chardev_add accepts the same parameters as the -chardev command line switch. ETEXI @@ -1637,9 +1686,8 @@ ETEXI }, STEXI -@item chardev_remove id -@findex chardev_remove - +@item chardev-remove id +@findex chardev-remove Removes the chardev @var{id}. ETEXI @@ -1655,7 +1703,6 @@ ETEXI STEXI @item qemu-io @var{device} @var{command} @findex qemu-io - Executes a qemu-io command on the given block device. ETEXI @@ -1670,6 +1717,7 @@ ETEXI STEXI @item cpu-add @var{id} +@findex cpu-add Add CPU with id @var{id} ETEXI @@ -1708,96 +1756,6 @@ ETEXI .sub_table = info_cmds, }, -STEXI -@item info @var{subcommand} -@findex info -Show various information about the system state. - -@table @option -@item info version -show the version of QEMU -@item info network -show the various VLANs and the associated devices -@item info chardev -show the character devices -@item info block -show the block devices -@item info blockstats -show block device statistics -@item info registers -show the cpu registers -@item info cpus -show infos for each CPU -@item info history -show the command line history -@item info irq -show the interrupts statistics (if available) -@item info pic -show i8259 (PIC) state -@item info pci -show emulated PCI device info -@item info tlb -show virtual to physical memory mappings (i386, SH4, SPARC, PPC, and Xtensa only) -@item info mem -show the active virtual memory mappings (i386 only) -@item info jit -show dynamic compiler info -@item info numa -show NUMA information -@item info kvm -show KVM information -@item info usb -show USB devices plugged on the virtual USB hub -@item info usbhost -show all USB host devices -@item info profile -show profiling information -@item info capture -show information about active capturing -@item info snapshots -show list of VM snapshots -@item info status -show the current VM status (running|paused) -@item info mice -show which guest mouse is receiving events -@item info vnc -show the vnc server status -@item info name -show the current VM name -@item info uuid -show the current VM UUID -@item info cpustats -show CPU statistics -@item info usernet -show user network stack connection states -@item info migrate -show migration status -@item info migrate_capabilities -show current migration capabilities -@item info migrate_cache_size -show current migration XBZRLE cache size -@item info balloon -show balloon information -@item info qtree -show device tree -@item info qdm -show qdev device model list -@item info qom-tree -show object composition tree -@item info roms -show roms -@item info tpm -show the TPM device -@item info memory-devices -show the memory devices -@end table -ETEXI - -STEXI -@item info trace-events -show available trace events and their state -ETEXI - STEXI @end table ETEXI