All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features
@ 2024-04-24 21:56 Collin Walling
  2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-24 21:56 UTC (permalink / raw)
  To: qemu-s390x, qemu-devel
  Cc: thuth, david, wangyanan55, philmd, marcel.apfelbaum, eduardo,
	armbru, Collin Walling

Previous version here (different subject line): 
https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg03200.html

Changelog

    v3
        - removed optional disable-deprecated-feats argument
        - added deprecated-props array to CpuModelInfo struct
        - amended cover letter language to reflect design

    v2 
        - removed "static-recommended" expansion type
        - implemented optional disable-deprecated-feats argument

---

The current implementation of query-cpu-model-expansion is lacking a way to retrieve
CPU models with properties (i.e. features) that are flagged as deprecated. To remedy
this, a list of deprecated-props has been appended to the CpuModelInfo struct, and
will currently be reported by a query-cpu-model-expansion.

Check patch #2 description for an example output.

A simple interface is designed that contains an array of feature bits that are flagged
as deprecated. This list may be easily populated with more features in the future.

    void s390_get_deprecated_features(S390FeatBitmap features)
    {
        static const int feats[] = {
             /* CSSKE is deprecated on newer generations */
             S390_FEAT_CONDITIONAL_SSKE,
             S390_FEAT_BPB,
             /* Deprecated on z16 */
             S390_FEAT_CONSTRAINT_TRANSACTIONAL_EXE,
             S390_FEAT_TRANSACTIONAL_EXE
        };
        int i;

        for (i = 0; i < ARRAY_SIZE(feats); i++) {
            set_bit(feats[i], features);
        }
    }

Use case example:

Newer s390 machines may signal the end-of-support for particular CPU features,
rendering guests operating with older CPU models incapable of running on
said machines. A manual effort to disable certain CPU features would be
required.

Reporting a list of deprecated features allows the user / management app to
take the next steps to ensure the guest is defined in a way that ensures
a migration in the future.

Collin L. Walling (2):
  target/s390x: report deprecated-props in cpu-model-expansion reply
  target/s390x: flag te and cte as deprecated

 qapi/machine-target.json         |  5 ++++-
 target/s390x/cpu_features.c      | 17 +++++++++++++++++
 target/s390x/cpu_features.h      |  1 +
 target/s390x/cpu_models_sysemu.c |  6 ++++++
 4 files changed, 28 insertions(+), 1 deletion(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-24 21:56 [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
@ 2024-04-24 21:56 ` Collin Walling
  2024-04-26  8:42   ` Markus Armbruster
  2024-04-26 17:44   ` David Hildenbrand
  2024-04-24 21:56 ` [PATCH v3 2/2] target/s390x: flag te and cte as deprecated Collin Walling
  2024-04-24 22:05 ` [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
  2 siblings, 2 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-24 21:56 UTC (permalink / raw)
  To: qemu-s390x, qemu-devel
  Cc: thuth, david, wangyanan55, philmd, marcel.apfelbaum, eduardo,
	armbru, Collin Walling

Retain a list of deprecated features disjoint from any particular
CPU model. A query-cpu-model-expansion reply will now provide a list of
properties (i.e. features) that are flagged as deprecated. Example:

    {
      "return": {
        "model": {
          "name": "z14.2-base",
          "deprecated-props": [
            "bpb",
            "csske"
          ],
          "props": {
            "pfmfi": false,
            "exrl": true,
            ...a lot more props...
            "skey": false,
            "vxpdeh2": false
          }
        }
      }
    }

It is recommended that s390 guests operate with these features
explicitly disabled to ensure compatability with future hardware.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
---
 qapi/machine-target.json         |  5 ++++-
 target/s390x/cpu_features.c      | 14 ++++++++++++++
 target/s390x/cpu_features.h      |  1 +
 target/s390x/cpu_models_sysemu.c |  6 ++++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/qapi/machine-target.json b/qapi/machine-target.json
index 29e695aa06..3799a60e3d 100644
--- a/qapi/machine-target.json
+++ b/qapi/machine-target.json
@@ -20,11 +20,14 @@
 #
 # @props: a dictionary of QOM properties to be applied
 #
+# @deprecated-props: a list of QOM properties that are flagged as deprecated
+#
 # Since: 2.8
 ##
 { 'struct': 'CpuModelInfo',
   'data': { 'name': 'str',
-            '*props': 'any' } }
+            '*props': 'any',
+            '*deprecated-props': ['str'] } }
 
 ##
 # @CpuModelExpansionType:
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index d28eb65845..efafc9711c 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -212,6 +212,20 @@ void s390_feat_bitmap_to_ascii(const S390FeatBitmap features, void *opaque,
     };
 }
 
+void s390_get_deprecated_features(S390FeatBitmap features)
+{
+    static const int feats[] = {
+         /* CSSKE is deprecated on newer generations */
+         S390_FEAT_CONDITIONAL_SSKE,
+         S390_FEAT_BPB,
+    };
+    int i;
+
+    for (i = 0; i < ARRAY_SIZE(feats); i++) {
+        set_bit(feats[i], features);
+    }
+}
+
 #define FEAT_GROUP_INIT(_name, _group, _desc)        \
     {                                                \
         .name = _name,                               \
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index a9bd68a2e1..661a8cd6db 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -69,6 +69,7 @@ void s390_add_from_feat_block(S390FeatBitmap features, S390FeatType type,
                           uint8_t *data);
 void s390_feat_bitmap_to_ascii(const S390FeatBitmap features, void *opaque,
                                void (*fn)(const char *name, void *opaque));
+void s390_get_deprecated_features(S390FeatBitmap features);
 
 /* Definition of a CPU feature group */
 typedef struct {
diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models_sysemu.c
index 2d99218069..307e3885f4 100644
--- a/target/s390x/cpu_models_sysemu.c
+++ b/target/s390x/cpu_models_sysemu.c
@@ -206,6 +206,12 @@ static void cpu_info_from_model(CpuModelInfo *info, const S390CPUModel *model,
     } else {
         info->props = QOBJECT(qdict);
     }
+
+    bitmap_zero(bitmap, S390_FEAT_MAX);
+    s390_get_deprecated_features(bitmap);
+    s390_feat_bitmap_to_ascii(bitmap, &info->deprecated_props,
+                              list_add_feat);
+    info->has_deprecated_props = !!info->deprecated_props;
 }
 
 CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v3 2/2] target/s390x: flag te and cte as deprecated
  2024-04-24 21:56 [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
  2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
@ 2024-04-24 21:56 ` Collin Walling
  2024-04-24 22:05 ` [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
  2 siblings, 0 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-24 21:56 UTC (permalink / raw)
  To: qemu-s390x, qemu-devel
  Cc: thuth, david, wangyanan55, philmd, marcel.apfelbaum, eduardo,
	armbru, Collin Walling

Add the CONSTRAINT_TRANSACTIONAL_EXE (cte) and TRANSACTIONAL_EXE (te)
to the list of deprecated features.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
---
 target/s390x/cpu_features.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index efafc9711c..cb4e2b8920 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -218,6 +218,9 @@ void s390_get_deprecated_features(S390FeatBitmap features)
          /* CSSKE is deprecated on newer generations */
          S390_FEAT_CONDITIONAL_SSKE,
          S390_FEAT_BPB,
+         /* Deprecated on z16 */
+         S390_FEAT_CONSTRAINT_TRANSACTIONAL_EXE,
+         S390_FEAT_TRANSACTIONAL_EXE
     };
     int i;
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features
  2024-04-24 21:56 [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
  2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
  2024-04-24 21:56 ` [PATCH v3 2/2] target/s390x: flag te and cte as deprecated Collin Walling
@ 2024-04-24 22:05 ` Collin Walling
  2 siblings, 0 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-24 22:05 UTC (permalink / raw)
  To: qemu-s390x, qemu-devel
  Cc: thuth, david, wangyanan55, philmd, marcel.apfelbaum, eduardo,
	armbru

On 4/24/24 17:56, Collin Walling wrote:

> 
> Check patch #2 description for an example output.
> 

I meant patch #1, sorry. Forgot I dropped a patch in this series.

-- 
Regards,
  Collin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
@ 2024-04-26  8:42   ` Markus Armbruster
  2024-04-26 17:35     ` Collin Walling
  2024-04-26 17:44   ` David Hildenbrand
  1 sibling, 1 reply; 10+ messages in thread
From: Markus Armbruster @ 2024-04-26  8:42 UTC (permalink / raw)
  To: Collin Walling
  Cc: qemu-s390x, qemu-devel, thuth, david, wangyanan55, philmd,
	marcel.apfelbaum, eduardo, armbru

Collin Walling <walling@linux.ibm.com> writes:

> Retain a list of deprecated features disjoint from any particular
> CPU model. A query-cpu-model-expansion reply will now provide a list of
> properties (i.e. features) that are flagged as deprecated. Example:
>
>     {
>       "return": {
>         "model": {
>           "name": "z14.2-base",
>           "deprecated-props": [
>             "bpb",
>             "csske"
>           ],
>           "props": {
>             "pfmfi": false,
>             "exrl": true,
>             ...a lot more props...
>             "skey": false,
>             "vxpdeh2": false
>           }
>         }
>       }
>     }
>
> It is recommended that s390 guests operate with these features
> explicitly disabled to ensure compatability with future hardware.
>
> Signed-off-by: Collin Walling <walling@linux.ibm.com>
> ---
>  qapi/machine-target.json         |  5 ++++-
>  target/s390x/cpu_features.c      | 14 ++++++++++++++
>  target/s390x/cpu_features.h      |  1 +
>  target/s390x/cpu_models_sysemu.c |  6 ++++++
>  4 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
> index 29e695aa06..3799a60e3d 100644
> --- a/qapi/machine-target.json
> +++ b/qapi/machine-target.json
> @@ -20,11 +20,14 @@
>  #
>  # @props: a dictionary of QOM properties to be applied
>  #
> +# @deprecated-props: a list of QOM properties that are flagged as deprecated

Deprecated by whom?  QEMU?  The CPU vendor?

docs/devel/qapi-code-gen.rst:

    For legibility, wrap text paragraphs so every line is at most 70
    characters long.

> +#
>  # Since: 2.8
>  ##
>  { 'struct': 'CpuModelInfo',
>    'data': { 'name': 'str',
> -            '*props': 'any' } }
> +            '*props': 'any',
> +            '*deprecated-props': ['str'] } }
>  
>  ##
>  # @CpuModelExpansionType:

[...]



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-26  8:42   ` Markus Armbruster
@ 2024-04-26 17:35     ` Collin Walling
  2024-04-26 20:11       ` Collin Walling
  0 siblings, 1 reply; 10+ messages in thread
From: Collin Walling @ 2024-04-26 17:35 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: qemu-s390x, qemu-devel, thuth, david, wangyanan55, philmd,
	marcel.apfelbaum, eduardo

On 4/26/24 04:42, Markus Armbruster wrote:
> Collin Walling <walling@linux.ibm.com> writes:
> 
>> Retain a list of deprecated features disjoint from any particular
>> CPU model. A query-cpu-model-expansion reply will now provide a list of
>> properties (i.e. features) that are flagged as deprecated. Example:
>>
>>     {
>>       "return": {
>>         "model": {
>>           "name": "z14.2-base",
>>           "deprecated-props": [
>>             "bpb",
>>             "csske"
>>           ],
>>           "props": {
>>             "pfmfi": false,
>>             "exrl": true,
>>             ...a lot more props...
>>             "skey": false,
>>             "vxpdeh2": false
>>           }
>>         }
>>       }
>>     }
>>
>> It is recommended that s390 guests operate with these features
>> explicitly disabled to ensure compatability with future hardware.
>>
>> Signed-off-by: Collin Walling <walling@linux.ibm.com>
>> ---
>>  qapi/machine-target.json         |  5 ++++-
>>  target/s390x/cpu_features.c      | 14 ++++++++++++++
>>  target/s390x/cpu_features.h      |  1 +
>>  target/s390x/cpu_models_sysemu.c |  6 ++++++
>>  4 files changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
>> index 29e695aa06..3799a60e3d 100644
>> --- a/qapi/machine-target.json
>> +++ b/qapi/machine-target.json
>> @@ -20,11 +20,14 @@
>>  #
>>  # @props: a dictionary of QOM properties to be applied
>>  #
>> +# @deprecated-props: a list of QOM properties that are flagged as deprecated
> 
> Deprecated by whom?  QEMU?  The CPU vendor?
> 

The CPU vendor would be the one who decides which props are deprecated.
How about:

# @deprecated-props: a list of QOM properties that are flagged as
		     deprecated by the CPU vendor

> docs/devel/qapi-code-gen.rst:
> 
>     For legibility, wrap text paragraphs so every line is at most 70
>     characters long.
> 

Noted for next iteration.  Thank you.

>> +#
>>  # Since: 2.8
>>  ##
>>  { 'struct': 'CpuModelInfo',
>>    'data': { 'name': 'str',
>> -            '*props': 'any' } }
>> +            '*props': 'any',
>> +            '*deprecated-props': ['str'] } }
>>  
>>  ##
>>  # @CpuModelExpansionType:
> 
> [...]
> 
> 

-- 
Regards,
  Collin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
  2024-04-26  8:42   ` Markus Armbruster
@ 2024-04-26 17:44   ` David Hildenbrand
  2024-04-26 17:45     ` David Hildenbrand
  1 sibling, 1 reply; 10+ messages in thread
From: David Hildenbrand @ 2024-04-26 17:44 UTC (permalink / raw)
  To: Collin Walling, qemu-s390x, qemu-devel
  Cc: thuth, wangyanan55, philmd, marcel.apfelbaum, eduardo, armbru

On 24.04.24 23:56, Collin Walling wrote:
> Retain a list of deprecated features disjoint from any particular
> CPU model. A query-cpu-model-expansion reply will now provide a list of
> properties (i.e. features) that are flagged as deprecated. Example:
> 
>      {
>        "return": {
>          "model": {
>            "name": "z14.2-base",
>            "deprecated-props": [
>              "bpb",
>              "csske"
>            ],
>            "props": {
>              "pfmfi": false,
>              "exrl": true,
>              ...a lot more props...
>              "skey": false,
>              "vxpdeh2": false
>            }
>          }
>        }
>      }
> 
> It is recommended that s390 guests operate with these features
> explicitly disabled to ensure compatability with future hardware.

Likely you should only report features that are applicable to a model. 
that is, if it's part of the full_feat.

Otherwise, the caller might simply want do set all features to "false", 
and we'd fail setting a feature that is unknown to a specific CPU 
generation.

That is, you would AND the bitmap with the full_feat of the underlying 
CPU definition.

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-26 17:44   ` David Hildenbrand
@ 2024-04-26 17:45     ` David Hildenbrand
  2024-04-26 19:28       ` Collin Walling
  0 siblings, 1 reply; 10+ messages in thread
From: David Hildenbrand @ 2024-04-26 17:45 UTC (permalink / raw)
  To: Collin Walling, qemu-s390x, qemu-devel
  Cc: thuth, wangyanan55, philmd, marcel.apfelbaum, eduardo, armbru

On 26.04.24 19:44, David Hildenbrand wrote:
> On 24.04.24 23:56, Collin Walling wrote:
>> Retain a list of deprecated features disjoint from any particular
>> CPU model. A query-cpu-model-expansion reply will now provide a list of
>> properties (i.e. features) that are flagged as deprecated. Example:
>>
>>       {
>>         "return": {
>>           "model": {
>>             "name": "z14.2-base",
>>             "deprecated-props": [
>>               "bpb",
>>               "csske"
>>             ],
>>             "props": {
>>               "pfmfi": false,
>>               "exrl": true,
>>               ...a lot more props...
>>               "skey": false,
>>               "vxpdeh2": false
>>             }
>>           }
>>         }
>>       }
>>
>> It is recommended that s390 guests operate with these features
>> explicitly disabled to ensure compatability with future hardware.
> 
> Likely you should only report features that are applicable to a model.
> that is, if it's part of the full_feat.
> 
> Otherwise, the caller might simply want do set all features to "false",
> and we'd fail setting a feature that is unknown to a specific CPU
> generation.
> 
> That is, you would AND the bitmap with the full_feat of the underlying
> CPU definition.

Refreshing my memory, I think we can just clear any CPU features. We 
only bail out when setting them!

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-26 17:45     ` David Hildenbrand
@ 2024-04-26 19:28       ` Collin Walling
  0 siblings, 0 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-26 19:28 UTC (permalink / raw)
  To: David Hildenbrand, qemu-s390x, qemu-devel
  Cc: thuth, wangyanan55, philmd, marcel.apfelbaum, eduardo, armbru

On 4/26/24 13:45, David Hildenbrand wrote:
> On 26.04.24 19:44, David Hildenbrand wrote:
>> On 24.04.24 23:56, Collin Walling wrote:
>>> Retain a list of deprecated features disjoint from any particular
>>> CPU model. A query-cpu-model-expansion reply will now provide a list of
>>> properties (i.e. features) that are flagged as deprecated. Example:
>>>
>>>       {
>>>         "return": {
>>>           "model": {
>>>             "name": "z14.2-base",
>>>             "deprecated-props": [
>>>               "bpb",
>>>               "csske"
>>>             ],
>>>             "props": {
>>>               "pfmfi": false,
>>>               "exrl": true,
>>>               ...a lot more props...
>>>               "skey": false,
>>>               "vxpdeh2": false
>>>             }
>>>           }
>>>         }
>>>       }
>>>
>>> It is recommended that s390 guests operate with these features
>>> explicitly disabled to ensure compatability with future hardware.
>>
>> Likely you should only report features that are applicable to a model.
>> that is, if it's part of the full_feat.
>>
>> Otherwise, the caller might simply want do set all features to "false",
>> and we'd fail setting a feature that is unknown to a specific CPU
>> generation.
>>
>> That is, you would AND the bitmap with the full_feat of the underlying
>> CPU definition.
> 
> Refreshing my memory, I think we can just clear any CPU features. We 
> only bail out when setting them!
> 

Very good point.  I've been working only with newer-gen machines and
would not have thought to test / catch that case.  I will filter the
deprecated-props array with features that are only available on the
full_model of the expanded CPU model.

-- 
Regards,
  Collin



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply
  2024-04-26 17:35     ` Collin Walling
@ 2024-04-26 20:11       ` Collin Walling
  0 siblings, 0 replies; 10+ messages in thread
From: Collin Walling @ 2024-04-26 20:11 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: qemu-s390x, qemu-devel, thuth, david, wangyanan55, philmd,
	marcel.apfelbaum, eduardo

On 4/26/24 13:35, Collin Walling wrote:
> On 4/26/24 04:42, Markus Armbruster wrote:
>> Collin Walling <walling@linux.ibm.com> writes:
>>
>>> Retain a list of deprecated features disjoint from any particular
>>> CPU model. A query-cpu-model-expansion reply will now provide a list of
>>> properties (i.e. features) that are flagged as deprecated. Example:
>>>
>>>     {
>>>       "return": {
>>>         "model": {
>>>           "name": "z14.2-base",
>>>           "deprecated-props": [
>>>             "bpb",
>>>             "csske"
>>>           ],
>>>           "props": {
>>>             "pfmfi": false,
>>>             "exrl": true,
>>>             ...a lot more props...
>>>             "skey": false,
>>>             "vxpdeh2": false
>>>           }
>>>         }
>>>       }
>>>     }
>>>
>>> It is recommended that s390 guests operate with these features
>>> explicitly disabled to ensure compatability with future hardware.
>>>
>>> Signed-off-by: Collin Walling <walling@linux.ibm.com>
>>> ---
>>>  qapi/machine-target.json         |  5 ++++-
>>>  target/s390x/cpu_features.c      | 14 ++++++++++++++
>>>  target/s390x/cpu_features.h      |  1 +
>>>  target/s390x/cpu_models_sysemu.c |  6 ++++++
>>>  4 files changed, 25 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
>>> index 29e695aa06..3799a60e3d 100644
>>> --- a/qapi/machine-target.json
>>> +++ b/qapi/machine-target.json
>>> @@ -20,11 +20,14 @@
>>>  #
>>>  # @props: a dictionary of QOM properties to be applied
>>>  #
>>> +# @deprecated-props: a list of QOM properties that are flagged as deprecated
>>
>> Deprecated by whom?  QEMU?  The CPU vendor?
>>
> 
> The CPU vendor would be the one who decides which props are deprecated.
> How about:
> 
> # @deprecated-props: a list of QOM properties that are flagged as
> 		     deprecated by the CPU vendor
> 

^ let's ignore the incorrect indentation here.

Actually, I may be wildly incorrect with my description by referring to
this as "a list of QOM properties", when in fact this is just an array
of strings.  Also, the deprecated props may not always reflect the
features that are found by a static expansion, so I added another
sentence to describe that they are a part of a full model expansion.

# @deprecated-props: a list of properties that are flagged as deprecated
#     by the CPU vendor.  These props are a subset of the model's full
#     definition list of properties. (since X.Y)

I may need some help with the wording on the 2nd sentence.

[...]

> 
>>> +#
>>>  # Since: 2.8
>>>  ##
>>>  { 'struct': 'CpuModelInfo',
>>>    'data': { 'name': 'str',
>>> -            '*props': 'any' } }
>>> +            '*props': 'any',
>>> +            '*deprecated-props': ['str'] } }
>>>  
>>>  ##
>>>  # @CpuModelExpansionType:
>>
>> [...]
>>
>>
> 

-- 
Regards,
  Collin



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-04-26 20:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-24 21:56 [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling
2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
2024-04-26  8:42   ` Markus Armbruster
2024-04-26 17:35     ` Collin Walling
2024-04-26 20:11       ` Collin Walling
2024-04-26 17:44   ` David Hildenbrand
2024-04-26 17:45     ` David Hildenbrand
2024-04-26 19:28       ` Collin Walling
2024-04-24 21:56 ` [PATCH v3 2/2] target/s390x: flag te and cte as deprecated Collin Walling
2024-04-24 22:05 ` [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling

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.