Luigi Leonardi <[email protected]> writes:
> Add a "cmdline" property to the igvm-cfg object and a handler for the
> IGVM_VHT_COMMAND_LINE directive, which copies the string into the
> parameter area the directive points at.
>
> This command line is intended for the component running at VMPL0, such
> as SVSM, rather than for the guest OS, whose own command line still
> comes from -append. SVSM can use it to select the serial port it logs
> to, for example.
>
> Signed-off-by: Luigi Leonardi <[email protected]>
[...]
> diff --git a/qapi/qom.json b/qapi/qom.json
> index 5895c97750..d56bdef561 100644
> --- a/qapi/qom.json
> +++ b/qapi/qom.json
> @@ -1004,11 +1004,15 @@
> #
> # @file: IGVM file to use to configure guest
> #
> +# @cmdline: command line for the software loaded from the IGVM file,
> +# rather than for the guest OS. Ignored if the IGVM file does
> +# not ask for one. (since 11.2)
> +#
> # Since: 10.1
> ##
> { 'struct': 'IgvmCfgProperties',
> 'if': 'CONFIG_IGVM',
> - 'data': { 'file': 'str' } }
> + 'data': { 'file': 'str', '*cmdline': 'str' } }
>
> ##
> # @SevCommonProperties:
How is @cmdline going to be parsed? By a shell?
For what it's worth, MigrationExecCommand uses ['str']. Such values can
be passed to exec()-like functions without parsing.