[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 34/50] multi-process/mon: choose HMP commands based on tar
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH v5 34/50] multi-process/mon: choose HMP commands based on target |
Date: |
Thu, 5 Mar 2020 10:39:10 +0000 |
User-agent: |
Mutt/1.13.3 (2020-01-12) |
* Jagannathan Raman (address@hidden) wrote:
> From: Elena Ufimtseva <address@hidden>
>
> Add "targets" field to HMP command definition to select the targets
> which would be supported by each command
>
> Signed-off-by: Elena Ufimtseva <address@hidden>
> Signed-off-by: John G Johnson <address@hidden>
> Signed-off-by: Jagannathan Raman <address@hidden>
> ---
> hmp-commands-info.hx | 10 ++++++++++
> hmp-commands.hx | 20 ++++++++++++++++++++
> scripts/hxtool | 44 ++++++++++++++++++++++++++++++++++++++++++--
> 3 files changed, 72 insertions(+), 2 deletions(-)
> mode change 100644 => 100755 scripts/hxtool
>
> diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
> index 257ee7d..631cc76 100644
> --- a/hmp-commands-info.hx
> +++ b/hmp-commands-info.hx
> @@ -19,6 +19,7 @@ ETEXI
> .params = "",
> .help = "show the version of QEMU",
> .cmd = hmp_info_version,
> + .targets = "scsi",
> .flags = "p",
> },
>
> @@ -48,6 +49,7 @@ ETEXI
> .params = "",
> .help = "show the character devices",
> .cmd = hmp_info_chardev,
> + .targets = "scsi",
I'm a bit confused what this means; is this saying that the scsi-remote
will respond to 'info chardev' ? Why would it be interested in info
chardev?
> .flags = "p",
> },
>
> @@ -64,6 +66,7 @@ ETEXI
> .help = "show info of one block device or all block devices "
> "(-n: show named nodes; -v: show details)",
> .cmd = hmp_info_block,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -78,6 +81,7 @@ ETEXI
> .params = "",
> .help = "show block device statistics",
> .cmd = hmp_info_blockstats,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -92,6 +96,7 @@ ETEXI
> .params = "",
> .help = "show progress of ongoing block device operations",
> .cmd = hmp_info_block_jobs,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -167,6 +172,7 @@ ETEXI
> .params = "",
> .help = "show the command line history",
> .cmd = hmp_info_history,
> + .targets = "scsi",
> .flags = "p",
> },
>
> @@ -224,6 +230,7 @@ ETEXI
> .params = "",
> .help = "show PCI info",
> .cmd = hmp_info_pci,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -630,6 +637,7 @@ ETEXI
> .params = "",
> .help = "show device tree",
> .cmd = hmp_info_qtree,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -644,6 +652,7 @@ ETEXI
> .params = "",
> .help = "show qdev device model list",
> .cmd = hmp_info_qdm,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -658,6 +667,7 @@ ETEXI
> .params = "[path]",
> .help = "show QOM composition tree",
> .cmd = hmp_info_qom_tree,
> + .targets = "scsi",
> .flags = "p",
> },
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index dc23185..ecc6169 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -49,6 +49,7 @@ ETEXI
> .params = "",
> .help = "quit the emulator",
> .cmd = hmp_quit,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -82,6 +83,7 @@ ETEXI
> .params = "device size",
> .help = "resize a block image",
> .cmd = hmp_block_resize,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -99,6 +101,7 @@ ETEXI
> .params = "device [speed [base]]",
> .help = "copy data from a backing file into a block device",
> .cmd = hmp_block_stream,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -113,6 +116,7 @@ ETEXI
> .params = "device speed",
> .help = "set maximum speed for a background block operation",
> .cmd = hmp_block_job_set_speed,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -129,6 +133,7 @@ ETEXI
> "\n\t\t\t if you want to abort the operation
> immediately"
> "\n\t\t\t instead of keep running until data is in
> sync)",
> .cmd = hmp_block_job_cancel,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -143,6 +148,7 @@ ETEXI
> .params = "device",
> .help = "stop an active background block operation",
> .cmd = hmp_block_job_complete,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -158,6 +164,7 @@ ETEXI
> .params = "device",
> .help = "pause an active background block operation",
> .cmd = hmp_block_job_pause,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -172,6 +179,7 @@ ETEXI
> .params = "device",
> .help = "resume a paused background block operation",
> .cmd = hmp_block_job_resume,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -186,6 +194,7 @@ ETEXI
> .params = "[-f] device",
> .help = "eject a removable medium (use -f to force it)",
> .cmd = hmp_eject,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -200,6 +209,7 @@ ETEXI
> .params = "device",
> .help = "remove host block device",
> .cmd = hmp_drive_del,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -219,6 +229,7 @@ ETEXI
> .params = "device filename [format [read-only-mode]]",
> .help = "change a removable medium, optional format",
> .cmd = hmp_change,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -732,6 +743,7 @@ ETEXI
> .help = "add device, like -device on the command line",
> .cmd = hmp_device_add,
> .command_completion = device_add_completion,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -747,6 +759,7 @@ ETEXI
> .help = "remove device",
> .cmd = hmp_device_del,
> .command_completion = device_del_completion,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1351,6 +1364,7 @@ ETEXI
> "The -c flag requests QEMU to compress backup
> data\n\t\t\t"
> "(if the target format supports it).\n\t\t\t",
> .cmd = hmp_drive_backup,
> + .targets = "scsi",
> },
> STEXI
> @item drive_backup
> @@ -1368,6 +1382,7 @@ ETEXI
> "[,readonly=on|off][,copy-on-read=on|off]",
> .help = "add drive to PCI storage controller",
> .cmd = hmp_drive_add,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1816,6 +1831,7 @@ ETEXI
> .help = "add chardev",
> .cmd = hmp_chardev_add,
> .command_completion = chardev_add_completion,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1831,6 +1847,7 @@ ETEXI
> .params = "id args",
> .help = "change chardev",
> .cmd = hmp_chardev_change,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1848,6 +1865,7 @@ ETEXI
> .help = "remove chardev",
> .cmd = hmp_chardev_remove,
> .command_completion = chardev_remove_completion,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1864,6 +1882,7 @@ ETEXI
> .help = "send a break on chardev",
> .cmd = hmp_chardev_send_break,
> .command_completion = chardev_remove_completion,
> + .targets = "scsi",
> },
>
> STEXI
> @@ -1940,6 +1959,7 @@ ETEXI
> .params = "[subcommand]",
> .help = "show various information about the system state",
> .cmd = hmp_info_help,
> + .targets = "scsi",
> .sub_table = hmp_info_cmds,
> .flags = "p",
> },
> diff --git a/scripts/hxtool b/scripts/hxtool
> old mode 100644
> new mode 100755
> index 0003e7b..802cbd4
> --- a/scripts/hxtool
> +++ b/scripts/hxtool
> @@ -10,7 +10,14 @@ hxtoh()
> STEXI*|ETEXI*|SRST*|ERST*) flag=$(($flag^1))
> ;;
> *)
> - test $flag -eq 1 && printf "%s\n" "$str"
> + # Skip line that has ".targets" as it is for multi-process
> targets based hmp
> + # commands generation.
> + echo $str | grep -q '.targets'
> + if [ $? -eq 0 ]; then
> + continue
> + else
> + test $flag -eq 1 && printf "%s\n" "$str"
> + fi
> ;;
> esac
> done
> @@ -84,16 +91,49 @@ hxtotexi()
> print_texi_heading "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
> ;;
> *)
> - test $flag -eq 1 && printf '%s\n' "$str"
> + # Skip line that has ".targets" as it is for multi-process
> targets based hmp
> + # commands generation.
> + echo $str | grep -q '.targetss'
One extra 's' ?
> + if [ $? -eq 0 ]; then
> + continue
> + else
> + test $flag -eq 1 && printf '%s\n' "$str"
> + fi
> ;;
> esac
> line=$((line+1))
> done
> }
>
> +hxtoh_tgt()
> +{
> + section=""
> + flag=1
> + use_section=0
> + while read -r str; do
> + # Print section if it has ".targets" and the second argument passed
> to the
> + # script, such as "scsi".
> + echo "$str" | grep -q -E ".targets.*$1"
> + if [ $? -eq 0 ]; then
> + use_section=1
> + continue
> + fi
> + case $str in
> + HXCOMM*)
> + ;;
> + STEXI*|ETEXI*) flag=$(($flag^1)); test $use_section -eq 1 &&
> printf '%s' "$section"; section=""; use_section=0
> + ;;
> + *)
> + test $flag -eq 1 && section="${section} ${str} ${IFS}"
> + ;;
> + esac
> + done
> +}
> +
> case "$1" in
> "-h") hxtoh ;;
> "-t") hxtotexi ;;
> +"-tgt") hxtoh_tgt $2 ;;
> *) exit 1 ;;
> esac
>
> --
> 1.8.3.1
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- Re: [PATCH v5 34/50] multi-process/mon: choose HMP commands based on target,
Dr. David Alan Gilbert <=