[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/32] use anonymous memory for kqemu.
From: |
Glauber Costa |
Subject: |
[Qemu-devel] [PATCH 01/32] use anonymous memory for kqemu. |
Date: |
Thu, 23 Oct 2008 12:18:45 -0200 |
Signed-off-by: Glauber Costa <address@hidden>
---
osdep.c | 111 ---------------------------------------------------------------
1 files changed, 0 insertions(+), 111 deletions(-)
diff --git a/osdep.c b/osdep.c
index 683aad0..31c96e6 100644
--- a/osdep.c
+++ b/osdep.c
@@ -68,112 +68,9 @@ void qemu_vfree(void *ptr)
#else
-#if defined(USE_KQEMU)
-
-#ifdef __OpenBSD__
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/mount.h>
-#else
-#include <sys/vfs.h>
-#endif
-
#include <sys/mman.h>
#include <fcntl.h>
-static void *kqemu_vmalloc(size_t size)
-{
- static int phys_ram_fd = -1;
- static int phys_ram_size = 0;
- void *ptr;
-
-#ifdef __OpenBSD__ /* no need (?) for a dummy file on OpenBSD */
- int map_anon = MAP_ANON;
-#else
- int map_anon = 0;
- const char *tmpdir;
- char phys_ram_file[1024];
-#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;
-
- free_space = (int64_t)stfs.f_bavail * stfs.f_bsize;
- if ((ram_size + 8192 * 1024) >= free_space) {
- ram_mb = (ram_size / (1024 * 1024));
- fprintf(stderr,
- "You do not have enough space in '%s' for the %d MB of
QEMU virtual RAM.\n",
- tmpdir, ram_mb);
- if (strcmp(tmpdir, "/dev/shm") == 0) {
- fprintf(stderr, "To have more space available provided you
have enough RAM and swap, do as root:\n"
- "mount -o remount,size=%dm /dev/shm\n",
- ram_mb + 16);
- } else {
- fprintf(stderr,
- "Use the '-m' option of QEMU to diminish the
amount of virtual RAM or use the\n"
- "QEMU_TMPDIR environment variable to set another
directory where the QEMU\n"
- "temporary RAM file will be opened.\n");
- }
- fprintf(stderr, "Or disable the accelerator module with
-no-kqemu\n");
- exit(1);
- }
- }
- snprintf(phys_ram_file, sizeof(phys_ram_file), "%s/qemuXXXXXX",
- tmpdir);
- phys_ram_fd = mkstemp(phys_ram_file);
- if (phys_ram_fd < 0) {
- fprintf(stderr,
- "warning: could not create temporary file in '%s'.\n"
- "Use QEMU_TMPDIR to select a directory in a tmpfs
filesystem.\n"
- "Using '/tmp' as fallback.\n",
- tmpdir);
- snprintf(phys_ram_file, sizeof(phys_ram_file), "%s/qemuXXXXXX",
- "/tmp");
- phys_ram_fd = mkstemp(phys_ram_file);
- if (phys_ram_fd < 0) {
- fprintf(stderr, "Could not create temporary memory file
'%s'\n",
- phys_ram_file);
- exit(1);
- }
- }
- unlink(phys_ram_file);
- }
- size = (size + 4095) & ~4095;
- ftruncate(phys_ram_fd, phys_ram_size + size);
-#endif /* !__OpenBSD__ */
- ptr = mmap(NULL,
- size,
- PROT_WRITE | PROT_READ, map_anon | MAP_SHARED,
- phys_ram_fd, phys_ram_size);
- if (ptr == MAP_FAILED) {
- fprintf(stderr, "Could not map physical memory\n");
- exit(1);
- }
- phys_ram_size += size;
- return ptr;
-}
-
-static void kqemu_vfree(void *ptr)
-{
- /* may be useful some day, but currently we do not need to free */
-}
-
-#endif
-
void *qemu_memalign(size_t alignment, size_t size)
{
#if defined(_POSIX_C_SOURCE)
@@ -193,10 +90,6 @@ void *qemu_memalign(size_t alignment, size_t size)
/* alloc shared memory pages */
void *qemu_vmalloc(size_t size)
{
-#if defined(USE_KQEMU)
- if (kqemu_allowed)
- return kqemu_vmalloc(size);
-#endif
#ifdef _BSD
return valloc(size);
#else
@@ -206,10 +99,6 @@ void *qemu_vmalloc(size_t size)
void qemu_vfree(void *ptr)
{
-#if defined(USE_KQEMU)
- if (kqemu_allowed)
- kqemu_vfree(ptr);
-#endif
free(ptr);
}
--
1.5.5.1
- [Qemu-devel] [PATCH 0/32] New shot at accelerators, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 01/32] use anonymous memory for kqemu.,
Glauber Costa <=
- [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Jan Kiszka, 2008/10/23
- [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Anthony Liguori, 2008/10/23
- [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Jan Kiszka, 2008/10/23
- [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Anthony Liguori, 2008/10/23
- Re: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Leonardo Reiter, 2008/10/23
- Re: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Leonardo Reiter, 2008/10/23
- Re: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Andreas Färber, 2008/10/24
- Re: [Qemu-devel] Re: [PATCH 01/32] use anonymous memory for kqemu., Ben Taylor, 2008/10/24
- [Qemu-devel] QEMU on Solaris 10 (was: [PATCH 01/32] use anonymous memory for kqemu.), Andreas Färber, 2008/10/25
- Re: [Qemu-devel] QEMU on Solaris 10 (was: [PATCH 01/32] use anonymous memory for kqemu.), Andreas Färber, 2008/10/25