winsys/svga: use os_mmap() for memory mapping
authorChia-I Wu <olvaffe@gmail.com>
Sun, 21 Aug 2011 12:37:47 +0000 (20:37 +0800)
committerChia-I Wu <olv@lunarg.com>
Wed, 24 Aug 2011 02:57:12 +0000 (10:57 +0800)
os_mmap() guarantees large file support across OSes.

src/gallium/winsys/svga/drm/vmw_screen_ioctl.c

index d92ba389d354642e096585a10b680e484e87d1c0..afdbd44458d3084e9a28f812dbaee31fc8996161 100644 (file)
@@ -42,7 +42,8 @@
 #include "xf86drm.h"
 #include "vmwgfx_drm.h"
 
-#include <sys/mman.h>
+#include "os/os_mman.h"
+
 #include <errno.h>
 #include <unistd.h>
 
@@ -94,7 +95,7 @@ static void
 vmw_ioctl_fifo_unmap(struct vmw_winsys_screen *vws, void *mapping)
 {
    VMW_FUNC;
-   (void)munmap(mapping, getpagesize());
+   (void)os_munmap(mapping, getpagesize());
 }
 
 
@@ -106,7 +107,7 @@ vmw_ioctl_fifo_map(struct vmw_winsys_screen *vws,
 
    VMW_FUNC;
 
-   map = mmap(NULL, getpagesize(), PROT_READ, MAP_SHARED,
+   map = os_mmap(NULL, getpagesize(), PROT_READ, MAP_SHARED,
              vws->ioctl.drm_fd, fifo_offset);
 
    if (map == MAP_FAILED) {
@@ -362,7 +363,7 @@ vmw_ioctl_region_destroy(struct vmw_region *region)
               region->ptr.gmrId, region->ptr.offset);
 
    if (region->data) {
-      munmap(region->data, region->size);
+      os_munmap(region->data, region->size);
       region->data = NULL;
    }
 
@@ -388,7 +389,7 @@ vmw_ioctl_region_map(struct vmw_region *region)
               region->ptr.gmrId, region->ptr.offset);
 
    if (region->data == NULL) {
-      map = mmap(NULL, region->size, PROT_READ | PROT_WRITE, MAP_SHARED,
+      map = os_mmap(NULL, region->size, PROT_READ | PROT_WRITE, MAP_SHARED,
                 region->drm_fd, region->map_handle);
       if (map == MAP_FAILED) {
         debug_printf("%s: Map failed.\n", __FUNCTION__);