This patch allows for the opensolaris kqemu module to be activated under a Solaris Express (11) host running qemu.
The solaris kqemu module is located at: http://www.opensolaris.org/os/project/qemu/downloads/kqemu-osol-1.3.0pre9-v0.2.tar.gz
diff -ruN qemu-base/configure qemu/configure --- qemu-base/configure 2007-01-05 16:25:54.000000000 -0500 +++ qemu/configure 2007-01-12 12:14:34.352357000 -0500 @@ -151,6 +151,11 @@ make="gmake" install="ginstall" solarisrev=`uname -r | cut -f2 -d.` + if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then + if test "$solarisrev" -gt 10 ; then + kqemu="yes" + fi + fi fi # find source path diff -ruN qemu-base/kqemu.c qemu/kqemu.c --- qemu-base/kqemu.c 2006-10-02 13:58:33.000000000 -0400 +++ qemu/kqemu.c 2007-01-12 12:08:02.935409000 -0500 @@ -26,6 +26,9 @@ #include <sys/mman.h> #include <sys/ioctl.h> #endif +#ifdef HOST_SOLARIS +#include <sys/modctl.h> +#endif #include <stdlib.h> #include <stdio.h> #include <stdarg.h> diff -ruN qemu-base/osdep.c qemu/osdep.c --- qemu-base/osdep.c 2006-08-17 12:19:07.000000000 -0400 +++ qemu/osdep.c 2007-01-12 12:16:19.137607000 -0500 @@ -27,6 +27,10 @@ #include <string.h> #include <errno.h> #include <unistd.h> +#ifdef HOST_SOLARIS +#include <sys/types.h> +#include <sys/statvfs.h> +#endif #include "cpu.h" #if defined(USE_KQEMU) @@ -86,13 +90,22 @@ const char *tmpdir; char phys_ram_file[1024]; void *ptr; +#ifdef HOST_SOLARIS + struct statvfs stfs; +#else struct statfs stfs; +#endif if (phys_ram_fd < 0) { tmpdir = getenv("QEMU_TMPDIR"); if (!tmpdir) +#ifdef HOST_SOLARIS + tmpdir = "/tmp"; + if (statvfs(tmpdir, &stfs) == 0) { +#else tmpdir = "/dev/shm"; if (statfs(tmpdir, &stfs) == 0) { +#endif int64_t free_space; int ram_mb;
_______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel