All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Dinah Baum <dinahbaum123@gmail.com>
Cc: qemu-devel@nongnu.org, "Eric Blake" <eblake@redhat.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Yanan Wang" <wangyanan55@huawei.com>
Subject: Re: [PATCH v3 1/3] qapi: Moved architecture agnostic data types to `machine`
Date: Tue, 01 Aug 2023 15:09:31 +0200	[thread overview]
Message-ID: <87r0omzz78.fsf@pond.sub.org> (raw)
In-Reply-To: <20230730064057.357598-2-dinahbaum123@gmail.com> (Dinah Baum's message of "Sun, 30 Jul 2023 02:40:55 -0400")

Dinah Baum <dinahbaum123@gmail.com> writes:

> Signed-off-by: Dinah Baum <dinahbaum123@gmail.com>
> ---
>  qapi/machine-target.json | 78 +---------------------------------------
>  qapi/machine.json        | 77 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 78 insertions(+), 77 deletions(-)
>
> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
> index f0a6b72414..3ee2f7ca6b 100644
> --- a/qapi/machine-target.json
> +++ b/qapi/machine-target.json
> @@ -4,83 +4,7 @@
>  # This work is licensed under the terms of the GNU GPL, version 2 or later.
>  # See the COPYING file in the top-level directory.
>  
> -##
> -# @CpuModelInfo:
> -#
> -# Virtual CPU model.
> -#
> -# A CPU model consists of the name of a CPU definition, to which delta
> -# changes are applied (e.g. features added/removed). Most magic values
> -# that an architecture might require should be hidden behind the name.
> -# However, if required, architectures can expose relevant properties.
> -#
> -# @name: the name of the CPU definition the model is based on
> -#
> -# @props: a dictionary of QOM properties to be applied
> -#
> -# Since: 2.8
> -##
> -{ 'struct': 'CpuModelInfo',
> -  'data': { 'name': 'str',
> -            '*props': 'any' } }
> -
> -##
> -# @CpuModelExpansionType:
> -#
> -# An enumeration of CPU model expansion types.
> -#
> -# @static: Expand to a static CPU model, a combination of a static
> -#     base model name and property delta changes.  As the static base
> -#     model will never change, the expanded CPU model will be the
> -#     same, independent of QEMU version, machine type, machine
> -#     options, and accelerator options.  Therefore, the resulting
> -#     model can be used by tooling without having to specify a
> -#     compatibility machine - e.g. when displaying the "host" model.
> -#     The @static CPU models are migration-safe.
> -#
> -# @full: Expand all properties.  The produced model is not guaranteed
> -#     to be migration-safe, but allows tooling to get an insight and
> -#     work with model details.
> -#
> -# Note: When a non-migration-safe CPU model is expanded in static
> -#     mode, some features enabled by the CPU model may be omitted,
> -#     because they can't be implemented by a static CPU model
> -#     definition (e.g. cache info passthrough and PMU passthrough in
> -#     x86). If you need an accurate representation of the features
> -#     enabled by a non-migration-safe CPU model, use @full.  If you
> -#     need a static representation that will keep ABI compatibility
> -#     even when changing QEMU version or machine-type, use @static
> -#     (but keep in mind that some features may be omitted).
> -#
> -# Since: 2.8
> -##
> -{ 'enum': 'CpuModelExpansionType',
> -  'data': [ 'static', 'full' ] }
> -
> -##
> -# @CpuModelCompareResult:
> -#
> -# An enumeration of CPU model comparison results.  The result is
> -# usually calculated using e.g. CPU features or CPU generations.
> -#
> -# @incompatible: If model A is incompatible to model B, model A is not
> -#     guaranteed to run where model B runs and the other way around.
> -#
> -# @identical: If model A is identical to model B, model A is
> -#     guaranteed to run where model B runs and the other way around.
> -#
> -# @superset: If model A is a superset of model B, model B is
> -#     guaranteed to run where model A runs.  There are no guarantees
> -#     about the other way.
> -#
> -# @subset: If model A is a subset of model B, model A is guaranteed to
> -#     run where model B runs.  There are no guarantees about the other
> -#     way.
> -#
> -# Since: 2.8
> -##
> -{ 'enum': 'CpuModelCompareResult',
> -  'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }
> +{ 'include': 'machine.json' }
>  
>  ##
>  # @CpuModelBaselineInfo:
> diff --git a/qapi/machine.json b/qapi/machine.json
> index a08b6576ca..192c781310 100644
> --- a/qapi/machine.json
> +++ b/qapi/machine.json
> @@ -1691,3 +1691,80 @@
>  { 'command': 'dumpdtb',
>    'data': { 'filename': 'str' },
>    'if': 'CONFIG_FDT' }
> +
> +##
> +# @CpuModelInfo:
> +#
> +# Virtual CPU model.
> +#
> +# A CPU model consists of the name of a CPU definition, to which delta
> +# changes are applied (e.g. features added/removed). Most magic values
> +# that an architecture might require should be hidden behind the name.
> +# However, if required, architectures can expose relevant properties.
> +#
> +# @name: the name of the CPU definition the model is based on
> +#
> +# @props: a dictionary of QOM properties to be applied
> +#
> +# Since: 2.8
> +##
> +{ 'struct': 'CpuModelInfo',
> +  'data': { 'name': 'str', '*props': 'any' } }
> +
> +##
> +# @CpuModelExpansionType:
> +#
> +# An enumeration of CPU model expansion types.
> +#
> +# @static: Expand to a static CPU model, a combination of a static
> +#     base model name and property delta changes.  As the static base
> +#     model will never change, the expanded CPU model will be the
> +#     same, independent of QEMU version, machine type, machine
> +#     options, and accelerator options.  Therefore, the resulting
> +#     model can be used by tooling without having to specify a
> +#     compatibility machine - e.g. when displaying the "host" model.
> +#     The @static CPU models are migration-safe.
> +#
> +# @full: Expand all properties.  The produced model is not guaranteed
> +#     to be migration-safe, but allows tooling to get an insight and
> +#     work with model details.
> +#
> +# Note: When a non-migration-safe CPU model is expanded in static
> +#     mode, some features enabled by the CPU model may be omitted,
> +#     because they can't be implemented by a static CPU model
> +#     definition (e.g. cache info passthrough and PMU passthrough in
> +#     x86). If you need an accurate representation of the features
> +#     enabled by a non-migration-safe CPU model, use @full.  If you
> +#     need a static representation that will keep ABI compatibility
> +#     even when changing QEMU version or machine-type, use @static
> +#     (but keep in mind that some features may be omitted).
> +#
> +# Since: 2.8
> +##
> +{ 'enum': 'CpuModelExpansionType',
> +  'data': [ 'static', 'full' ] }
> +
> +##
> +# @CpuModelCompareResult:
> +#
> +# An enumeration of CPU model comparison results.  The result is
> +# usually calculated using e.g.  CPU features or CPU generations.

Single space after e.g., please.

> +#
> +# @incompatible: If model A is incompatible to model B, model A is not
> +#     guaranteed to run where model B runs and the other way around.
> +#
> +# @identical: If model A is identical to model B, model A is
> +#     guaranteed to run where model B runs and the other way around.
> +#
> +# @superset: If model A is a superset of model B, model B is
> +#     guaranteed to run where model A runs.  There are no guarantees
> +#     about the other way.
> +#
> +# @subset: If model A is a subset of model B, model A is guaranteed to
> +#     run where model B runs.  There are no guarantees about the other
> +#     way.
> +#
> +# Since: 2.8
> +##
> +{ 'enum': 'CpuModelCompareResult',
> +  'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }

With that
Reviewed-by: Markus Armbruster <armbru@redhat.com>



  parent reply	other threads:[~2023-08-01 13:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-30  6:40 [PATCH v3 0/3] Enable -cpu <cpu>,help Dinah Baum
2023-07-30  6:40 ` [PATCH v3 1/3] qapi: Moved architecture agnostic data types to `machine` Dinah Baum
2023-07-31  9:54   ` Philippe Mathieu-Daudé
2023-08-01 13:09   ` Markus Armbruster [this message]
2023-11-01  2:24     ` Dinah B
2023-11-02  6:59       ` Markus Armbruster
2023-07-30  6:40 ` [PATCH v3 2/3] qapi, target/: Enable 'query-cpu-model-expansion' on all architectures Dinah Baum
2023-08-01 13:44   ` Markus Armbruster
2023-07-30  6:40 ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu, help to print options for the CPU type similar to how the '-device' option works Dinah Baum
2023-08-01 13:02   ` Dinah B
2023-08-01 14:09   ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu,help " Markus Armbruster
2023-08-01 21:00     ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu, help " Dinah B
2023-08-02  5:36       ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu,help " Markus Armbruster
2023-11-14 16:22         ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu, help " Dinah B
2023-11-14 17:44           ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu,help " Markus Armbruster
2023-12-11  6:02             ` [PATCH v3 3/3] cpu, softmmu/vl.c: Change parsing of -cpu argument to allow -cpu cpu, help " Dinah B
2023-07-30 15:15 ` [PATCH v3 0/3] Enable -cpu <cpu>,help Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r0omzz78.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=dinahbaum123@gmail.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wangyanan55@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.