From 6c170d9bfddbb2fa343b987f0aa8841c3e2604d1 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sun, 10 Oct 2010 14:07:31 -0400 Subject: [PATCH] android: Use __mmap2. --- intel/intel_bufmgr_gem.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index dd58c0c4..927ebd85 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -1062,6 +1062,25 @@ static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable) return 0; } +#ifdef ANDROID + +extern void* __mmap2(void*, size_t, int, int, int, size_t); + +#define MMAP2_SHIFT 12 +static void* android_mmap2(void *addr, size_t size, int prot, int flags, int fd, unsigned long long offset) +{ + if ( offset & ((1UL << MMAP2_SHIFT)-1) ) { + errno = EINVAL; + return MAP_FAILED; + } + + return __mmap2(addr, size, prot, flags, fd, (size_t)(offset >> MMAP2_SHIFT)); +} + +#define mmap(addr, size, prot, flags, fd, offset) android_mmap2(addr, size, prot, flags, fd, offset) + +#endif /* ANDROID */ + int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo) { drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr; -- 2.11.0