This series was spun off from: "[PATCH 0/3] virtio-net: Convert feature properties to OnOffAuto" (https://patchew.org/QEMU/20240714-auto-v3-0-e27401aab...@daynix.com/)
Some features are not always available with vhost. Legacy features are not available with vp_vdpa in particular. virtio devices used to disable them when not available even if the corresponding properties were explicitly set to "on". QEMU already has OnOffAuto type, which includes the "auto" value to let it automatically decide the effective value. Convert feature properties to OnOffAuto and set them "auto" by default to utilize it. This allows QEMU to report an error if they are set "on" and the corresponding features are not available. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> --- Changes in v5: - Covered QAPI more than just qdev. - Expanded the description of patch "qapi: Accept bool for OnOffAuto and OnOffSplit". - Rebased. - Link to v4: https://lore.kernel.org/r/20250108-virtio-v4-0-cbf0aa04c...@daynix.com Changes in v4: - Added patch "qapi: Do not consume a value if failed". - Link to v3: https://lore.kernel.org/r/20250104-virtio-v3-0-63ef70e9d...@daynix.com Changes in v3: - Rebased. - Link to v2: https://lore.kernel.org/r/20241022-virtio-v2-0-b2394236e...@daynix.com Changes in v2: - Expanded the message of patch "qdev-properties: Accept bool for OnOffAuto". - Link to v1: https://lore.kernel.org/r/20241014-virtio-v1-0-e9ddf7a81...@daynix.com --- Akihiko Odaki (4): qapi: Do not consume a value if failed qapi: Accept bool for OnOffAuto and OnOffSplit qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() virtio: Convert feature properties to OnOffAuto include/hw/qdev-properties.h | 18 ++++++++ include/hw/virtio/virtio.h | 38 +++++++++------- hw/core/machine.c | 1 + hw/core/qdev-properties.c | 83 +++++++++++++++++++++++++++++++++- hw/virtio/virtio-bus.c | 14 +++++- hw/virtio/virtio.c | 4 +- qapi/qobject-input-visitor.c | 103 +++++++++++++++++++++++++++++-------------- scripts/qapi/visit.py | 24 ++++++++++ 8 files changed, 229 insertions(+), 56 deletions(-) --- base-commit: 7433709a147706ad7d1956b15669279933d0f82b change-id: 20241013-virtio-164ea3f295c3 Best regards, -- Akihiko Odaki <akihiko.od...@daynix.com>