[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 01/11] virtio: split into vhost-user-base and vhost-user-d
From: |
Alex Bennée |
Subject: |
Re: [PATCH v9 01/11] virtio: split into vhost-user-base and vhost-user-device |
Date: |
Fri, 05 Jan 2024 11:37:47 +0000 |
User-agent: |
mu4e 1.11.27; emacs 29.1 |
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> On 4/1/24 22:09, Alex Bennée wrote:
>> Lets keep a cleaner split between the base class and the derived
>> vhost-user-device which we can use for generic vhost-user stubs. This
>> includes an update to introduce the vq_size property so the number of
>> entries in a virtq can be defined.
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> v5
>> - s/parent/parent_obj/
>> - remove left over vhost-user-device.h
>> - use DEFINE_TYPES
>> v6
>> - rebase and set .abstract = true for vhost-user-device
>> v7
>> - checkpatch line length + MAINTAINERS
>> - s/abstract = true/dc->user_creatable = false/ for both mmio and pci
>> ---
>> MAINTAINERS | 6 +
>> ...{vhost-user-device.h => vhost-user-base.h} | 21 +-
>> hw/virtio/vhost-user-base.c | 346 ++++++++++++++++++
>> hw/virtio/vhost-user-device-pci.c | 13 +-
>> hw/virtio/vhost-user-device.c | 338 +----------------
>> hw/virtio/meson.build | 1 +
>> 6 files changed, 383 insertions(+), 342 deletions(-)
>> rename include/hw/virtio/{vhost-user-device.h => vhost-user-base.h} (71%)
>> create mode 100644 hw/virtio/vhost-user-base.c
>
>
>> @@ -358,6 +42,9 @@ static void vud_class_init(ObjectClass *klass, void *data)
>> {
>> DeviceClass *dc = DEVICE_CLASS(klass);
>> + /* Reason: stop inexperienced users confusing themselves */
>> + dc->user_creatable = false;
>
>
> What about making VHOST_USER_DEVICE_PCI and
> TYPE_VHOST_USER_DEVICE TypeInfos abstract instead?
I had in a previous iteration (v7) but AIUI abstract really means
something different - the device can be instantiated but we just want to
stop the user from creating it arbitrarily.
>
>> +
>> device_class_set_props(dc, vud_properties);
>> dc->vmsd = &vud_vmstate;
>> set_bit(DEVICE_CATEGORY_INPUT, dc->categories);
>> @@ -366,14 +53,11 @@ static void vud_class_init(ObjectClass *klass, void
>> *data)
>> static const TypeInfo vud_info = {
>> .name = TYPE_VHOST_USER_DEVICE,
>> .parent = TYPE_VHOST_USER_BASE,
>> - .instance_size = sizeof(VHostUserBase),
>> .class_init = vud_class_init,
>> - .class_size = sizeof(VHostUserBaseClass),
>> };
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
- [PATCH v9 00/11] virtio: cleanup vhost-user-generic and reduce c&p + vhost-user-input, Alex Bennée, 2024/01/04
- [PATCH v9 01/11] virtio: split into vhost-user-base and vhost-user-device, Alex Bennée, 2024/01/04
- [PATCH v9 02/11] hw/virtio: convert vhost-user-base to async shutdown, Alex Bennée, 2024/01/04
- [PATCH v9 06/11] hw/virtio: add vhost-user-snd and virtio-snd-pci devices, Alex Bennée, 2024/01/04
- [PATCH v9 03/11] hw/virtio: derive vhost-user-rng from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 07/11] docs/system: add a basic enumeration of vhost-user devices, Alex Bennée, 2024/01/04
- [PATCH v9 08/11] hw/virtio: Support set_config() callback in vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 05/11] hw/virtio: derive vhost-user-i2c from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 04/11] hw/virtio: derive vhost-user-gpio from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 10/11] hw/virtio: Move vhost-user-input into virtio folder, Alex Bennée, 2024/01/04
- [PATCH v9 11/11] hw/virtio: derive vhost-user-input from vhost-user-base, Alex Bennée, 2024/01/04
- [PATCH v9 09/11] docs/system: Add vhost-user-input documentation, Alex Bennée, 2024/01/04