Commit 605686cd7acdc37b87134c7eedf01b99db9213c1

Authored by ths
1 parent 81822663

Kqemu support for Solaris, by Ben Taylor.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2329 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 3 changed files with 21 additions and 0 deletions
configure
... ... @@ -151,6 +151,11 @@ if [ "$solaris" = "yes" ] ; then
151 151 make="gmake"
152 152 install="ginstall"
153 153 solarisrev=`uname -r | cut -f2 -d.`
  154 + if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
  155 + if test "$solarisrev" -gt 10 ; then
  156 + kqemu="yes"
  157 + fi
  158 + fi
154 159 fi
155 160  
156 161 # find source path
... ...
... ... @@ -26,6 +26,9 @@
26 26 #include <sys/mman.h>
27 27 #include <sys/ioctl.h>
28 28 #endif
  29 +#ifdef HOST_SOLARIS
  30 +#include <sys/modctl.h>
  31 +#endif
29 32 #include <stdlib.h>
30 33 #include <stdio.h>
31 34 #include <stdarg.h>
... ...
... ... @@ -27,6 +27,10 @@
27 27 #include <string.h>
28 28 #include <errno.h>
29 29 #include <unistd.h>
  30 +#ifdef HOST_SOLARIS
  31 +#include <sys/types.h>
  32 +#include <sys/statvfs.h>
  33 +#endif
30 34  
31 35 #include "cpu.h"
32 36 #if defined(USE_KQEMU)
... ... @@ -86,13 +90,22 @@ void *kqemu_vmalloc(size_t size)
86 90 const char *tmpdir;
87 91 char phys_ram_file[1024];
88 92 void *ptr;
  93 +#ifdef HOST_SOLARIS
  94 + struct statvfs stfs;
  95 +#else
89 96 struct statfs stfs;
  97 +#endif
90 98  
91 99 if (phys_ram_fd < 0) {
92 100 tmpdir = getenv("QEMU_TMPDIR");
93 101 if (!tmpdir)
  102 +#ifdef HOST_SOLARIS
  103 + tmpdir = "/tmp";
  104 + if (statvfs(tmpdir, &stfs) == 0) {
  105 +#else
94 106 tmpdir = "/dev/shm";
95 107 if (statfs(tmpdir, &stfs) == 0) {
  108 +#endif
96 109 int64_t free_space;
97 110 int ram_mb;
98 111  
... ...