qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v1] target/s390x: filter deprecated features based on model e


From: David Hildenbrand
Subject: Re: [PATCH v1] target/s390x: filter deprecated features based on model expansion type
Date: Thu, 11 Jul 2024 23:10:14 +0200
User-agent: Mozilla Thunderbird

On 11.07.24 22:32, Collin Walling wrote:
It is beneficial to provide an interface to retrieve *all* deprecated
features in one go. Management applications will need this information
to determine which features need to be disabled regardless of the
host-model's capabilities.

To remedy this, deprecated features are only filtered during a static
expansion. All deperecated features are reported on a full expansion.

Suggested-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Collin Walling <walling@linux.ibm.com>
---
  target/s390x/cpu_models_sysemu.c | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/target/s390x/cpu_models_sysemu.c b/target/s390x/cpu_models_sysemu.c
index 977fbc6522..76d15f2e4d 100644
--- a/target/s390x/cpu_models_sysemu.c
+++ b/target/s390x/cpu_models_sysemu.c
@@ -211,7 +211,15 @@ static void cpu_info_from_model(CpuModelInfo *info, const 
S390CPUModel *model,
      bitmap_zero(bitmap, S390_FEAT_MAX);
      s390_get_deprecated_features(bitmap);
- bitmap_and(bitmap, bitmap, model->def->full_feat, S390_FEAT_MAX);
+    /*
+     * For static model expansion, filter out deprecated features that are
+     * not a subset of the model's feature set. Otherwise, report the entire
+     * deprecated features list.
+     */
+    if (delta_changes) {
+        bitmap_and(bitmap, bitmap, model->def->full_feat, S390_FEAT_MAX);
+    }
+

This would likely be the only interface where we expose "more" features than a CPU model actually understands? I guess it wouldn't be that bad because disabling unsupported features will just work, even if the CPU model is not aware of them.

So no strong opinion.

Just noting that libvirt cannot really rely on that information because the behavior would change between QEMU versions? Maybe not an issue.

Acked-by: David Hildenbrand <david@redhat.com>

--
Cheers,

David / dhildenb




reply via email to

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