]> git.proxmox.com Git - qemu.git/blobdiff - osdep.c
Unbreak SDL on Mac OS X
[qemu.git] / osdep.c
diff --git a/osdep.c b/osdep.c
index 683aad0f0cce168368bda866a6490e073788020b..824120f7d662dbfea019e6528ee7e607e6cb4aef 100644 (file)
--- a/osdep.c
+++ b/osdep.c
@@ -75,8 +75,10 @@ void qemu_vfree(void *ptr)
 #include <sys/types.h>
 #include <sys/mount.h>
 #else
+#ifndef __FreeBSD__
 #include <sys/vfs.h>
 #endif
+#endif
 
 #include <sys/mman.h>
 #include <fcntl.h>
@@ -87,7 +89,8 @@ static void *kqemu_vmalloc(size_t size)
     static int phys_ram_size = 0;
     void *ptr;
 
-#ifdef __OpenBSD__ /* no need (?) for a dummy file on OpenBSD */
+/* no need (?) for a dummy file on OpenBSD/FreeBSD */
+#if defined(__OpenBSD__) || defined(__FreeBSD__)
     int map_anon = MAP_ANON;
 #else
     int map_anon = 0;
@@ -154,7 +157,7 @@ static void *kqemu_vmalloc(size_t size)
     }
     size = (size + 4095) & ~4095;
     ftruncate(phys_ram_fd, phys_ram_size + size);
-#endif /* !__OpenBSD__ */
+#endif /* !(__OpenBSD__ || __FreeBSD__) */
     ptr = mmap(NULL,
                size,
                PROT_WRITE | PROT_READ, map_anon | MAP_SHARED,
@@ -197,11 +200,7 @@ void *qemu_vmalloc(size_t size)
     if (kqemu_allowed)
         return kqemu_vmalloc(size);
 #endif
-#ifdef _BSD
-    return valloc(size);
-#else
-    return memalign(4096, size);
-#endif
+    return qemu_memalign(getpagesize(), size);
 }
 
 void qemu_vfree(void *ptr)