From 43160ee2b88853c9f7abe6f2da7d2a83da04c75b Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 18 Aug 2011 15:18:34 +0300 Subject: [PATCH] kvm tools: Add guest compatability warning to virtio-9p Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- tools/kvm/include/kvm/virtio-9p.h | 1 + tools/kvm/virtio/9p.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/tools/kvm/include/kvm/virtio-9p.h b/tools/kvm/include/kvm/virtio-9p.h index 0e55e5c4b6a3..70db831fbce8 100644 --- a/tools/kvm/include/kvm/virtio-9p.h +++ b/tools/kvm/include/kvm/virtio-9p.h @@ -44,6 +44,7 @@ struct p9_dev { u32 features; struct virtio_9p_config *config; u16 base_addr; + int compat_id; /* virtio queue */ u16 queue_selector; diff --git a/tools/kvm/virtio/9p.c b/tools/kvm/virtio/9p.c index e42d78c35a26..8a4fe734d691 100644 --- a/tools/kvm/virtio/9p.c +++ b/tools/kvm/virtio/9p.c @@ -5,6 +5,7 @@ #include "kvm/ioeventfd.h" #include "kvm/irq.h" #include "kvm/virtio-9p.h" +#include "kvm/guest_compat.h" #include #include @@ -781,6 +782,8 @@ static bool virtio_p9_pci_io_out(struct ioport *ioport, struct kvm *kvm, struct p9_dev_job *job; struct virt_queue *queue; + compat__remove_message(p9dev->compat_id); + job = &p9dev->jobs[p9dev->queue_selector]; queue = &p9dev->vqs[p9dev->queue_selector]; queue->pfn = ioport__read32(data); @@ -900,6 +903,12 @@ int virtio_9p__init(struct kvm *kvm, const char *root, const char *tag_name) }; pci__register(&p9dev->pci_hdr, dev); + p9dev->compat_id = compat__add_message("virtio-9p device was not detected", + "While you have requested a virtio-9p device, " + "the guest kernel didn't seem to detect it.\n" + "Please make sure that the kernel was compiled" + "with CONFIG_NET_9P_VIRTIO."); + return err; free_p9dev_config: -- 2.39.5