From c7558d8fa4df805b7f7ff3d631432eadac9b8a1c Mon Sep 17 00:00:00 2001 From: Alan Hourihane Date: Sun, 24 Sep 2000 09:34:10 +0000 Subject: commit xfree86 4.0.1d-pre update --- libdrm/xf86drm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libdrm') diff --git a/libdrm/xf86drm.c b/libdrm/xf86drm.c index c561f01f..c933f593 100644 --- a/libdrm/xf86drm.c +++ b/libdrm/xf86drm.c @@ -27,7 +27,7 @@ * Authors: Rickard E. (Rik) Faith * Kevin E. Martin * - * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c,v 1.15 2000/08/09 14:44:27 alanh Exp $ + * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c,v 1.16 2000/08/28 16:55:52 dawes Exp $ * */ @@ -597,7 +597,15 @@ int drmMap(int fd, drmSize size, drmAddressPtr address) { + static unsigned long pagesize_mask = 0; + if (fd < 0) return -EINVAL; + + if (!pagesize_mask) + pagesize_mask = getpagesize() - 1; + + size = (size + pagesize_mask) & ~pagesize_mask; + *address = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, handle); if (*address == MAP_FAILED) return -errno; return 0; -- cgit v1.2.3