Diff for /qemu/qmp-commands.hx between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2018/04/24 19:17:18 version 1.1.1.4, 2018/04/24 19:34:29
Line 84  EQMP Line 84  EQMP
     {      {
         .name       = "eject",          .name       = "eject",
         .args_type  = "force:-f,device:B",          .args_type  = "force:-f,device:B",
         .params     = "[-f] device",          .mhandler.cmd_new = qmp_marshal_input_eject,
         .help       = "eject a removable medium (use -f to force it)",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_eject,  
     },      },
   
 SQMP  SQMP
Line 113  EQMP Line 110  EQMP
     {      {
         .name       = "change",          .name       = "change",
         .args_type  = "device:B,target:F,arg:s?",          .args_type  = "device:B,target:F,arg:s?",
         .params     = "device filename [format]",          .mhandler.cmd_new = qmp_marshal_input_change,
         .help       = "change a removable medium, optional format",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_change,  
     },      },
   
 SQMP  SQMP
Line 199  EQMP Line 193  EQMP
     {      {
         .name       = "cont",          .name       = "cont",
         .args_type  = "",          .args_type  = "",
         .params     = "",          .mhandler.cmd_new = qmp_marshal_input_cont,
         .help       = "resume emulation",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_cont,  
     },      },
   
 SQMP  SQMP
Line 221  Example: Line 212  Example:
 EQMP  EQMP
   
     {      {
           .name       = "system_wakeup",
           .args_type  = "",
           .mhandler.cmd_new = qmp_marshal_input_system_wakeup,
       },
   
   SQMP
   system_wakeup
   -------------
   
   Wakeup guest from suspend.
   
   Arguments: None.
   
   Example:
   
   -> { "execute": "system_wakeup" }
   <- { "return": {} }
   
   EQMP
   
       {
         .name       = "system_reset",          .name       = "system_reset",
         .args_type  = "",          .args_type  = "",
         .mhandler.cmd_new = qmp_marshal_input_system_reset,          .mhandler.cmd_new = qmp_marshal_input_system_reset,
Line 244  EQMP Line 256  EQMP
     {      {
         .name       = "system_powerdown",          .name       = "system_powerdown",
         .args_type  = "",          .args_type  = "",
         .params     = "",          .mhandler.cmd_new = qmp_marshal_input_system_powerdown,
         .help       = "send system power down event",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_system_powerdown,  
     },      },
   
 SQMP  SQMP
Line 305  EQMP Line 314  EQMP
     {      {
         .name       = "device_del",          .name       = "device_del",
         .args_type  = "id:s",          .args_type  = "id:s",
         .params     = "device",          .mhandler.cmd_new = qmp_marshal_input_device_del,
         .help       = "remove device",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_device_del,  
     },      },
   
 SQMP  SQMP
Line 355  EQMP Line 361  EQMP
   
     {      {
         .name       = "memsave",          .name       = "memsave",
         .args_type  = "val:l,size:i,filename:s",          .args_type  = "val:l,size:i,filename:s,cpu:i?",
         .params     = "addr size file",          .mhandler.cmd_new = qmp_marshal_input_memsave,
         .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_memory_save,  
     },      },
   
 SQMP  SQMP
Line 373  Arguments: Line 376  Arguments:
 - "val": the starting address (json-int)  - "val": the starting address (json-int)
 - "size": the memory size, in bytes (json-int)  - "size": the memory size, in bytes (json-int)
 - "filename": file path (json-string)  - "filename": file path (json-string)
   - "cpu": virtual CPU index (json-int, optional)
   
 Example:  Example:
   
Line 382  Example: Line 386  Example:
                             "filename": "/tmp/virtual-mem-dump" } }                              "filename": "/tmp/virtual-mem-dump" } }
 <- { "return": {} }  <- { "return": {} }
   
 Note: Depends on the current CPU.  
   
 EQMP  EQMP
   
     {      {
         .name       = "pmemsave",          .name       = "pmemsave",
         .args_type  = "val:l,size:i,filename:s",          .args_type  = "val:l,size:i,filename:s",
         .params     = "addr size file",          .mhandler.cmd_new = qmp_marshal_input_pmemsave,
         .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_physical_memory_save,  
     },      },
   
 SQMP  SQMP
Line 420  EQMP Line 419  EQMP
     {      {
         .name       = "inject-nmi",          .name       = "inject-nmi",
         .args_type  = "",          .args_type  = "",
         .params     = "",          .mhandler.cmd_new = qmp_marshal_input_inject_nmi,
         .help       = "",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_inject_nmi,  
     },      },
   
 SQMP  SQMP
Line 445  Note: inject-nmi is only supported for x Line 441  Note: inject-nmi is only supported for x
 EQMP  EQMP
   
     {      {
           .name       = "xen-save-devices-state",
           .args_type  = "filename:F",
       .mhandler.cmd_new = qmp_marshal_input_xen_save_devices_state,
       },
   
   SQMP
   xen-save-devices-state
   -------
   
   Save the state of all devices to file. The RAM and the block devices
   of the VM are not saved by this command.
   
   Arguments:
   
   - "filename": the file to save the state of the devices to as binary
   data. See xen-save-devices-state.txt for a description of the binary
   format.
   
   Example:
   
   -> { "execute": "xen-save-devices-state",
        "arguments": { "filename": "/tmp/save" } }
   <- { "return": {} }
   
   EQMP
   
       {
         .name       = "migrate",          .name       = "migrate",
         .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",          .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
         .params     = "[-d] [-b] [-i] uri",          .mhandler.cmd_new = qmp_marshal_input_migrate,
         .help       = "migrate to URI (using -d to not wait for completion)"  
                       "\n\t\t\t -b for migration without shared storage with"  
                       " full copy of disk\n\t\t\t -i for migration without "  
                       "shared storage with incremental copy of disk "  
                       "(base image shared between src and destination)",  
         .user_print = monitor_user_noop,          
         .mhandler.cmd_new = do_migrate,  
     },      },
   
 SQMP  SQMP
Line 487  EQMP Line 503  EQMP
     {      {
         .name       = "migrate_cancel",          .name       = "migrate_cancel",
         .args_type  = "",          .args_type  = "",
         .params     = "",          .mhandler.cmd_new = qmp_marshal_input_migrate_cancel,
         .help       = "cancel the current VM migration",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_migrate_cancel,  
     },      },
   
 SQMP  SQMP
Line 511  EQMP Line 524  EQMP
     {      {
         .name       = "migrate_set_speed",          .name       = "migrate_set_speed",
         .args_type  = "value:o",          .args_type  = "value:o",
         .params     = "value",          .mhandler.cmd_new = qmp_marshal_input_migrate_set_speed,
         .help       = "set maximum speed (in bytes) for migrations",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_migrate_set_speed,  
     },      },
   
 SQMP  SQMP
Line 537  EQMP Line 547  EQMP
     {      {
         .name       = "migrate_set_downtime",          .name       = "migrate_set_downtime",
         .args_type  = "value:T",          .args_type  = "value:T",
         .params     = "value",          .mhandler.cmd_new = qmp_marshal_input_migrate_set_downtime,
         .help       = "set maximum tolerated downtime (in seconds) for migrations",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_migrate_set_downtime,  
     },      },
   
 SQMP  SQMP
Line 658  EQMP Line 665  EQMP
     {      {
         .name       = "block_resize",          .name       = "block_resize",
         .args_type  = "device:B,size:o",          .args_type  = "device:B,size:o",
         .params     = "device size",          .mhandler.cmd_new = qmp_marshal_input_block_resize,
         .help       = "resize a block image",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_block_resize,  
     },      },
   
 SQMP  SQMP
Line 683  Example: Line 687  Example:
 EQMP  EQMP
   
     {      {
           .name       = "block-stream",
           .args_type  = "device:B,base:s?,speed:o?",
           .mhandler.cmd_new = qmp_marshal_input_block_stream,
       },
   
       {
           .name       = "block-job-set-speed",
           .args_type  = "device:B,speed:o",
           .mhandler.cmd_new = qmp_marshal_input_block_job_set_speed,
       },
   
       {
           .name       = "block-job-cancel",
           .args_type  = "device:B",
           .mhandler.cmd_new = qmp_marshal_input_block_job_cancel,
       },
       {
           .name       = "transaction",
           .args_type  = "actions:q",
           .mhandler.cmd_new = qmp_marshal_input_transaction,
       },
   
   SQMP
   transaction
   -----------
   
   Atomically operate on one or more block devices.  The only supported
   operation for now is snapshotting.  If there is any failure performing
   any of the operations, all snapshots for the group are abandoned, and
   the original disks pre-snapshot attempt are used.
   
   A list of dictionaries is accepted, that contains the actions to be performed.
   For snapshots this is the device, the file to use for the new snapshot,
   and the format.  The default format, if not specified, is qcow2.
   
   Each new snapshot defaults to being created by QEMU (wiping any
   contents if the file already exists), but it is also possible to reuse
   an externally-created file.  In the latter case, you should ensure that
   the new image file has the same contents as the current one; QEMU cannot
   perform any meaningful check.  Typically this is achieved by using the
   current image file as the backing file for the new image.
   
   Arguments:
   
   actions array:
       - "type": the operation to perform.  The only supported
         value is "blockdev-snapshot-sync". (json-string)
       - "data": a dictionary.  The contents depend on the value
         of "type".  When "type" is "blockdev-snapshot-sync":
         - "device": device name to snapshot (json-string)
         - "snapshot-file": name of new image file (json-string)
         - "format": format of new image (json-string, optional)
         - "mode": whether and how QEMU should create the snapshot file
           (NewImageMode, optional, default "absolute-paths")
   
   Example:
   
   -> { "execute": "transaction",
        "arguments": { "actions": [
            { 'type': 'blockdev-snapshot-sync', 'data' : { "device": "ide-hd0",
                                            "snapshot-file": "/some/place/my-image",
                                            "format": "qcow2" } },
            { 'type': 'blockdev-snapshot-sync', 'data' : { "device": "ide-hd1",
                                            "snapshot-file": "/some/place/my-image2",
                                            "mode": "existing",
                                            "format": "qcow2" } } ] } }
   <- { "return": {} }
   
   EQMP
   
       {
         .name       = "blockdev-snapshot-sync",          .name       = "blockdev-snapshot-sync",
         .args_type  = "device:B,snapshot-file:s?,format:s?",          .args_type  = "device:B,snapshot-file:s,format:s?,mode:s?",
         .params     = "device [new-image-file] [format]",          .mhandler.cmd_new = qmp_marshal_input_blockdev_snapshot_sync,
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_snapshot_blkdev,  
     },      },
   
 SQMP  SQMP
Line 704  Arguments: Line 777  Arguments:
   
 - "device": device name to snapshot (json-string)  - "device": device name to snapshot (json-string)
 - "snapshot-file": name of new image file (json-string)  - "snapshot-file": name of new image file (json-string)
   - "mode": whether and how QEMU should create the snapshot file
     (NewImageMode, optional, default "absolute-paths")
 - "format": format of new image (json-string, optional)  - "format": format of new image (json-string, optional)
   
 Example:  Example:
Line 719  EQMP Line 794  EQMP
     {      {
         .name       = "balloon",          .name       = "balloon",
         .args_type  = "value:M",          .args_type  = "value:M",
         .params     = "target",          .mhandler.cmd_new = qmp_marshal_input_balloon,
         .help       = "request VM to change its memory allocation (in MB)",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_async = do_balloon,  
         .flags      = MONITOR_CMD_ASYNC,  
     },      },
   
 SQMP  SQMP
Line 746  EQMP Line 817  EQMP
     {      {
         .name       = "set_link",          .name       = "set_link",
         .args_type  = "name:s,up:b",          .args_type  = "name:s,up:b",
         .params     = "name on|off",          .mhandler.cmd_new = qmp_marshal_input_set_link,
         .help       = "change the link status of a network adapter",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_set_link,  
     },      },
   
 SQMP  SQMP
Line 825  EQMP Line 893  EQMP
     {      {
         .name       = "block_passwd",          .name       = "block_passwd",
         .args_type  = "device:B,password:s",          .args_type  = "device:B,password:s",
         .params     = "block_passwd device password",          .mhandler.cmd_new = qmp_marshal_input_block_passwd,
         .help       = "set the password of encrypted block devices",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_block_set_passwd,  
     },      },
   
 SQMP  SQMP
Line 851  Example: Line 916  Example:
 EQMP  EQMP
   
     {      {
           .name       = "block_set_io_throttle",
           .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
           .mhandler.cmd_new = qmp_marshal_input_block_set_io_throttle,
       },
   
   SQMP
   block_set_io_throttle
   ------------
   
   Change I/O throttle limits for a block drive.
   
   Arguments:
   
   - "device": device name (json-string)
   - "bps":  total throughput limit in bytes per second(json-int)
   - "bps_rd":  read throughput limit in bytes per second(json-int)
   - "bps_wr":  read throughput limit in bytes per second(json-int)
   - "iops":  total I/O operations per second(json-int)
   - "iops_rd":  read I/O operations per second(json-int)
   - "iops_wr":  write I/O operations per second(json-int)
   
   Example:
   
   -> { "execute": "block_set_io_throttle", "arguments": { "device": "virtio0",
                                                  "bps": "1000000",
                                                  "bps_rd": "0",
                                                  "bps_wr": "0",
                                                  "iops": "0",
                                                  "iops_rd": "0",
                                                  "iops_wr": "0" } }
   <- { "return": {} }
   
   EQMP
   
       {
         .name       = "set_password",          .name       = "set_password",
         .args_type  = "protocol:s,password:s,connected:s?",          .args_type  = "protocol:s,password:s,connected:s?",
         .params     = "protocol password action-if-connected",          .mhandler.cmd_new = qmp_marshal_input_set_password,
         .help       = "set spice/vnc password",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = set_password,  
     },      },
   
 SQMP  SQMP
Line 882  EQMP Line 979  EQMP
     {      {
         .name       = "expire_password",          .name       = "expire_password",
         .args_type  = "protocol:s,time:s",          .args_type  = "protocol:s,time:s",
         .params     = "protocol time",          .mhandler.cmd_new = qmp_marshal_input_expire_password,
         .help       = "set spice/vnc password expire-time",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = expire_password,  
     },      },
   
 SQMP  SQMP
Line 909  EQMP Line 1003  EQMP
   
     {      {
         .name       = "add_client",          .name       = "add_client",
         .args_type  = "protocol:s,fdname:s,skipauth:b?",          .args_type  = "protocol:s,fdname:s,skipauth:b?,tls:b?",
         .params     = "protocol fdname skipauth",          .params     = "protocol fdname skipauth tls",
         .help       = "add a graphics client",          .help       = "add a graphics client",
         .user_print = monitor_user_noop,          .user_print = monitor_user_noop,
         .mhandler.cmd_new = add_graphics_client,          .mhandler.cmd_new = add_graphics_client,
Line 926  Arguments: Line 1020  Arguments:
   
 - "protocol": protocol name (json-string)  - "protocol": protocol name (json-string)
 - "fdname": file descriptor name (json-string)  - "fdname": file descriptor name (json-string)
   - "skipauth": whether to skip authentication (json-bool, optional)
   - "tls": whether to perform TLS (json-bool, optional)
   
 Example:  Example:
   
Line 963  EQMP Line 1059  EQMP
     {      {
         .name       = "human-monitor-command",          .name       = "human-monitor-command",
         .args_type  = "command-line:s,cpu-index:i?",          .args_type  = "command-line:s,cpu-index:i?",
         .params     = "",          .mhandler.cmd_new = qmp_marshal_input_human_monitor_command,
         .help       = "",  
         .user_print = monitor_user_noop,  
         .mhandler.cmd_new = do_hmp_passthrough,  
     },      },
   
 SQMP  SQMP
Line 1152  Each json-object contain the following: Line 1245  Each json-object contain the following:
                                 "tftp", "vdi", "vmdk", "vpc", "vvfat"                                  "tftp", "vdi", "vmdk", "vpc", "vvfat"
          - "backing_file": backing file name (json-string, optional)           - "backing_file": backing file name (json-string, optional)
          - "encrypted": true if encrypted, false otherwise (json-bool)           - "encrypted": true if encrypted, false otherwise (json-bool)
            - "bps": limit total bytes per second (json-int)
            - "bps_rd": limit read bytes per second (json-int)
            - "bps_wr": limit write bytes per second (json-int)
            - "iops": limit total I/O operations per second (json-int)
            - "iops_rd": limit read operations per second (json-int)
            - "iops_wr": limit write operations per second (json-int)
   
 - "io-status": I/O operation status, only present if the device supports it  - "io-status": I/O operation status, only present if the device supports it
                and the VM is configured to stop on errors. It's always reset                 and the VM is configured to stop on errors. It's always reset
                to "ok" when the "cont" command is issued (json_string, optional)                 to "ok" when the "cont" command is issued (json_string, optional)
Line 1171  Example: Line 1271  Example:
                "ro":false,                 "ro":false,
                "drv":"qcow2",                 "drv":"qcow2",
                "encrypted":false,                 "encrypted":false,
                "file":"disks/test.img"                 "file":"disks/test.img",
                  "bps":1000000,
                  "bps_rd":0,
                  "bps_wr":0,
                  "iops":1000000,
                  "iops_rd":0,
                  "iops_wr":0,
             },              },
             "type":"unknown"              "type":"unknown"
          },           },
Line 2001  EQMP Line 2107  EQMP
         .args_type  = "",          .args_type  = "",
         .mhandler.cmd_new = qmp_marshal_input_query_balloon,          .mhandler.cmd_new = qmp_marshal_input_query_balloon,
     },      },
   
       {
           .name       = "query-block-jobs",
           .args_type  = "",
           .mhandler.cmd_new = qmp_marshal_input_query_block_jobs,
       },
   
       {
           .name       = "qom-list",
           .args_type  = "path:s",
           .mhandler.cmd_new = qmp_marshal_input_qom_list,
       },
   
       {
           .name       = "qom-set",
           .args_type  = "path:s,property:s,value:q",
           .mhandler.cmd_new = qmp_qom_set,
       },
   
       {
           .name       = "qom-get",
           .args_type  = "path:s,property:s",
           .mhandler.cmd_new = qmp_qom_get,
       },
   
       {
           .name       = "change-vnc-password",
           .args_type  = "password:s",
           .mhandler.cmd_new = qmp_marshal_input_change_vnc_password,
       },
       {
           .name       = "qom-list-types",
           .args_type  = "implements:s?,abstract:b?",
           .mhandler.cmd_new = qmp_marshal_input_qom_list_types,
       },

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


unix.superglobalmegacorp.com