Allow selection of qemu using --with-qemu
authorRichard Jones <rjones@redhat.com>
Wed, 22 Apr 2009 07:46:35 +0000 (08:46 +0100)
committerRichard Jones <rjones@redhat.com>
Wed, 22 Apr 2009 07:46:35 +0000 (08:46 +0100)
README
configure.ac
libguestfs.spec.in
src/guestfs.c

diff --git a/README b/README
index 86a8f1e..b71eaa8 100644 (file)
--- a/README
+++ b/README
@@ -81,6 +81,18 @@ these commands as root:
   make install
 
 
+Note on using KVM
+----------------------------------------------------------------------
+
+If you are using x86-64, then by default the configure script will
+look for qemu-kvm (KVM support).  You will need a reasonably recent
+processor for this to work.  KVM is much faster than using plain QEMU.
+
+You may also need to enable KVM support for non-root users, by doing:
+
+  chmod o+rw /dev/kvm
+
+
 Notes on cross-architecture support
 ----------------------------------------------------------------------
 
index 6368196..caee197 100644 (file)
@@ -54,8 +54,18 @@ test "x$POD2TEXT" = "xno" &&
      AC_MSG_ERROR([pod2text must be installed])
 
 dnl Check for QEMU for running binaries on this $host_cpu, fall
-dnl back to basic 'qemu'.
-AC_PATH_PROGS([QEMU],[qemu-system-$host_cpu qemu],[no],
+dnl back to basic 'qemu'.  Allow the user to override it.
+default_qemu="qemu-system-$host_cpu qemu"
+# On x86-64, try using KVM first.
+if test "x$host_cpu" = "xx86_64"; then
+    default_qemu="qemu-kvm $default_qemu"
+fi
+AC_ARG_WITH([qemu],
+       [AS_HELP_STRING([--with-qemu],
+         [set default QEMU binary @<:@default=[qemu-kvm] qemu-system-<host> qemu@:>@])],
+       [],
+       [with_qemu="$default_qemu"])
+AC_PATH_PROGS([QEMU],[$with_qemu],[no],
        [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
 test "x$QEMU" = "xno" && AC_MSG_ERROR([qemu must be installed])
 AC_DEFINE_UNQUOTED([QEMU],["$QEMU"],[Location of qemu binary.])
@@ -345,6 +355,7 @@ echo "Thank you for downloading $PACKAGE_STRING"
 echo
 echo "This is how we have configured the optional components for you today:"
 echo
+echo    "QEMU ................................ $QEMU"
 echo -n "OCaml bindings ...................... "
 if test "x$HAVE_OCAML_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Perl bindings ....................... "
index 84ace5c..fd83769 100644 (file)
@@ -230,6 +230,7 @@ popd
 ./configure \
   --prefix=%{_prefix} --libdir=%{_libdir} \
   --with-java-home=%{java_home} \
+  --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \
   %{extra}
 
 # 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
index 0b3142c..0bec3b7 100644 (file)
@@ -730,7 +730,7 @@ guestfs_launch (guestfs_h *g)
 
     add_cmdline (g, "-m");
     add_cmdline (g, "384");      /* XXX Choose best size. */
-#if defined(__i386__) || defined(__x86_64)
+#if 0
     add_cmdline (g, "-no-kqemu"); /* Avoids a warning. */
 #endif
     add_cmdline (g, "-kernel");