Define OS-dependent qemu_getpagesize() (Hollis Blanchard)
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 21:48:59 +0000 (21:48 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 21:48:59 +0000 (21:48 +0000)
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5701 c046a42c-6fe2-441c-8c8c-71466251a162

exec.c
osdep.c
osdep.h

diff --git a/exec.c b/exec.c
index 1edc737..6285b3d 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -231,16 +231,7 @@ static void page_init(void)
 {
     /* NOTE: we can always suppose that qemu_host_page_size >=
        TARGET_PAGE_SIZE */
-#ifdef _WIN32
-    {
-        SYSTEM_INFO system_info;
-
-        GetSystemInfo(&system_info);
-        qemu_real_host_page_size = system_info.dwPageSize;
-    }
-#else
-    qemu_real_host_page_size = getpagesize();
-#endif
+    qemu_real_host_page_size = qemu_getpagesize();
     if (qemu_host_page_size == 0)
         qemu_host_page_size = qemu_real_host_page_size;
     if (qemu_host_page_size < TARGET_PAGE_SIZE)
diff --git a/osdep.c b/osdep.c
index 683aad0..8ff260a 100644 (file)
--- a/osdep.c
+++ b/osdep.c
@@ -66,6 +66,14 @@ void qemu_vfree(void *ptr)
     VirtualFree(ptr, 0, MEM_RELEASE);
 }
 
+long qemu_getpagesize(void)
+{
+    SYSTEM_INFO system_info;
+
+    GetSystemInfo(&system_info);
+    return system_info.dwPageSize;
+}
+
 #else
 
 #if defined(USE_KQEMU)
@@ -190,6 +198,11 @@ void *qemu_memalign(size_t alignment, size_t size)
 #endif
 }
 
+long qemu_getpagesize(void)
+{
+    return sysconf(_SC_PAGESIZE);
+}
+
 /* alloc shared memory pages */
 void *qemu_vmalloc(size_t size)
 {
diff --git a/osdep.h b/osdep.h
index 87f024b..e4022ba 100644 (file)
--- a/osdep.h
+++ b/osdep.h
@@ -72,6 +72,7 @@
 void *qemu_memalign(size_t alignment, size_t size);
 void *qemu_vmalloc(size_t size);
 void qemu_vfree(void *ptr);
+long qemu_getpagesize(void);
 
 int qemu_create_pidfile(const char *filename);