diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-01-17 23:31:19 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-01-17 23:31:19 +0000 |
commit | 605686cd7acdc37b87134c7eedf01b99db9213c1 (patch) | |
tree | 647a93faacb07d0c73745c6072080e59281d2218 | |
parent | 8182266352df123bbe5661d14ded4ef06d866a60 (diff) |
Kqemu support for Solaris, by Ben Taylor.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2329 c046a42c-6fe2-441c-8c8c-71466251a162
-rwxr-xr-x | configure | 5 | ||||
-rw-r--r-- | kqemu.c | 3 | ||||
-rw-r--r-- | osdep.c | 13 |
3 files changed, 21 insertions, 0 deletions
@@ -151,6 +151,11 @@ if [ "$solaris" = "yes" ] ; then 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 @@ -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> @@ -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 @@ void *kqemu_vmalloc(size_t size) 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; |