@@ -1029,14 +1029,18 @@ static const VMStateDescription vmstate_virtio_balloon = {
};
static Property virtio_balloon_properties[] = {
- DEFINE_PROP_BIT("deflate-on-oom", VirtIOBalloon, host_features,
- VIRTIO_BALLOON_F_DEFLATE_ON_OOM, false),
- DEFINE_PROP_BIT("free-page-hint", VirtIOBalloon, host_features,
- VIRTIO_BALLOON_F_FREE_PAGE_HINT, false),
- DEFINE_PROP_BIT("page-poison", VirtIOBalloon, host_features,
- VIRTIO_BALLOON_F_PAGE_POISON, true),
- DEFINE_PROP_BIT("free-page-reporting", VirtIOBalloon, host_features,
- VIRTIO_BALLOON_F_REPORTING, false),
+ DEFINE_VIRTIO_FEATURE_BIT("deflate-on-oom", VirtIOBalloon, host_features,
+ parent_obj.guest_features,
+ VIRTIO_BALLOON_F_DEFLATE_ON_OOM, false),
+ DEFINE_VIRTIO_FEATURE_BIT("free-page-hint", VirtIOBalloon, host_features,
+ parent_obj.guest_features,
+ VIRTIO_BALLOON_F_FREE_PAGE_HINT, false),
+ DEFINE_VIRTIO_FEATURE_BIT("page-poison", VirtIOBalloon, host_features,
+ parent_obj.guest_features,
+ VIRTIO_BALLOON_F_PAGE_POISON, true),
+ DEFINE_VIRTIO_FEATURE_BIT("free-page-reporting", VirtIOBalloon,
+ host_features, parent_obj.guest_features,
+ VIRTIO_BALLOON_F_REPORTING, false),
/* QEMU 4.0 accidentally changed the config size even when free-page-hint
* is disabled, resulting in QEMU 3.1 migration incompatibility. This
* property retains this quirk for QEMU 4.1 machine types.
Add tracking of the bits acknowledged by the guest Signed-off-by: Maxim Davydov <maxim.davydov@virtuozzo.com> --- hw/virtio/virtio-balloon.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-)