diff --git a/configure b/configure index 3a34e00e43..89e7f5362a 100755 --- a/configure +++ b/configure @@ -1158,7 +1158,9 @@ EOF | grep "error: " \ | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'` if test "$kvmerr" != "" ; then - kvm="no - (${kvmerr})" + kvm="no - (${kvmerr})\n\ + NOTE: To enable KVM support, update your kernel to 2.6.29+ or install \ +recent kvm-kmod from http://sourceforge.net/projects/kvm." fi fi fi @@ -1377,7 +1379,7 @@ echo "vde support $vde" echo "AIO support $aio" echo "IO thread $io_thread" echo "Install blobs $blobs" -echo "KVM support $kvm" +echo -e "KVM support $kvm" echo "fdt support $fdt" echo "preadv support $preadv" diff --git a/kvm-all.c b/kvm-all.c index c89e3b1cfe..b24d8766f4 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -404,6 +404,9 @@ static void kvm_reset_vcpus(void *opaque) int kvm_init(int smp_cpus) { + static const char upgrade_note[] = + "Please upgrade to at least kernel 2.6.29 or recent kvm-kmod\n" + "(see http://sourceforge.net/projects/kvm).\n"; KVMState *s; int ret; int i; @@ -454,7 +457,8 @@ int kvm_init(int smp_cpus) */ if (!kvm_check_extension(s, KVM_CAP_USER_MEMORY)) { ret = -EINVAL; - fprintf(stderr, "kvm does not support KVM_CAP_USER_MEMORY\n"); + fprintf(stderr, "kvm does not support KVM_CAP_USER_MEMORY\n%s", + upgrade_note); goto err; } @@ -465,8 +469,8 @@ int kvm_init(int smp_cpus) ret = -EINVAL; fprintf(stderr, - "KVM kernel module broken (DESTROY_MEMORY_REGION)\n" - "Please upgrade to at least kvm-81.\n"); + "KVM kernel module broken (DESTROY_MEMORY_REGION).\n%s", + upgrade_note); goto err; }