qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 8dc007: qapi: Restrict LostTickPolicy enum to


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 8dc007: qapi: Restrict LostTickPolicy enum to machine code
Date: Wed, 30 Sep 2020 03:30:31 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 8dc007d3d9f79d0c60c750055a79ce8b21bfb494
      
https://github.com/qemu/qemu/commit/8dc007d3d9f79d0c60c750055a79ce8b21bfb494
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M hw/core/qdev-properties.c
    M hw/i386/kvm/i8254.c
    M include/hw/rtc/mc146818rtc.h
    M qapi/machine.json
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Restrict LostTickPolicy enum to machine code

Restricting LostTickPolicy to machine.json pulls slightly less
QAPI-generated code into user-mode.

Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-2-philmd@redhat.com>
[Add rationale to commit message]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 81e248ce7b5752f21c641a619b8301dccc773c44
      
https://github.com/qemu/qemu/commit/81e248ce7b5752f21c641a619b8301dccc773c44
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Correct balloon documentation

The documentation incorrectly uses the "size of the balloon"
description when it should be "logical size of the VM". Fix it.

The relation between both values is:

  logical_vm_size = vm_ram_size - balloon_size

Reported-by: David Hildenbrand <david@redhat.com>
Suggested-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-3-philmd@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: a83e24ba1a52e2f0a00239c8b79edafaa61515aa
      
https://github.com/qemu/qemu/commit/a83e24ba1a52e2f0a00239c8b79edafaa61515aa
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M hw/virtio/virtio-balloon.c
    M include/sysemu/balloon.h
    M monitor/hmp-cmds.c
    M qapi/machine.json
    M qapi/misc.json
    M softmmu/balloon.c

  Log Message:
  -----------
  qapi: Restrict balloon-related commands to machine code

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Restricting the balloon-related commands to machine.json pulls less
QAPI-generated code into user-mode.

Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-4-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: db0f08df597a71fbb8bd5fe0120aa52d86024774
      
https://github.com/qemu/qemu/commit/db0f08df597a71fbb8bd5fe0120aa52d86024774
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M hw/acpi/vmgenid.c
    M qapi/machine.json
    M qapi/misc.json
    M stubs/vmgenid.c

  Log Message:
  -----------
  qapi: Restrict query-vm-generation-id command to machine code

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Restricting the query-vm-generation-id command to machine.json pulls
less QAPI-generated code into user-mode.

Acked-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-5-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: f68c01470b25d89fe4f48e2ecce77c78e42b62ca
      
https://github.com/qemu/qemu/commit/f68c01470b25d89fe4f48e2ecce77c78e42b62ca
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M block/iscsi.c
    M qapi/machine.json
    M qapi/misc.json
    M stubs/uuid.c

  Log Message:
  -----------
  qapi: Restrict query-uuid command to machine code

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Restricting the query-uuid command to machine.json pulls less
QAPI-generated code into user-mode.

Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-6-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: b495ec6c5e2926dc4c776a98d078bc241d8ef3e1
      
https://github.com/qemu/qemu/commit/b495ec6c5e2926dc4c776a98d078bc241d8ef3e1
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M hw/acpi/memory_hotplug.c
    M hw/virtio/virtio-mem-pci.c
    M include/hw/mem/memory-device.h
    M include/hw/virtio/virtio-pmem.h
    M qapi/machine.json
    M qapi/misc.json

  Log Message:
  -----------
  qapi: Restrict device memory commands to machine code

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Restricting the memory commands to machine.json pulls less
QAPI-generated code into user-mode.

Acked-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-7-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 27c9188fa0d325e1e9778d627daf9a44813cce47
      
https://github.com/qemu/qemu/commit/27c9188fa0d325e1e9778d627daf9a44813cce47
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M MAINTAINERS
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M include/hw/acpi/acpi_dev_interface.h
    M monitor/qmp-cmds.c
    A qapi/acpi.json
    M qapi/meson.build
    M qapi/misc.json
    M qapi/qapi-schema.json

  Log Message:
  -----------
  qapi: Extract ACPI commands to 'acpi.json'

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Extracting the ACPI commands to their own schema reduces the size of
the qapi-misc* headers generated, and pulls less QAPI-generated code
into user-mode.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-8-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 61c7f9876a7e053d984f9b8ad369ce53e54fad7c
      
https://github.com/qemu/qemu/commit/61c7f9876a7e053d984f9b8ad369ce53e54fad7c
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M MAINTAINERS
    M hw/pci/pci-stub.c
    M hw/pci/pci.c
    M monitor/hmp-cmds.c
    M qapi/meson.build
    M qapi/misc.json
    A qapi/pci.json
    M qapi/qapi-schema.json

  Log Message:
  -----------
  qapi: Extract PCI commands to 'pci.json'

Only qemu-system-FOO and qemu-storage-daemon provide QMP
monitors, therefore such declarations and definitions are
irrelevant for user-mode emulation.

Extracting the PCI commands to their own schema reduces the size of
the qapi-misc* headers generated, and pulls less QAPI-generated code
into user-mode.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200913195348.1064154-9-philmd@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 826bd0690f358350d67a781c2d125354313eb1cb
      
https://github.com/qemu/qemu/commit/826bd0690f358350d67a781c2d125354313eb1cb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qapi/block-core.json
    M qapi/machine.json
    M qapi/migration.json

  Log Message:
  -----------
  qapi: Fix doc comment indentation again

In commit 26ec4e53f2 and similar commits we fixed the indentation
for doc comments in our qapi json files to follow a new stricter
standard for indentation, which permits only:
    @arg: description line 1
          description line 2

or:
    @arg:
    line 1
    line 2

but because the script updates that enforce this are not yet in the
tree we have had a steady trickle of subsequent changes which didn't
follow the new rules.

Fix the latest round of mis-indented doc comments.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-2-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Updated for commit 4c437254b807 and a83e24ba1a5]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 8b5905aa057ba83ad6534158d71ea4f913461221
      
https://github.com/qemu/qemu/commit/8b5905aa057ba83ad6534158d71ea4f913461221
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qapi/block.json

  Log Message:
  -----------
  qapi/block.json: Add newline after "Example:" for block-latency-histogram-set

The block-latency-histogram-set command is the only one which uses
the Example/Examples section with the first line of the documentation
immediately following the ':'. Bring it into line with the rest.

This will allow us to avoid special-casing the indentation handling
for "Examples" sections; instead for Examples as for any other section
header these two indentations will be equivalent:

Examples:
Line one
Line two

Examples: Line one
          Line two

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-3-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 63a97cf5a0aeaaafc6597a196581f4cfee9b8940
      
https://github.com/qemu/qemu/commit/63a97cf5a0aeaaafc6597a196581f4cfee9b8940
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M tests/qapi-schema/doc-good.json
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/doc-good.texi

  Log Message:
  -----------
  tests/qapi/doc-good.json: Prepare for qapi-doc Sphinx extension

doc-good.json tests doc comment parser corner cases.  We're about to
largely replace it by a Sphinx extension, which will have different
corner cases.  Tweak the test so it passes both with the old parser
and the Sphinx extension, by making it match the more restrictive
rST syntax:

 * in a single list the bullet types must all match
 * lists must have leading and following blank lines
 * the rules on when and where indentation matters differ
 * the '|' example syntax is going to go away entirely, so stop
   testing it

This will avoid the tests spuriously breaking when we tighten up the
parser code in the following commits.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-4-peter.maydell@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 99dff36d3a5fb38bd3d079cd16b811bbfcb3ad07
      
https://github.com/qemu/qemu/commit/99dff36d3a5fb38bd3d079cd16b811bbfcb3ad07
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M scripts/qapi/doc.py
    M scripts/qapi/parser.py
    M tests/qapi-schema/doc-good.out

  Log Message:
  -----------
  scripts/qapi: Move doc-comment whitespace stripping to doc.py

As we accumulate lines from doc comments when parsing the JSON, the
QAPIDoc class generally strips leading and trailing whitespace using
line.strip() when it calls _append_freeform().  This is fine for
Texinfo, but for rST leading whitespace is significant.  We'd like to
move to having the text in doc comments be rST format rather than a
custom syntax, so move the removal of leading whitespace from the
QAPIDoc class to the texinfo-specific processing code in
texi_format() in qapi/doc.py.

(Trailing whitespace will always be stripped by the rstrip() in
Section::append regardless.)

In a followup commit we will make the whitespace in the lines of doc
comment sections more consistently follow the input source.

There is no change to the generated .texi files before and after this
commit.

Because the qapi-schema test checks the exact values of the
documentation comments against a reference, we need to update that
reference to match the new whitespace.  In the first four places this
is now correctly checking that we did put in the amount of whitespace
to pass a rST-formatted list to the backend; in the last two places
the extra whitespace is 'wrong' and will go away again in the
following commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-5-peter.maydell@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: a69a6d4b4d4fae2e3d2506241e22a78ff1732283
      
https://github.com/qemu/qemu/commit/a69a6d4b4d4fae2e3d2506241e22a78ff1732283
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M docs/devel/qapi-code-gen.txt
    M scripts/qapi/parser.py
    A tests/qapi-schema/doc-bad-indent.err
    A tests/qapi-schema/doc-bad-indent.json
    A tests/qapi-schema/doc-bad-indent.out
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/meson.build

  Log Message:
  -----------
  scripts/qapi/parser.py: improve doc comment indent handling

Make the handling of indentation in doc comments more sophisticated,
so that when we see a section like:

Notes: some text
       some more text
          indented line 3

we save it for the doc-comment processing code as:

some text
some more text
   indented line 3

and when we see a section with the heading on its own line:

Notes:

some text
some more text
   indented text

we also accept that and save it in the same form.

If we detect that the comment document text is not indented as much
as we expect it to be, we throw a parse error.  (We don't complain
about over-indented sections, because for rST this can be legitimate
markup.)

The golden reference for the doc comment text is updated to remove
the two 'wrong' indents; these now form a test case that we correctly
stripped leading whitespace from an indented multi-line argument
definition.

We update the documentation in docs/devel/qapi-code-gen.txt to
describe the new indentation rules.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-6-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Whitespace between sentences tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 44e12af7754b60c0c80c52e63422f33d92127929
      
https://github.com/qemu/qemu/commit/44e12af7754b60c0c80c52e63422f33d92127929
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qapi/machine.json

  Log Message:
  -----------
  qapi/machine.json: Escape a literal '*' in doc comment

For rST, '*' is a kind of inline markup (for emphasis), so
"*-softmmu" is a syntax error because of the missing closing '*'.
Escape the '*' with a '\'.

The texinfo document generator will leave the '\' in the
output, which is not ideal, but that generator is going to
go away in a subsequent commit.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-7-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 4078ee5469e5e35a65babb1a52cbed597b505ba2
      
https://github.com/qemu/qemu/commit/4078ee5469e5e35a65babb1a52cbed597b505ba2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M MAINTAINERS
    M docs/conf.py
    A docs/sphinx/qapidoc.py

  Log Message:
  -----------
  docs/sphinx: Add new qapi-doc Sphinx extension

Some of our documentation is auto-generated from documentation
comments in the JSON schema.

For Sphinx, rather than creating a file to include, the most natural
way to handle this is to have a small custom Sphinx extension which
processes the JSON file and inserts documentation into the rST
file being processed.

This is the same approach that kerneldoc and hxtool use.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-8-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Comment and doc string formatting tweaked, unused method dropped,
a few line breaks tweaked to follow PEP 8 more closely, MAINTAINERS
section QAPI updated]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: db16115f8753587571cb329c7a82e391b49a0397
      
https://github.com/qemu/qemu/commit/db16115f8753587571cb329c7a82e391b49a0397
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M MAINTAINERS
    M docs/index.html.in
    M docs/interop/conf.py
    M docs/interop/index.rst
    A docs/interop/qemu-ga-ref.rst
    R docs/interop/qemu-ga-ref.texi
    M docs/meson.build
    M meson.build
    M qga/meson.build

  Log Message:
  -----------
  docs/interop: Convert qemu-ga-ref to rST

Convert qemu-ga-ref to rST format. This includes dropping
the plain-text, pdf and info format outputs for this document;
as with all our other Sphinx-based documentation, we provide
HTML and manpage only.

The qemu-ga-ref.rst is somewhat more stripped down than
the .texi was, because we do not (currently) attempt to
generate indexes for the commands, events and data types
being documented.

As the GA ref is now part of the Sphinx 'interop' manual,
we can delete the direct link from index.html.in.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-9-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Unicode legacy literal dumbed down to plain string literal, TODO
comment on displaying QEMU version added]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 4ac2ee194bc5290ea1e9015e5be31a05688a8663
      
https://github.com/qemu/qemu/commit/4ac2ee194bc5290ea1e9015e5be31a05688a8663
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M Makefile
    M docs/index.html.in
    M docs/interop/conf.py
    M docs/interop/index.rst
    A docs/interop/qemu-qmp-ref.rst
    R docs/interop/qemu-qmp-ref.texi
    M docs/meson.build
    M meson.build
    M qapi/meson.build
    M storage-daemon/qapi/meson.build

  Log Message:
  -----------
  docs/interop: Convert qemu-qmp-ref to rST

Convert qemu-qmp-ref to rST format. This includes dropping
the plain-text, pdf and info format outputs for this document;
as with all our other Sphinx-based documentation, we provide
HTML and manpage only.

The qemu-qmp-ref.rst is somewhat more stripped down than
the .texi was, because we do not (currently) attempt to
generate indexes for the commands, events and data types
being documented.

Again, we drop the direct link from index.html.in now that
the QMP ref is part of the interop manual.

This commit removes the code from the root meson.build file that
handled the various Texinfo-based outputs, because we no longer
generate any documentation except for the Sphinx HTML manuals and the
manpages, and the code can't handle having an empty list of files
to process.. We'll do further cleanup of the remainders of
Texinfo support in subsequent commits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-10-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Unicode legacy literal dumbed down to plain string literal, TODO
comment on displaying QEMU version added, "make html" fixed,
storage-daemon/qapi/meson.build updated]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: a0fcff383b34f908efe05d4037e2c948abf6b38d
      
https://github.com/qemu/qemu/commit/a0fcff383b34f908efe05d4037e2c948abf6b38d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qapi/block-core.json
    M qapi/qapi-schema.json

  Log Message:
  -----------
  qapi: Use rST markup for literal blocks

There are exactly two places in our json doc comments where we
use the markup accepted by the texi doc generator where a '|' in
the first line of a doc comment means the line should be emitted
as a literal block (fixed-width font, whitespace preserved).

Since we use this syntax so rarely, instead of making the rST
generator support it, instead just convert the two uses to
rST-format literal blocks, which are indented and introduced
with '::'.

(The rST generator doesn't complain about the old style syntax,
it just emits it with the '|' and with the whitespace not
preserved, which looks odd, but means we can safely leave this
change until after we've stopped generating texinfo.)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-11-peter.maydell@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: ac741a9e810f2d820bef342ff58b183e35611e41
      
https://github.com/qemu/qemu/commit/ac741a9e810f2d820bef342ff58b183e35611e41
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M qga/qapi-schema.json

  Log Message:
  -----------
  qga/qapi-schema.json: Add some headings

Add some section headings to the QGA json; this is purely so that we
have some H1 headings, as otherwise each command ends up being
visible in the interop/ manual's table of contents.  In an ideal
world there might be a proper 'Introduction' section the way there is
in qapi/qapi-schema.json.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-12-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: b09c8f7a99681054af1bcbb88f374c181af91972
      
https://github.com/qemu/qemu/commit/b09c8f7a99681054af1bcbb88f374c181af91972
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M tests/qapi-schema/doc-good.json
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/doc-good.texi

  Log Message:
  -----------
  tests/qapi-schema: Convert doc-good.json to rST-style strong/emphasis

doc-good.json currently uses the old *strong* and _emphasis_ markup.
As part of the conversion to rST this needs to switch to **strong**
and *emphasis*, because rST uses underscores as part of its markup
of hyperlinks and will otherwise warn about the syntax error.

In commit a660eed482063b we fixed up the in-tree uses of the
old markup:
 1) _this_ was replaced with *this*
 2) the only in-tree use of *this* was left alone (turning
    a 'strong' into an 'emphasis')
(and so currently in-tree nothing is using either new-style
**strong** or old-style _emphasis_).

Update doc-good.json in a similar way:
 1) replace _this_ with *this*
 2) remove the usage of old-style *this*

(This slightly reduces the coverage for the old Texinfo generator,
which is about to go away, but is fine for the new rST generator
because that does not need to handle strong/emphasis itself because
it is simply passing the entire text as raw rST to Sphinx.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-13-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: eb937365faeeddc94a0144bc1565b223ee87351f
      
https://github.com/qemu/qemu/commit/eb937365faeeddc94a0144bc1565b223ee87351f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M docs/meson.build
    M meson.build

  Log Message:
  -----------
  meson.build: Move SPHINX_ARGS to top level meson.build file

We're going to want to use SPHINX_ARGS in both docs/meson.build
and tests/qapi-schema/meson.build. Move the definition up to the
top level file so it is available to both subdirectories.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-14-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: b3f4830ab398f6e66cda986835e9b5be567e3e49
      
https://github.com/qemu/qemu/commit/b3f4830ab398f6e66cda986835e9b5be567e3e49
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M docs/meson.build
    M meson.build

  Log Message:
  -----------
  meson.build: Make manuals depend on source to Sphinx extensions

The automatic dependency handling for Sphinx manuals only makes the output
depend on the input documentation files. This means that if you edit
the Python source of an extension then the documentation won't be
rebuilt.

Create a list of all the source files for the extensions and add
it to the dependencies for the manuals. This is similar to how we
handle the qapi_gen_depends list.

Because we don't try to identify which manuals are using which
Sphinx extensions, a change to the source of one extension will
always rebuild the entire manual set, not merely the manuals
which have changed. This is acceptable because we don't change
the extensions all that often.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-15-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Re rebuilding the enitre manual set being acceptable "because we
don't change the extensions all that often": we also rebuild it when
the QAPI generator code the qapidoc extension depends on changes.
This will inconvenience QAPI developers.  Can't be helped now.]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: ca1145ee88ee683c4db0aba83a4c91cdab3c3d6d
      
https://github.com/qemu/qemu/commit/ca1145ee88ee683c4db0aba83a4c91cdab3c3d6d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    A tests/qapi-schema/doc-good.rst
    A tests/qapi-schema/doc-good.txt
    M tests/qapi-schema/meson.build

  Log Message:
  -----------
  tests/qapi-schema: Add test of the rST QAPI doc-comment output

Add a test of the rST output from the QAPI doc-comment generator,
similar to what we currently have that tests the Texinfo output.

This is a bit more awkward with Sphinx, because the generated output
is not 100% under our control the way the QAPI-to-Texinfo generator
was. We can't observe the data we generate, only the Sphinx
output. Two issues.

One, the output can vary with the Sphinx version. In practice Sphinx's
plaintext output generation has been identical between at least Sphinx
1.6 and 3.0, so we use that. (The HTML output has had changes across
versions). We use an exact-match comparison check, with the
understanding that perhaps changes in a future Sphinx version might
require us to implement something more clever to cope with variation
in the output.

Two, the test can only protect us from changes in the data we generate
that are visible in plain text.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-16-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message improved]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: a27ff0a24916e7a6cdc90e4a984423069d8dfea6
      
https://github.com/qemu/qemu/commit/a27ff0a24916e7a6cdc90e4a984423069d8dfea6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M meson.build
    M scripts/qapi-gen.py
    R scripts/qapi/doc.py
    M scripts/qapi/gen.py
    R tests/qapi-schema/doc-good.texi
    M tests/qapi-schema/meson.build

  Log Message:
  -----------
  scripts/qapi: Remove texinfo generation support

We no longer use the generated texinfo format documentation,
so delete the code that generates it, and the test case for
the generation.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-17-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 55ec69f8b16d9ef03076fbaa0a9f97279218c29c
      
https://github.com/qemu/qemu/commit/55ec69f8b16d9ef03076fbaa0a9f97279218c29c
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M docs/devel/qapi-code-gen.txt

  Log Message:
  -----------
  docs/devel/qapi-code-gen.txt: Update to new rST backend conventions

Update the documentation of QAPI document comment syntax to match
the new rST backend requirements. The principal changes are:
 * whitespace is now significant, and multiline definitions
   must have their second and subsequent lines indented to
   match the first line
 * general rST format markup is permitted, not just the small
   set of markup the old texinfo generator handled. For most
   things (notably bulleted and itemized lists) the old format
   was the same as rST is.
 * Specific things that might trip people up:
   - instead of *bold* and _italic_ rST has **bold** and *italic*
   - lists need a preceding and following blank line
   - a lone literal '*' will need to be backslash-escaped to
     avoid a rST syntax error
 * the old leading '|' for example (literal text) blocks is
   replaced by the standard rST '::' literal block.
 * we support arbitrary levels of sub- and sub-sub-heading, not
   just a main and sub-heading like the old texinfo generator
 * lists can now be nested

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-18-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message improved slightly]
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 7a470a37b0c04caea574fc2e6db5429c203c8f35
      
https://github.com/qemu/qemu/commit/7a470a37b0c04caea574fc2e6db5429c203c8f35
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M scripts/checkpatch.pl
    R scripts/texi2pod.pl

  Log Message:
  -----------
  scripts/texi2pod: Delete unused script

We no longer need the texi2pod script, so we can delete it, and
the special-casing it had in the checkpatch script.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-19-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 5752d6cab9172a371cb3bcc3cf45a4f90ef8df76
      
https://github.com/qemu/qemu/commit/5752d6cab9172a371cb3bcc3cf45a4f90ef8df76
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M scripts/git.orderfile

  Log Message:
  -----------
  Remove Texinfo related line from git.orderfile

We don't use Texinfo any more; we can remove the references to the
.texi source file from our git.orderfile.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-20-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 1615aeaf1ff2581aa4a595433f72e5c79d3171aa
      
https://github.com/qemu/qemu/commit/1615aeaf1ff2581aa4a595433f72e5c79d3171aa
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Drop texinfo requirement

We don't need the texinfo and pod2man programs to build our documentation
any more, so remove them from configure's tests.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-21-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 7cd77fb02b9a2117a56fed172f09a1820fcd6b0b
      
https://github.com/qemu/qemu/commit/7cd77fb02b9a2117a56fed172f09a1820fcd6b0b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M .travis.yml
    M scripts/coverity-scan/coverity-scan.docker
    M tests/docker/dockerfiles/debian10.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu.docker
    M tests/docker/dockerfiles/ubuntu1804.docker
    M tests/docker/dockerfiles/ubuntu2004.docker

  Log Message:
  -----------
  Remove texinfo dependency from docker and CI configs

We don't need texinfo to build the docs any more, so we can
drop that dependency from our docker and other CI configs.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-22-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: e344ffe73bd77e7067099155cfd8bf42b07ed631
      
https://github.com/qemu/qemu/commit/e344ffe73bd77e7067099155cfd8bf42b07ed631
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-29 (Tue, 29 Sep 2020)

  Changed paths:
    M .travis.yml
    M MAINTAINERS
    M Makefile
    M block/iscsi.c
    M configure
    M docs/conf.py
    M docs/devel/qapi-code-gen.txt
    M docs/index.html.in
    M docs/interop/conf.py
    M docs/interop/index.rst
    A docs/interop/qemu-ga-ref.rst
    R docs/interop/qemu-ga-ref.texi
    A docs/interop/qemu-qmp-ref.rst
    R docs/interop/qemu-qmp-ref.texi
    M docs/meson.build
    A docs/sphinx/qapidoc.py
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M hw/acpi/vmgenid.c
    M hw/core/qdev-properties.c
    M hw/i386/kvm/i8254.c
    M hw/pci/pci-stub.c
    M hw/pci/pci.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-mem-pci.c
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/mem/memory-device.h
    M include/hw/rtc/mc146818rtc.h
    M include/hw/virtio/virtio-pmem.h
    M include/sysemu/balloon.h
    M meson.build
    M monitor/hmp-cmds.c
    M monitor/qmp-cmds.c
    A qapi/acpi.json
    M qapi/block-core.json
    M qapi/block.json
    M qapi/machine.json
    M qapi/meson.build
    M qapi/migration.json
    M qapi/misc.json
    A qapi/pci.json
    M qapi/qapi-schema.json
    M qga/meson.build
    M qga/qapi-schema.json
    M scripts/checkpatch.pl
    M scripts/coverity-scan/coverity-scan.docker
    M scripts/git.orderfile
    M scripts/qapi-gen.py
    R scripts/qapi/doc.py
    M scripts/qapi/gen.py
    M scripts/qapi/parser.py
    R scripts/texi2pod.pl
    M softmmu/balloon.c
    M storage-daemon/qapi/meson.build
    M stubs/uuid.c
    M stubs/vmgenid.c
    M tests/docker/dockerfiles/debian10.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu.docker
    M tests/docker/dockerfiles/ubuntu1804.docker
    M tests/docker/dockerfiles/ubuntu2004.docker
    A tests/qapi-schema/doc-bad-indent.err
    A tests/qapi-schema/doc-bad-indent.json
    A tests/qapi-schema/doc-bad-indent.out
    M tests/qapi-schema/doc-good.json
    M tests/qapi-schema/doc-good.out
    A tests/qapi-schema/doc-good.rst
    R tests/qapi-schema/doc-good.texi
    A tests/qapi-schema/doc-good.txt
    M tests/qapi-schema/meson.build

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2020-09-29' into 
staging

QAPI patches patches for 2020-09-29

# gpg: Signature made Tue 29 Sep 2020 20:54:51 BST
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2020-09-29: (29 commits)
  Remove texinfo dependency from docker and CI configs
  configure: Drop texinfo requirement
  Remove Texinfo related line from git.orderfile
  scripts/texi2pod: Delete unused script
  docs/devel/qapi-code-gen.txt: Update to new rST backend conventions
  scripts/qapi: Remove texinfo generation support
  tests/qapi-schema: Add test of the rST QAPI doc-comment output
  meson.build: Make manuals depend on source to Sphinx extensions
  meson.build: Move SPHINX_ARGS to top level meson.build file
  tests/qapi-schema: Convert doc-good.json to rST-style strong/emphasis
  qga/qapi-schema.json: Add some headings
  qapi: Use rST markup for literal blocks
  docs/interop: Convert qemu-qmp-ref to rST
  docs/interop: Convert qemu-ga-ref to rST
  docs/sphinx: Add new qapi-doc Sphinx extension
  qapi/machine.json: Escape a literal '*' in doc comment
  scripts/qapi/parser.py: improve doc comment indent handling
  scripts/qapi: Move doc-comment whitespace stripping to doc.py
  tests/qapi/doc-good.json: Prepare for qapi-doc Sphinx extension
  qapi/block.json: Add newline after "Example:" for block-latency-histogram-set
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b150cb8f67bf...e344ffe73bd7



reply via email to

[Prev in Thread] Current Thread [Next in Thread]