This series is an attempt to make virtio features acknowledged by the guest visible as read-only QOM properties. One potential usecase of this is debugging; another is when the upper layer needs to do something only when/if the guest has acknowledged the support for a feature (e.g. hot-plug a VFIO device once the guest claims VIRTIO_NET_F_STANDBY support).
Being an RFC, it's incomplete and fails checkpatch, but I'd be intersted to know if the approach is sane and worthwhile before I invest more time in it. Roman Kagan (5): qom: preserve get/set presence in aliased properties qmp: further consolidate listing of device and object properties qdev-properties: add r/o 64bit bitfield property virtio: drop DEFINE_VIRTIO_COMMON_FEATURES virtio: expose negotiated features in r/o properties include/hw/qdev-properties.h | 9 ++++ include/hw/virtio/virtio-scsi.h | 2 +- include/hw/virtio/virtio.h | 18 +++---- hw/char/virtio-serial-bus.c | 6 ++- hw/core/qdev-properties.c | 9 +++- hw/net/virtio-net.c | 88 +++++++++++++++++-------------- hw/scsi/virtio-scsi.c | 4 +- hw/virtio/virtio.c | 11 +++- qmp.c | 92 ++++++++------------------------- qom/object.c | 4 +- 10 files changed, 113 insertions(+), 130 deletions(-) -- 2.19.2