This series was spun off from:
"[PATCH 0/3] virtio-net: Convert feature properties to OnOffAuto"
(https://patchew.org/QEMU/20240714-auto-v3-0-e27401aabab3@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.odaki@daynix.com>
---
Changes in v6:
- Rebased.
- Link to v5: https://lore.kernel.org/qemu-devel/20250208-virtio-v5-0-4376cb218c0f@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-cbf0aa04c9f9@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-63ef70e9ddf3@daynix.com
Changes in v3:
- Rebased.
- Link to v2: https://lore.kernel.org/r/20241022-virtio-v2-0-b2394236e053@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-e9ddf7a81891@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: b69801dd6b1eb4d107f7c2f643adf0a4e3ec9124
change-id: 20241013-virtio-164ea3f295c3
Best regards,
--
Akihiko Odaki <akihiko.odaki@daynix.com>