Skip to contentSkip to conversation

qemu: properties for feature compatibility

PATCH New Michael S. Tsirkin 1 participant 1 message Jan 10, 2010

lore
Share & tools
lore
#0 lore raw

v7 cover qemu: properties for feature compatibility

Here's what I came up with for solving the problem of differences in features in virtio between 0.12 and 0.11. This also enables migration between different backends, e.g. between host where tap supports virtio net header and where it does not: management just needs to set features appropriately.
Compat bits are yet to be set, will be done when this patch is applied.

changes since v6:
- fix arm-softmmu build

Changes since v5:
- added patch to rename features->guest_features

Changes since v4:
- Save bit offset in a separate field, offset is in bytes

Changes since RFC v2:
- we already have a flag to control write cache feature, let's not add another one

Changes since RFC:
- add symbolic names for properties
- only optional features can be changed

Michael S. Tsirkin (3):
qdev: add bit property type
virtio: rename features -> guest_features
virtio: add features as qdev properties

 hw/qdev-properties.c |   62 ++++++++++++++++++++++++++++++++++++++++++++-----
 hw/qdev.h            |   11 +++++++++
 hw/s390-virtio-bus.c |   14 ++++++++---
 hw/s390-virtio-bus.h |    1 +
 hw/syborg_virtio.c   |   17 ++++++++-----
 hw/virtio-balloon.c  |    4 +-
 hw/virtio-blk.c      |    6 +----
 hw/virtio-blk.h      |    8 ++++++
 hw/virtio-console.c  |    4 +-
 hw/virtio-net.c      |   49 +++++++++++++++++----------------------
 hw/virtio-net.h      |   20 ++++++++++++++++
 hw/virtio-pci.c      |   29 +++++++++++++++--------
 hw/virtio.c          |   10 ++++----
 hw/virtio.h          |    9 +++++-
 14 files changed, 172 insertions(+), 72 deletions(-)