From 4b2e0a7a74a7720212d75694df9cd376aaea5f9d Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 18 Aug 2011 15:18:37 +0300 Subject: [PATCH] kvm tools: Add guest compatability warning to virtio-balloon Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- virtio/balloon.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/virtio/balloon.c b/virtio/balloon.c index 2e9fe32..7f3fe65 100644 --- a/virtio/balloon.c +++ b/virtio/balloon.c @@ -11,6 +11,7 @@ #include "kvm/threadpool.h" #include "kvm/irq.h" #include "kvm/ioeventfd.h" +#include "kvm/guest_compat.h" #include #include @@ -48,6 +49,7 @@ struct bln_dev { u16 stat_count; int stat_waitfd; + int compat_id; struct virtio_balloon_config config; }; @@ -211,6 +213,8 @@ static bool virtio_bln_pci_io_out(struct ioport *ioport, struct kvm *kvm, u16 po struct virt_queue *queue; void *p; + compat__remove_message(bdev.compat_id); + queue = &bdev.vqs[bdev.queue_selector]; queue->pfn = ioport__read32(data); p = guest_pfn_to_host(kvm, queue->pfn); @@ -366,4 +370,10 @@ void virtio_bln__init(struct kvm *kvm) memset(&bdev.config, 0, sizeof(struct virtio_balloon_config)); pci__register(&bdev.pci_hdr, dev); + + bdev.compat_id = compat__add_message("virtio-balloon device was not detected", + "While you have requested a virtio-balloon device, " + "the guest kernel didn't seem to detect it.\n" + "Please make sure that the kernel was compiled" + "with CONFIG_VIRTIO_BALLOON."); }