[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] qapi/machine: Place the 'Notes' tag after the 'Since' tag
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2] qapi/machine: Place the 'Notes' tag after the 'Since' tag |
Date: |
Fri, 28 Feb 2020 18:34:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Philippe Mathieu-Daudé <address@hidden> writes:
> On 2/28/20 7:56 AM, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <address@hidden> writes:
>>> On 2/27/20 3:55 PM, Philippe Mathieu-Daudé wrote:
>>>> On 2/27/20 3:52 PM, Markus Armbruster wrote:
>>>>> Philippe Mathieu-Daudé <address@hidden> writes:
>>>>>
>>>>>> This fixes when adding a 'Since' tag:
>>>>>>
>>>>>> In file included from qapi/qapi-schema.json:105:
>>>>>> qapi/machine.json:25:1: '@arch:' can't follow 'Notes' section
>>>>>
>>>>> I'm confused. This error is detected in scripts/qapi/parser.py, and it
>>>>> is fatal. Is the build broken for you? It isn't for me. Moreover,
>>>>> where is @arch? I can't see it anywhere close to the two spots the
>>>>> patch patches.
>>>>
>>>> I get the error after trying to fix what Eric commented here:
>>>> https://www.mail-archive.com/address@hidden/msg682344.html
>>>
>>> Using:
>>> ---
>>> diff --git a/qapi/machine.json b/qapi/machine.json
>>> index 6c11e3cf3a..40a36d6276 100644
>>> --- a/qapi/machine.json
>>> +++ b/qapi/machine.json
>>> @@ -20,13 +20,15 @@
>>> # prefix to produce the corresponding QEMU executable name. This
>>> # is true even for "qemu-system-x86_64".
>>> #
>>> +# @rx: since 5.0
>>> +#
>>> # Since: 3.0
>>> ##
>>> { 'enum' : 'SysEmuTarget',
>>> 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
>>> 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
>>> 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
>>> - 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
>>> + 'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
>>> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
>>> 'x86_64', 'xtensa', 'xtensaeb' ] }
>>> ---
>>>
>>> or
>>>
>>> ---
>>> diff --git a/qapi/machine.json b/qapi/machine.json
>>> index 6c11e3cf3a..4b59e87b6f 100644
>>> --- a/qapi/machine.json
>>> +++ b/qapi/machine.json
>>> @@ -21,12 +21,14 @@
>>> # is true even for "qemu-system-x86_64".
>>> #
>>> # Since: 3.0
>>> +#
>>> +# @rx: since 5.0
>>> ##
>>> { 'enum' : 'SysEmuTarget',
>>> 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
>>> 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
>>> 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
>>> - 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
>>> + 'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
>>> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
>>> 'x86_64', 'xtensa', 'xtensaeb' ] }
>>> ---
>>>
>>> I get:
>>>
>>> GEN qapi-gen
>>> GEN rx-softmmu/config-devices.mak
>>> In file included from qapi/qapi-schema.json:105:
>>> qapi/machine.json:23:1: '@rx:' can't follow 'Notes' section
>>> make: *** [Makefile:645: qapi-gen-timestamp] Error 1
>>>
>>> This works however:
>>>
>>> ---
>>> ##
>>> # @SysEmuTarget:
>>> #
>>> # The comprehensive enumeration of QEMU system emulation ("softmmu")
>>> # targets. Run "./configure --help" in the project root directory, and
>>> # look for the *-softmmu targets near the "--target-list" option. The
>>> # individual target constants are not documented here, for the time
>>> # being.
>>> #
>>> +# @rx: since 5.0
>>> +#
>>> # Notes: The resulting QMP strings can be appended to the "qemu-system-"
>>> # prefix to produce the corresponding QEMU executable name. This
>>> # is true even for "qemu-system-x86_64".
>>> #
>>> # Since: 3.0
>>> ##
>>> { 'enum' : 'SysEmuTarget',
>>> 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
>>> 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
>>> 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
>>> - 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
>>> + 'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
>>> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
>>> 'x86_64', 'xtensa', 'xtensaeb' ] }
>>> ---
>>
>> This one adds it to the correct spot.
>
> OK I'll use that then.
>
>>
>> qapi-code-gen.txt:
>>
>> Definition documentation starts with a line naming the definition,
>> followed by an optional overview, a description of each argument (for
>> commands and events), member (for structs and unions), branch (for
>> alternates), or value (for enums), and finally optional tagged
>> sections.
>
> I was confused because I understood "@rx: since 5.0" as a tagged
> section, not as an "Optional overview".
It's actually "a description of a value", not "optional overview".
[...]