On 10/14/26 11:41, Yonggang Luo wrote:
> Done by merge virtio_mem_legacy_guests_properties into virtio_mem_properties.
> As we already have vmem->unplugged_inaccessible handle in 
> virtio_mem_device_realize
> So we can reject the wrong option in virtio_mem_device_realize, then the call
> target_info() in class_init no need anymore.
> 
> Signed-off-by: Yonggang Luo <[email protected]>
> ---
>  hw/virtio/virtio-mem.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
> index a4110d61312..81e2192c2fb 100644
> --- a/hw/virtio/virtio-mem.c
> +++ b/hw/virtio/virtio-mem.c
> @@ -879,7 +879,11 @@ static void virtio_mem_device_realize(DeviceState *dev, 
> Error **errp)
>              break;
>          }
>      } else {
> -        vmem->unplugged_inaccessible = ON_OFF_AUTO_ON;
> +        if (vmem->unplugged_inaccessible != ON_OFF_AUTO_ON) {
> +            error_setg(errp, "'%s' must be 'on' on non-x86 targets",
> +                       VIRTIO_MEM_UNPLUGGED_INACCESSIBLE_PROP);
> +            return;
> +        }
>      }
>  
>      if (vmem->dynamic_memslots &&
> @@ -1568,9 +1572,6 @@ static const Property virtio_mem_properties[] = {
>                       early_migration, true),
>      DEFINE_PROP_BOOL(VIRTIO_MEM_DYNAMIC_MEMSLOTS_PROP, VirtIOMEM,
>                       dynamic_memslots, false),
> -};
> -
> -static const Property virtio_mem_legacy_guests_properties[] = {
>      DEFINE_PROP_ON_OFF_AUTO(VIRTIO_MEM_UNPLUGGED_INACCESSIBLE_PROP, 
> VirtIOMEM,
>                              unplugged_inaccessible, ON_OFF_AUTO_ON),
>  };
> @@ -1635,9 +1636,6 @@ static void virtio_mem_class_init(ObjectClass *klass, 
> const void *data)
>      RamDiscardSourceClass *rdsc = RAM_DISCARD_SOURCE_CLASS(klass);
>  
>      device_class_set_props(dc, virtio_mem_properties);
> -    if (virtio_mem_has_legacy_guests()) {
> -        device_class_set_props(dc, virtio_mem_legacy_guests_properties);
> -    }
>      dc->vmsd = &vmstate_virtio_mem;
>  
>      set_bit(DEVICE_CATEGORY_MISC, dc->categories);

Now a property introspection shows properties that don't make any sense for
other targets.

I don't see the value, really.

-- 
Cheers,

David


Reply via email to