Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> --- tools/kvm/virtio/rng.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/tools/kvm/virtio/rng.c b/tools/kvm/virtio/rng.c index 5f29ded..a540e2e 100644 --- a/tools/kvm/virtio/rng.c +++ b/tools/kvm/virtio/rng.c @@ -11,6 +11,7 @@ #include "kvm/threadpool.h" #include "kvm/irq.h" #include "kvm/ioeventfd.h" +#include "kvm/guest_compat.h" #include <linux/virtio_ring.h> #include <linux/virtio_rng.h> @@ -41,6 +42,7 @@ struct rng_dev { int fd; u32 vq_vector[NUM_VIRT_QUEUES]; u32 msix_io_block; + int compat_id; /* virtio queue */ u16 queue_selector; @@ -137,6 +139,8 @@ static bool virtio_rng_pci_io_out(struct ioport *ioport, struct kvm *kvm, u16 po struct rng_dev_job *job; void *p; + compat__remove_message(rdev->compat_id); + queue = &rdev->vqs[rdev->queue_selector]; queue->pfn = ioport__read32(data); p = guest_pfn_to_host(kvm, queue->pfn); @@ -279,6 +283,12 @@ void virtio_rng__init(struct kvm *kvm) ioeventfd__add_event(&ioevent); } + + rdev->compat_id = compat__add_message("virtio-rng device was not detected", + "While you have requested a virtio-rng device, " + "the guest kernel didn't seem to detect it.\n" + "Please make sure that the kernel was compiled" + "with CONFIG_HW_RANDOM_VIRTIO."); } void virtio_rng__delete_all(struct kvm *kvm) -- 1.7.6 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html