Kqemu support for Solaris, by Ben Taylor.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2329 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
ths 2007-01-17 23:31:19 +00:00
parent 8182266352
commit 605686cd7a
3 changed files with 21 additions and 0 deletions

5
configure vendored
View file

@ -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

View file

@ -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>

13
osdep.c
View file

@ -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;