qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 1/3] qapi: Moved architecture agnostic data types to `mach


From: Dinah B
Subject: Re: [PATCH v3 1/3] qapi: Moved architecture agnostic data types to `machine`
Date: Tue, 31 Oct 2023 22:24:13 -0400

Hi,

I noticed that qapi now has a machine-common category - do you think these changes would be more appropriate in that file
rather than "machine" for the revision?

Thanks and sorry for the delay,
-Dinah

On Tue, Aug 1, 2023 at 9:09 AM Markus Armbruster <armbru@redhat.com> wrote:
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>


reply via email to

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