[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all th
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx |
Date: |
Thu, 27 Mar 2014 10:46:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Amos Kong <address@hidden> writes:
> On Wed, Mar 26, 2014 at 02:15:18PM +0100, Markus Armbruster wrote:
>> Amos Kong <address@hidden> writes:
>>
>> > On Fri, Mar 07, 2014 at 10:54:09AM +0100, Markus Armbruster wrote:
>> >> Eric Blake <address@hidden> writes:
>> >>
>> >> > On 03/05/2014 07:36 PM, Amos Kong wrote:
>> >> >> vm_config_groups[] only contains part of the options which have
>> >> >> argument, and all options which have no argument aren't added
>> >> >> to vm_config_groups[]. Current query-command-line-options only
>> >> >> checks options from vm_config_groups[], so some options will
>> >> >> be lost.
>> >> >>
>> >> >> We have macro in qemu-options.hx to generate a table that
>> >> >> contains all the options. This patch tries to query options
>> >> >> from the table.
>> >> >>
>> >> >> Then we won't lose the legacy options that weren't added to
>> >> >> vm_config_groups[] (eg: -vnc, -smbios). The options that have
>> >> >> no argument will also be returned (eg: -enable-fips)
>> >> >>
>> >> >> Some options that have argument have a NULL desc list, some
>> >> >> options don't have argument, and "parameters" is mandatory
>> >> >> in the past. So we add a new field "argument" to present
>> >> >> if the option takes unspecified arguments.
>> >> >
>> >> > I like Markus' suggestion of naming the new field
>> >> > 'unspecified-parameters' rather than 'argument'.
>> >
>> > Hi Markus,
>> >
>> >> Looking again, there are more problems.
>> >>
>> >> 1. Non-parameter argument vs. parameter argument taking unspecified
>> >> parameters
>> >>
>> >> Example: -device takes unspecified parameters. -cdrom doesn't take
>> >> parameters, it takes a file name. Yet, the command reports the same
>> >> for both: "parameters": [], "argument": true.
>> >>
>> >> Looks like we need a tri-state: option takes no argument, QemuOpts
>> >> argument, or other argument.
>> >
>> > '-cdrom' is the 'other argument' == 'Non-parameter argument'?
>>
>> Let me clarify my terminology:
>>
>> * A "parameter argument" is an option argument of the form KEY=VALUE,...
>> Since parameter arguments should always be parsed with QemuOpts[*], I
>> use the term "QemuOpts argument" interchangeably.
>>
>> * A "non-parameter argument" or "other argument" is an option argument
>> that doesn't use this form.
>>
>> Does that answer your question?
>
> Got it, thanks.
>
>> > We can use a enum state.
>>
>> I'm not sure I got that.
>>
>> > | { 'enum': 'ArgumentStateType',
>> > | 'data': ['no-argument', 'unspecified-parameters-argument',
>> > | 'non-parameter-argument']
>> > | }
>
>
> {'enum': 'ArgumentStateType',
> 'data': ['no-argument', 'qemuopts-argument', 'non-param-argument']
> }
>
> no-argument: -enable-kvm
> qemuopts-argument: -boot order=c,menu=on
> non-param-argument: -cdrom file
>
>
> I don't know if it's the tri-state you suggested in previous reply.
It is.
Maybe
{ 'enum': 'OptionArgumentKind',
'data': ['none, 'QemuOpts, 'other'] }
The type name makes clear it's about *option* argument, and avoids
connotation with schema types or C types. The enum value names are
short and to the point.
[...]
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, (continued)
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Markus Armbruster, 2014/03/07
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Eric Blake, 2014/03/10
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Markus Armbruster, 2014/03/11
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Eric Blake, 2014/03/11
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Amos Kong, 2014/03/20
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Amos Kong, 2014/03/27
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Amos Kong, 2014/03/20
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Amos Kong, 2014/03/20
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Markus Armbruster, 2014/03/26
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Amos Kong, 2014/03/27
- Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx,
Markus Armbruster <=
Re: [Qemu-devel] [PATCH v4 2/2] query-command-line-options: query all the options in qemu-options.hx, Markus Armbruster, 2014/03/07