diff options
Diffstat (limited to 'tests')
61 files changed, 220 insertions, 220 deletions
diff --git a/tests/gem_busy.c b/tests/gem_busy.c index 9f93097f..761eca3e 100644 --- a/tests/gem_busy.c +++ b/tests/gem_busy.c @@ -117,11 +117,11 @@ static uint32_t busy_blt(int fd) igt_assert(r - reloc <= ARRAY_SIZE(reloc)); munmap(map, 4096); - object[1].relocs_ptr = (uintptr_t)reloc; + object[1].relocs_ptr = to_user_pointer(reloc); object[1].relocation_count = r - reloc; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (unsigned long)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 2; if (gen >= 6) execbuf.flags = I915_EXEC_BLT; @@ -149,7 +149,7 @@ static bool exec_noop(int fd, exec[2].handle = handles[BATCH]; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 3; execbuf.flags = ring; igt_debug("Queuing handle for %s on ring %d\n", @@ -236,7 +236,7 @@ static void one(int fd, unsigned ring, uint32_t flags, unsigned test_flags) int i, count, timeout; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring | flags; if (gen < 6) @@ -246,7 +246,7 @@ static void one(int fd, unsigned ring, uint32_t flags, unsigned test_flags) obj[SCRATCH].handle = gem_create(fd, 4096); obj[BATCH].handle = gem_create(fd, size); - obj[BATCH].relocs_ptr = (uintptr_t)store; + obj[BATCH].relocs_ptr = to_user_pointer(store); obj[BATCH].relocation_count = ARRAY_SIZE(store); memset(store, 0, sizeof(store)); @@ -469,13 +469,13 @@ static bool has_extended_busy_ioctl(int fd) int i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -533,14 +533,14 @@ static void basic(int fd, unsigned ring, unsigned flags) bool busy; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = ring; memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); diff --git a/tests/gem_close_race.c b/tests/gem_close_race.c index 2850881b..05e95547 100644 --- a/tests/gem_close_race.c +++ b/tests/gem_close_race.c @@ -104,10 +104,10 @@ static void selfcopy(int fd, uint32_t handle, int loops) drmIoctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create); gem_exec[1].handle = create.handle; gem_exec[1].relocation_count = 2; - gem_exec[1].relocs_ptr = (uintptr_t)reloc; + gem_exec[1].relocs_ptr = to_user_pointer(reloc); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 2; execbuf.batch_len = (b - buf) * sizeof(*b); if (HAS_BLT_RING(devid)) @@ -117,7 +117,7 @@ static void selfcopy(int fd, uint32_t handle, int loops) gem_pwrite.handle = create.handle; gem_pwrite.offset = 0; gem_pwrite.size = sizeof(buf); - gem_pwrite.data_ptr = (uintptr_t)buf; + gem_pwrite.data_ptr = to_user_pointer(buf); if (drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite) == 0) { while (loops-- && drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf) == 0) diff --git a/tests/gem_concurrent_all.c b/tests/gem_concurrent_all.c index 44543fa8..2ebd30ab 100644 --- a/tests/gem_concurrent_all.c +++ b/tests/gem_concurrent_all.c @@ -263,7 +263,7 @@ userptr_create_bo(const struct buffers *b) ptr = mmap(NULL, userptr.user_size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0); igt_assert(ptr != (void *)-1); - userptr.user_ptr = (uintptr_t)ptr; + userptr.user_ptr = to_user_pointer(ptr); #if 0 do_or_die(drmIoctl(fd, LOCAL_IOCTL_I915_GEM_USERPTR, &userptr)); @@ -671,9 +671,9 @@ gpu_set_bo(struct buffers *buffers, drm_intel_bo *bo, uint32_t val) gem_exec[1].handle = gem_create(fd, 4096); gem_exec[1].relocation_count = 1; - gem_exec[1].relocs_ptr = (uintptr_t)reloc; + gem_exec[1].relocs_ptr = to_user_pointer(reloc); - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 2; execbuf.batch_len = (b - buf) * sizeof(buf[0]); if (gen >= 6) @@ -957,7 +957,7 @@ static igt_hang_t all_hang(void) gem_write(fd, obj.handle, 0, &bbe, sizeof(&bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; for_each_engine(fd, engine) { diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c index 520030a4..4e4458d2 100644 --- a/tests/gem_cpu_reloc.c +++ b/tests/gem_cpu_reloc.c @@ -90,10 +90,10 @@ static void copy(int fd, uint32_t batch, uint32_t src, uint32_t dst) gem_exec[1].handle = dst; gem_exec[2].handle = batch; gem_exec[2].relocation_count = 2; - gem_exec[2].relocs_ptr = (uintptr_t)gem_reloc; + gem_exec[2].relocs_ptr = to_user_pointer(gem_reloc); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 3; execbuf.batch_len = 4096; execbuf.flags = use_blt; @@ -110,7 +110,7 @@ static void exec(int fd, uint32_t handle) gem_exec.handle = handle; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&gem_exec; + execbuf.buffers_ptr = to_user_pointer(&gem_exec); execbuf.buffer_count = 1; execbuf.batch_len = 4096; diff --git a/tests/gem_create.c b/tests/gem_create.c index 25f75d4a..de7b8209 100644 --- a/tests/gem_create.c +++ b/tests/gem_create.c @@ -135,7 +135,7 @@ static void invalid_nonaligned_size(int fd) gem_pwrite.handle = handle; gem_pwrite.offset = PAGE_SIZE / 2; gem_pwrite.size = PAGE_SIZE; - gem_pwrite.data_ptr = (uintptr_t)buf; + gem_pwrite.data_ptr = to_user_pointer(buf); /* This should fail. Hence cannot use gem_write. */ igt_assert(drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite)); diff --git a/tests/gem_cs_prefetch.c b/tests/gem_cs_prefetch.c index 6d690456..fd9bb793 100644 --- a/tests/gem_cs_prefetch.c +++ b/tests/gem_cs_prefetch.c @@ -118,11 +118,11 @@ static void test_ring(unsigned ring) /* Fill the entire gart with batches and run them. */ memset(obj, 0, sizeof(obj)); obj[1].handle = shadow.handle; - obj[1].relocs_ptr = (uintptr_t)&shadow.reloc; + obj[1].relocs_ptr = to_user_pointer(&shadow.reloc); obj[1].relocation_count = 1; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.flags = ring; if (gen < 6) execbuf.flags |= I915_EXEC_SECURE; diff --git a/tests/gem_cs_tlb.c b/tests/gem_cs_tlb.c index 0a7c8dab..0338a1e0 100644 --- a/tests/gem_cs_tlb.c +++ b/tests/gem_cs_tlb.c @@ -115,7 +115,7 @@ static void run_on_ring(int fd, unsigned ring_id, const char *ring_name) obj[0].batch[0] = MI_BATCH_BUFFER_END; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&execobj; + execbuf.buffers_ptr = to_user_pointer(&execobj); execbuf.buffer_count = 1; execbuf.flags = ring_id; diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c index a86c54fd..e3ccc5be 100644 --- a/tests/gem_ctx_bad_exec.c +++ b/tests/gem_ctx_bad_exec.c @@ -34,7 +34,7 @@ static int exec(int fd, unsigned ring) memset(&obj, 0, sizeof(obj)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; i915_execbuffer2_set_context_id(execbuf, 1); diff --git a/tests/gem_ctx_create.c b/tests/gem_ctx_create.c index 886a5bb8..b779ea74 100644 --- a/tests/gem_ctx_create.c +++ b/tests/gem_ctx_create.c @@ -72,7 +72,7 @@ static void files(int core, int timeout, const int ncpus) memset(&obj, 0, sizeof(obj)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; igt_fork(child, ncpus) { @@ -119,7 +119,7 @@ static void active(int fd, unsigned engine, int timeout, int ncpus) gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = engine; @@ -260,7 +260,7 @@ static void maximum(int fd, int ncpus, unsigned mode) gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; igt_fork(child, ncpus) { diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c index 542ebc3b..342f8e93 100644 --- a/tests/gem_ctx_exec.c +++ b/tests/gem_ctx_exec.c @@ -63,7 +63,7 @@ static int exec(int fd, uint32_t handle, int ring, int ctx_id) gem_exec.rsvd1 = 0; gem_exec.rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)&gem_exec; + execbuf.buffers_ptr = to_user_pointer(&gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; @@ -103,7 +103,7 @@ static void big_exec(int fd, uint32_t handle, int ring) gem_exec[0].handle = handle; - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = num_buffers + 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c index 0841bf22..00122806 100644 --- a/tests/gem_ctx_switch.c +++ b/tests/gem_ctx_switch.c @@ -92,12 +92,12 @@ static void single(int fd, uint32_t handle, memset(&reloc, 0, sizeof(reloc)); reloc.offset = 1024; reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; } memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.rsvd1 = contexts[0]; execbuf.flags = e->exec_id | e->flags; diff --git a/tests/gem_ctx_thrash.c b/tests/gem_ctx_thrash.c index b0711894..cc7ea1a7 100644 --- a/tests/gem_ctx_thrash.c +++ b/tests/gem_ctx_thrash.c @@ -113,7 +113,7 @@ static int has_engine(int fd, const struct intel_execution_engine *e, uint32_t c gem_write(fd, exec.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&exec; + execbuf.buffers_ptr = to_user_pointer(&exec); execbuf.buffer_count = 1; execbuf.flags = e->exec_id | e->flags; execbuf.rsvd1 = ctx; @@ -185,7 +185,7 @@ static void single(const char *name, bool all_engines) if (gen >= 4 && gen < 8) reloc[n].offset += sizeof(uint32_t); - obj[2*n + 1].relocs_ptr = (uintptr_t)&reloc[n]; + obj[2*n + 1].relocs_ptr = to_user_pointer(&reloc[n]); obj[2*n + 1].relocation_count = 1; } @@ -225,7 +225,7 @@ static void single(const char *name, bool all_engines) obj[2*r + 1].handle = handle; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj[2*r]; + execbuf.buffers_ptr = to_user_pointer(&obj[2*r]); execbuf.buffer_count = 2; execbuf.flags = engines[n % num_engines]; execbuf.rsvd1 = all[n]; @@ -319,7 +319,7 @@ static void processes(void) memset(&obj, 0, sizeof(obj)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; igt_permute_array(fds, num_ctx, xchg_int); @@ -356,7 +356,7 @@ static void *thread(void *data) obj.handle = t->batch; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; ctx = malloc(t->num_ctx * sizeof(uint32_t)); diff --git a/tests/gem_eio.c b/tests/gem_eio.c index fcff9ecc..22fcf439 100644 --- a/tests/gem_eio.c +++ b/tests/gem_eio.c @@ -110,7 +110,7 @@ static void test_execbuf(int fd) exec.handle = gem_create(fd, 4096); gem_write(fd, exec.handle, 0, tmp, sizeof(tmp)); - execbuf.buffers_ptr = (uintptr_t)&exec; + execbuf.buffers_ptr = to_user_pointer(&exec); execbuf.buffer_count = 1; wedge_gpu(fd); @@ -207,7 +207,7 @@ static void test_inflight(int fd) gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; gem_execbuf(fd, &execbuf); diff --git a/tests/gem_evict_alignment.c b/tests/gem_evict_alignment.c index 3ce1bea9..bdbb1540 100644 --- a/tests/gem_evict_alignment.c +++ b/tests/gem_evict_alignment.c @@ -108,9 +108,9 @@ copy(int fd, uint32_t dst, uint32_t src, uint32_t *all_bo, } obj[n].handle = handle; obj[n].relocation_count = 2; - obj[n].relocs_ptr = (uintptr_t)reloc; + obj[n].relocs_ptr = to_user_pointer(reloc); - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.buffer_count = n_bo + 1; exec.batch_start_offset = 0; exec.batch_len = i * 4; diff --git a/tests/gem_evict_everything.c b/tests/gem_evict_everything.c index 14668915..591b478b 100644 --- a/tests/gem_evict_everything.c +++ b/tests/gem_evict_everything.c @@ -107,10 +107,10 @@ copy(int fd, uint32_t dst, uint32_t src, uint32_t *all_bo, int n_bo) obj[n].handle = all_bo[n]; obj[n].handle = handle; obj[n].relocation_count = 2; - obj[n].relocs_ptr = (uintptr_t)reloc; + obj[n].relocs_ptr = to_user_pointer(reloc); memset(&exec, 0, sizeof(exec)); - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.buffer_count = n_bo + 1; if (HAS_BLT_RING(intel_get_drm_devid(fd))) exec.flags |= I915_EXEC_BLT; diff --git a/tests/gem_exec_alignment.c b/tests/gem_exec_alignment.c index 4385297b..0549af33 100644 --- a/tests/gem_exec_alignment.c +++ b/tests/gem_exec_alignment.c @@ -108,7 +108,7 @@ static void many(int fd) gem_write(fd, execobj[i].handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)execobj; + execbuf.buffers_ptr = to_user_pointer(execobj); execbuf.buffer_count = count + 1; igt_require(__gem_execbuf(fd, &execbuf) == 0); @@ -119,7 +119,7 @@ static void many(int fd) uint64_t factor = alignment / max_alignment; execbuf.buffer_count = 2*count / factor; execbuf.buffers_ptr = - (uintptr_t)(execobj + count - execbuf.buffer_count + 1); + to_user_pointer(execobj + count - execbuf.buffer_count + 1); } igt_debug("testing %lld x alignment=%#llx [%db]\n", @@ -153,7 +153,7 @@ static void single(int fd) gem_write(fd, execobj.handle, 0, &batch, sizeof(batch)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&execobj; + execbuf.buffers_ptr = to_user_pointer(&execobj); execbuf.buffer_count = 1; gtt_size = gem_aperture_size(fd); diff --git a/tests/gem_exec_async.c b/tests/gem_exec_async.c index 735df5fc..54fb4367 100644 --- a/tests/gem_exec_async.c +++ b/tests/gem_exec_async.c @@ -39,7 +39,7 @@ static void store_dword(int fd, unsigned ring, int i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring; if (gen < 6) @@ -57,7 +57,7 @@ static void store_dword(int fd, unsigned ring, reloc.delta = offset; reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); obj[1].relocation_count = 1; i = 0; @@ -100,7 +100,7 @@ static void one(int fd, unsigned ring, uint32_t flags) obj[SCRATCH].handle = gem_create(fd, 4096); obj[BATCH].handle = gem_create(fd, 4096); - obj[BATCH].relocs_ptr = (uintptr_t)&reloc; + obj[BATCH].relocs_ptr = to_user_pointer(&reloc); obj[BATCH].relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -135,7 +135,7 @@ static void one(int fd, unsigned ring, uint32_t flags) i++; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring | flags; igt_require(__gem_execbuf(fd, &execbuf) == 0); diff --git a/tests/gem_exec_bad_domains.c b/tests/gem_exec_bad_domains.c index 1c18461f..45ea8bad 100644 --- a/tests/gem_exec_bad_domains.c +++ b/tests/gem_exec_bad_domains.c @@ -111,7 +111,7 @@ static void multi_write_domain(int fd) exec[1].handle = handle; exec[1].relocation_count = 1; - exec[1].relocs_ptr = (uintptr_t) reloc; + exec[1].relocs_ptr = to_user_pointer(reloc); exec[1].alignment = 0; exec[1].offset = 0; exec[1].flags = 0; @@ -125,7 +125,7 @@ static void multi_write_domain(int fd) reloc[0].write_domain = I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION; reloc[0].presumed_offset = 0; - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 2; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; diff --git a/tests/gem_exec_basic.c b/tests/gem_exec_basic.c index 5f0f33b8..3eaf0935 100644 --- a/tests/gem_exec_basic.c +++ b/tests/gem_exec_basic.c @@ -38,7 +38,7 @@ static void noop(int fd, unsigned ring) gem_write(fd, exec.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&exec; + execbuf.buffers_ptr = to_user_pointer(&exec); execbuf.buffer_count = 1; execbuf.flags = ring; gem_execbuf(fd, &execbuf); @@ -60,7 +60,7 @@ static void readonly(int fd, unsigned ring) execbuf = mmap(NULL, 4096, PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); igt_assert(execbuf != NULL); - execbuf->buffers_ptr = (uintptr_t)&exec; + execbuf->buffers_ptr = to_user_pointer(&exec); execbuf->buffer_count = 1; execbuf->flags = ring; igt_assert(mprotect(execbuf, 4096, PROT_READ) == 0); @@ -89,7 +89,7 @@ static void gtt(int fd, unsigned ring) exec->handle = gem_create(fd, 4096); gem_write(fd, exec->handle, 0, &bbe, sizeof(bbe)); - execbuf->buffers_ptr = (uintptr_t)exec; + execbuf->buffers_ptr = to_user_pointer(exec); execbuf->buffer_count = 1; execbuf->flags = ring; diff --git a/tests/gem_exec_big.c b/tests/gem_exec_big.c index b1019ed8..f9f60bae 100644 --- a/tests/gem_exec_big.c +++ b/tests/gem_exec_big.c @@ -68,14 +68,14 @@ static void exec1(int fd, uint32_t handle, uint64_t reloc_ofs, unsigned flags, c gem_exec[0].handle = handle; gem_exec[0].relocation_count = 1; - gem_exec[0].relocs_ptr = (uintptr_t) gem_reloc; + gem_exec[0].relocs_ptr = to_user_pointer(gem_reloc); gem_exec[0].alignment = 0; gem_exec[0].offset = 0; gem_exec[0].flags = 0; gem_exec[0].rsvd1 = 0; gem_exec[0].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; @@ -153,10 +153,10 @@ static void execN(int fd, uint32_t handle, uint64_t batch_size, unsigned flags, memset(gem_exec, 0, sizeof(gem_exec)); gem_exec[0].handle = handle; gem_exec[0].relocation_count = nreloc; - gem_exec[0].relocs_ptr = (uintptr_t)gem_reloc; + gem_exec[0].relocs_ptr = to_user_pointer(gem_reloc); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; diff --git a/tests/gem_exec_blt.c b/tests/gem_exec_blt.c index 677708de..932884b0 100644 --- a/tests/gem_exec_blt.c +++ b/tests/gem_exec_blt.c @@ -212,14 +212,14 @@ static void run(int object_size, bool dumb) exec[2].relocation_count = len > 56 ? 4 : 2; else exec[2].relocation_count = len > 40 ? 4 : 2; - exec[2].relocs_ptr = (uintptr_t)reloc; + exec[2].relocs_ptr = to_user_pointer(reloc); ring = 0; if (HAS_BLT_RING(intel_get_drm_devid(fd))) ring = I915_EXEC_BLT; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 3; execbuf.batch_len = len; execbuf.flags = ring; diff --git a/tests/gem_exec_create.c b/tests/gem_exec_create.c index aa7d9f48..25926150 100644 --- a/tests/gem_exec_create.c +++ b/tests/gem_exec_create.c @@ -90,7 +90,7 @@ static void all(int fd, unsigned flags, int timeout, int ncpus) gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; diff --git a/tests/gem_exec_faulting_reloc.c b/tests/gem_exec_faulting_reloc.c index dcd3734e..c17ce2da 100644 --- a/tests/gem_exec_faulting_reloc.c +++ b/tests/gem_exec_faulting_reloc.c @@ -209,7 +209,7 @@ static void run(int object_size) else exec[2].relocation_count = len > 40 ? 4 : 2; /* A newly mmap gtt bo will fault on first access. */ - exec[2].relocs_ptr = (uintptr_t)gtt_relocs; + exec[2].relocs_ptr = to_user_pointer(gtt_relocs); exec[2].alignment = 0; exec[2].offset = 0; exec[2].flags = 0; @@ -220,7 +220,7 @@ static void run(int object_size) if (HAS_BLT_RING(devid)) ring = I915_EXEC_BLT; - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 3; execbuf.batch_start_offset = 0; execbuf.batch_len = len; diff --git a/tests/gem_exec_fence.c b/tests/gem_exec_fence.c index b6ca0c5e..ea007468 100644 --- a/tests/gem_exec_fence.c +++ b/tests/gem_exec_fence.c @@ -50,7 +50,7 @@ static void store(int fd, unsigned ring, int fence, uint32_t target, unsigned of int i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring | LOCAL_EXEC_FENCE_IN; execbuf.rsvd2 = fence; @@ -61,7 +61,7 @@ static void store(int fd, unsigned ring, int fence, uint32_t target, unsigned of obj[SCRATCH].handle = target; obj[BATCH].handle = gem_create(fd, 4096); - obj[BATCH].relocs_ptr = (uintptr_t)&reloc; + obj[BATCH].relocs_ptr = to_user_pointer(&reloc); obj[BATCH].relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -127,14 +127,14 @@ static void test_fence_busy(int fd, unsigned ring, unsigned flags) gem_quiescent_gpu(fd); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = ring | LOCAL_EXEC_FENCE_OUT; memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -213,14 +213,14 @@ static void test_fence_await(int fd, unsigned ring, unsigned flags) int fence, i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = ring | LOCAL_EXEC_FENCE_OUT; memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); diff --git a/tests/gem_exec_flush.c b/tests/gem_exec_flush.c index c7b2c48c..57e88109 100644 --- a/tests/gem_exec_flush.c +++ b/tests/gem_exec_flush.c @@ -160,7 +160,7 @@ static void run(int fd, unsigned ring, int nchild, int timeout, } memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 3; execbuf.flags = ring | (1 << 11) | (1<<12); if (gen < 6) @@ -248,8 +248,8 @@ static void run(int fd, unsigned ring, int nchild, int timeout, /* Inspect a different cacheline each iteration */ i = 16 * (idx % 64) + (idx / 64); - obj[1].relocs_ptr = (uintptr_t)&reloc0[i]; - obj[2].relocs_ptr = (uintptr_t)&reloc1[i]; + obj[1].relocs_ptr = to_user_pointer(&reloc0[i]); + obj[2].relocs_ptr = to_user_pointer(&reloc1[i]); igt_assert_eq_u64(reloc0[i].presumed_offset, obj[0].offset); igt_assert_eq_u64(reloc1[i].presumed_offset, obj[0].offset); execbuf.batch_start_offset = 64*i; @@ -392,7 +392,7 @@ static void batch(int fd, unsigned ring, int nchild, int timeout, map[i] = 0xabcdabcd; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring | (1 << 11) | (1<<12); if (gen < 6) @@ -403,7 +403,7 @@ static void batch(int fd, unsigned ring, int nchild, int timeout, igt_require(__gem_execbuf(fd, &execbuf) == 0); obj[1].relocation_count = 1; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); switch (mode) { case BATCH_CPU: diff --git a/tests/gem_exec_gttfill.c b/tests/gem_exec_gttfill.c index 943f58da..5e84698e 100644 --- a/tests/gem_exec_gttfill.c +++ b/tests/gem_exec_gttfill.c @@ -65,7 +65,7 @@ static void submit(int fd, int gen, unsigned n; memset(&obj, 0, sizeof(obj)); - obj.relocs_ptr = (uintptr_t)reloc; + obj.relocs_ptr = to_user_pointer(reloc); obj.relocation_count = 2; memset(reloc, 0, 2*sizeof(*reloc)); @@ -97,7 +97,7 @@ static void submit(int fd, int gen, batch[++n] = 0; /* upper_32_bits(value) / nop */ batch[++n] = MI_BATCH_BUFFER_END; - eb->buffers_ptr = (uintptr_t)&obj; + eb->buffers_ptr = to_user_pointer(&obj); for (unsigned i = 0; i < count; i++) { obj.handle = handles[i]; reloc[0].target_handle = obj.handle; diff --git a/tests/gem_exec_latency.c b/tests/gem_exec_latency.c index 16f87d35..6d721a1d 100644 --- a/tests/gem_exec_latency.c +++ b/tests/gem_exec_latency.c @@ -63,7 +63,7 @@ static void latency_on_ring(int fd, unsigned ring, const char *name) reg = (volatile uint32_t *)((volatile char *)igt_global_mmio + RCS_TIMESTAMP); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC | LOCAL_I915_EXEC_HANDLE_LUT; @@ -83,7 +83,7 @@ static void latency_on_ring(int fd, unsigned ring, const char *name) memset(&reloc,0, sizeof(reloc)); obj[1].relocation_count = 1; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); gem_set_domain(fd, obj[1].handle, I915_GEM_DOMAIN_GTT, @@ -181,7 +181,7 @@ static void latency_from_ring(int fd, unsigned ring, const char *name) int i, j; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC | LOCAL_I915_EXEC_HANDLE_LUT; @@ -201,7 +201,7 @@ static void latency_from_ring(int fd, unsigned ring, const char *name) memset(&reloc,0, sizeof(reloc)); obj[1].relocation_count = 1; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); gem_set_domain(fd, obj[1].handle, I915_GEM_DOMAIN_GTT, diff --git a/tests/gem_exec_lut_handle.c b/tests/gem_exec_lut_handle.c index a1aa6941..09b55b9e 100644 --- a/tests/gem_exec_lut_handle.c +++ b/tests/gem_exec_lut_handle.c @@ -73,7 +73,7 @@ static int has_exec_lut(int fd) struct drm_i915_gem_execbuffer2 execbuf; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)(gem_exec + MAX_NUM_EXEC); + execbuf.buffers_ptr = to_user_pointer((gem_exec + MAX_NUM_EXEC)); execbuf.buffer_count = 1; execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT; @@ -152,11 +152,11 @@ igt_simple_main reloc = mem_reloc; gem_exec[MAX_NUM_EXEC].relocation_count = m; - gem_exec[MAX_NUM_EXEC].relocs_ptr = (uintptr_t)reloc; + gem_exec[MAX_NUM_EXEC].relocs_ptr = to_user_pointer(reloc); objects = gem_exec + MAX_NUM_EXEC - n; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)objects; + execbuf.buffers_ptr = to_user_pointer(objects); execbuf.buffer_count = n + 1; execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT; if (p->flags & NO_RELOC) @@ -182,7 +182,7 @@ igt_simple_main if (p->flags & FAULT) { munmap(reloc, size); reloc = __gem_mmap__cpu(fd, reloc_handle, 0, size, PROT_READ | PROT_WRITE); - gem_exec[MAX_NUM_EXEC].relocs_ptr = (uintptr_t)reloc; + gem_exec[MAX_NUM_EXEC].relocs_ptr = to_user_pointer(reloc); } gem_execbuf(fd, &execbuf); } @@ -212,7 +212,7 @@ igt_simple_main if (p->flags & FAULT) { munmap(reloc, size); reloc = __gem_mmap__cpu(fd, reloc_handle, 0, size, PROT_READ | PROT_WRITE); - gem_exec[MAX_NUM_EXEC].relocs_ptr = (uintptr_t)reloc; + gem_exec[MAX_NUM_EXEC].relocs_ptr = to_user_pointer(reloc); } gem_execbuf(fd, &execbuf); } diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c index 56298e13..78dccbbe 100644 --- a/tests/gem_exec_nop.c +++ b/tests/gem_exec_nop.c @@ -67,7 +67,7 @@ static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id, obj.handle = handle; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = ring_id; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; @@ -149,7 +149,7 @@ static void parallel(int fd, uint32_t handle, int timeout) obj.handle = handle; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; @@ -217,7 +217,7 @@ static void series(int fd, uint32_t handle, int timeout) obj.handle = handle; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; diff --git a/tests/gem_exec_parallel.c b/tests/gem_exec_parallel.c index 6532797a..8c1ec724 100644 --- a/tests/gem_exec_parallel.c +++ b/tests/gem_exec_parallel.c @@ -146,12 +146,12 @@ static void *thread(void *data) reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; reloc.delta = 4*t->id; obj[1].handle = gem_create(fd, 4096); - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); obj[1].relocation_count = 1; gem_write(fd, obj[1].handle, 0, batch, sizeof(batch)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = t->engine; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; diff --git a/tests/gem_exec_params.c b/tests/gem_exec_params.c index e192150d..f9a20541 100644 --- a/tests/gem_exec_params.c +++ b/tests/gem_exec_params.c @@ -97,7 +97,7 @@ igt_main gem_exec[0].rsvd1 = 0; gem_exec[0].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c index 0cd70535..ea39c481 100644 --- a/tests/gem_exec_parse.c +++ b/tests/gem_exec_parse.c @@ -94,11 +94,11 @@ static uint64_t __exec_batch_patched(int fd, uint32_t cmd_bo, uint32_t *cmds, reloc[0].delta = 0; reloc[0].read_domains = I915_GEM_DOMAIN_COMMAND; reloc[0].write_domain = I915_GEM_DOMAIN_COMMAND; - obj[1].relocs_ptr = (uintptr_t)reloc; + obj[1].relocs_ptr = to_user_pointer(reloc); obj[1].relocation_count = 1; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.batch_len = size; execbuf.flags = I915_EXEC_RENDER; @@ -134,7 +134,7 @@ static int __exec_batch(int fd, uint32_t cmd_bo, uint32_t *cmds, obj[0].handle = cmd_bo; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 1; execbuf.batch_len = size; execbuf.flags = ring; @@ -169,7 +169,7 @@ static void exec_split_batch(int fd, uint32_t *cmds, obj[0].handle = cmd_bo; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 1; /* NB: We want batch_start_offset and batch_len to point to the block * of the actual commands (i.e. at the last dword of the first page), @@ -227,7 +227,7 @@ static void exec_batch_chained(int fd, uint32_t cmd_bo, uint32_t *cmds, reloc[0].read_domains = I915_GEM_DOMAIN_COMMAND; reloc[0].write_domain = I915_GEM_DOMAIN_COMMAND; obj[1].relocation_count = 1; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); memset(&first_level_reloc, 0, sizeof(first_level_reloc)); first_level_reloc.offset = 4; @@ -236,10 +236,10 @@ static void exec_batch_chained(int fd, uint32_t cmd_bo, uint32_t *cmds, first_level_reloc.read_domains = I915_GEM_DOMAIN_COMMAND; first_level_reloc.write_domain = 0; obj[2].relocation_count = 1; - obj[2].relocs_ptr = (uintptr_t)&first_level_reloc; + obj[2].relocs_ptr = to_user_pointer(&first_level_reloc); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 3; execbuf.batch_len = sizeof(first_level_cmds); execbuf.flags = I915_EXEC_RENDER; @@ -322,7 +322,7 @@ static void test_allocations(int fd) for (j = 0; j < 16384; j++) { igt_progress("allocations ", j, 16384); i = rand() % ARRAY_SIZE(obj); - execbuf.buffers_ptr = (uintptr_t)&obj[i]; + execbuf.buffers_ptr = to_user_pointer(&obj[i]); execbuf.batch_start_offset = (rand() % (1ull<<i)) << 12; execbuf.batch_len = (1ull<<(12+i)) - 8 - execbuf.batch_start_offset; gem_execbuf(fd, &execbuf); diff --git a/tests/gem_exec_reloc.c b/tests/gem_exec_reloc.c index 17cb1bf7..3c8be618 100644 --- a/tests/gem_exec_reloc.c +++ b/tests/gem_exec_reloc.c @@ -86,10 +86,10 @@ static void write_dword(int fd, reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; obj[1].relocation_count = 1; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = I915_EXEC_SECURE; gem_execbuf(fd, &execbuf); @@ -155,13 +155,13 @@ static void from_mmap(int fd, uint64_t size, enum mode mode) relocs[i].write_domain = 0; } obj.relocation_count = max; - obj.relocs_ptr = (uintptr_t)relocs; + obj.relocs_ptr = to_user_pointer(relocs); if (mode & RO) mprotect(relocs, size, PROT_READ); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; while (relocs[0].presumed_offset == ~0ull && retry--) gem_execbuf(fd, &execbuf); @@ -213,10 +213,10 @@ static void from_gpu(int fd) gem_close(fd, reloc_handle); obj.relocation_count = 1; - obj.relocs_ptr = (uintptr_t)relocs; + obj.relocs_ptr = to_user_pointer(relocs); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); gem_read(fd, obj.handle, 1024, &value, sizeof(value)); @@ -271,7 +271,7 @@ static void active(int fd, unsigned engine) memset(obj, 0, sizeof(obj)); obj[0].handle = gem_create(fd, 4096); obj[1].handle = gem_create(fd, 64*1024); - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); obj[1].relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -283,7 +283,7 @@ static void active(int fd, unsigned engine) reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; if (gen < 6) execbuf.flags |= I915_EXEC_SECURE; @@ -341,7 +341,7 @@ static void basic_cpu(int fd) memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); @@ -351,7 +351,7 @@ static void basic_cpu(int fd) reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; wc = gem_mmap__wc(fd, obj.handle, 0, 4096, PROT_WRITE); @@ -412,7 +412,7 @@ static void basic_gtt(int fd) memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); @@ -422,7 +422,7 @@ static void basic_gtt(int fd) reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; wc = gem_mmap__wc(fd, obj.handle, 0, 4096, PROT_WRITE); @@ -477,7 +477,7 @@ static void basic_noreloc(int fd) memset(&obj, 0, sizeof(obj)); obj.handle = gem_create(fd, 4096); - obj.relocs_ptr = (uintptr_t)&reloc; + obj.relocs_ptr = to_user_pointer(&reloc); obj.relocation_count = 1; gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); @@ -487,7 +487,7 @@ static void basic_noreloc(int fd) reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.flags = LOCAL_I915_EXEC_NO_RELOC; @@ -542,7 +542,7 @@ static void basic_softpin(int fd) gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj[1]; + execbuf.buffers_ptr = to_user_pointer(&obj[1]); execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); @@ -552,7 +552,7 @@ static void basic_softpin(int fd) obj[0].offset = obj[1].offset; obj[0].flags = EXEC_OBJECT_PINNED; - execbuf.buffers_ptr = (uintptr_t)&obj[0]; + execbuf.buffers_ptr = to_user_pointer(&obj[0]); execbuf.buffer_count = 2; gem_execbuf(fd, &execbuf); diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c index 09f5798c..d8454d58 100644 --- a/tests/gem_exec_schedule.c +++ b/tests/gem_exec_schedule.c @@ -64,7 +64,7 @@ static void store_dword(int fd, uint32_t ctx, unsigned ring, int i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)(obj + !cork); + execbuf.buffers_ptr = to_user_pointer(obj + !cork); execbuf.buffer_count = 2 + !!cork; execbuf.flags = ring; if (gen < 6) @@ -83,7 +83,7 @@ static void store_dword(int fd, uint32_t ctx, unsigned ring, reloc.delta = offset; reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc.write_domain = write_domain; - obj[2].relocs_ptr = (uintptr_t)&reloc; + obj[2].relocs_ptr = to_user_pointer(&reloc); obj[2].relocation_count = 1; i = 0; @@ -116,7 +116,7 @@ static uint32_t *make_busy(int fd, uint32_t target, unsigned ring) int i; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)(obj + !target); + execbuf.buffers_ptr = to_user_pointer(obj + !target); execbuf.buffer_count = 1 + !!target; memset(obj, 0, sizeof(obj)); @@ -126,7 +126,7 @@ static uint32_t *make_busy(int fd, uint32_t target, unsigned ring) gem_set_domain(fd, obj[1].handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); - obj[1].relocs_ptr = (uintptr_t)reloc; + obj[1].relocs_ptr = to_user_pointer(reloc); obj[1].relocation_count = 1 + !!target; memset(reloc, 0, sizeof(reloc)); diff --git a/tests/gem_exec_store.c b/tests/gem_exec_store.c index cd852e60..83f79e8b 100644 --- a/tests/gem_exec_store.c +++ b/tests/gem_exec_store.c @@ -50,7 +50,7 @@ static void store_dword(int fd, unsigned ring) intel_detect_and_clear_missed_interrupts(fd); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring; if (gen < 6) @@ -67,7 +67,7 @@ static void store_dword(int fd, unsigned ring) reloc.delta = 0; reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); obj[1].relocation_count = 1; i = 0; @@ -109,7 +109,7 @@ static void store_all(int fd) int i, j; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; if (gen < 6) execbuf.flags |= I915_EXEC_SECURE; @@ -155,7 +155,7 @@ static void store_all(int fd) reloc[j].delta = nengine*sizeof(uint32_t); reloc[j].read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc[j].write_domain = I915_GEM_DOMAIN_INSTRUCTION; - obj[1].relocs_ptr = (uintptr_t)&reloc[j]; + obj[1].relocs_ptr = to_user_pointer(&reloc[j]); batch[value] = 0xdeadbeef; gem_write(fd, obj[1].handle, j*sizeof(batch), @@ -170,7 +170,7 @@ static void store_all(int fd) reloc[j].delta = nengine*sizeof(uint32_t); reloc[j].read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc[j].write_domain = I915_GEM_DOMAIN_INSTRUCTION; - obj[1].relocs_ptr = (uintptr_t)&reloc[j]; + obj[1].relocs_ptr = to_user_pointer(&reloc[j]); batch[value] = nengine; gem_write(fd, obj[1].handle, j*sizeof(batch), @@ -183,7 +183,7 @@ static void store_all(int fd) gem_sync(fd, obj[1].handle); for (i = 0; i < nengine; i++) { - obj[1].relocs_ptr = (uintptr_t)&reloc[2*i]; + obj[1].relocs_ptr = to_user_pointer(&reloc[2*i]); execbuf.batch_start_offset = 2*i*sizeof(batch); memcpy(permuted, engines, nengine*sizeof(engines[0])); igt_permute_array(permuted, nengine, igt_exchange_int); @@ -192,7 +192,7 @@ static void store_all(int fd) execbuf.flags |= permuted[j]; gem_execbuf(fd, &execbuf); } - obj[1].relocs_ptr = (uintptr_t)&reloc[2*i+1]; + obj[1].relocs_ptr = to_user_pointer(&reloc[2*i+1]); execbuf.batch_start_offset = (2*i+1)*sizeof(batch); execbuf.flags &= ~ENGINE_MASK; execbuf.flags |= engines[i]; diff --git a/tests/gem_exec_suspend.c b/tests/gem_exec_suspend.c index a5be365a..6149c50a 100644 --- a/tests/gem_exec_suspend.c +++ b/tests/gem_exec_suspend.c @@ -144,7 +144,7 @@ static void run_test(int fd, unsigned engine, unsigned flags) gem_quiescent_gpu(fd); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = 1 << 11; if (gen < 6) @@ -168,7 +168,7 @@ static void run_test(int fd, unsigned engine, unsigned flags) reloc.read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc.write_domain = I915_GEM_DOMAIN_INSTRUCTION; - obj[1].relocs_ptr = (uintptr_t)&reloc; + obj[1].relocs_ptr = to_user_pointer(&reloc); obj[1].relocation_count = 1; for (int i = 0; i < 1024; i++) { diff --git a/tests/gem_exec_whisper.c b/tests/gem_exec_whisper.c index d0117821..63e76303 100644 --- a/tests/gem_exec_whisper.c +++ b/tests/gem_exec_whisper.c @@ -136,13 +136,13 @@ static void init_hang(struct hang *h) gen = intel_gen(intel_get_drm_devid(h->fd)); memset(&h->execbuf, 0, sizeof(h->execbuf)); - h->execbuf.buffers_ptr = (uintptr_t)&h->obj; + h->execbuf.buffers_ptr = to_user_pointer(&h->obj); h->execbuf.buffer_count = 1; memset(&h->obj, 0, sizeof(h->obj)); h->obj.handle = gem_create(h->fd, 4096); - h->obj.relocs_ptr = (uintptr_t)&h->reloc; + h->obj.relocs_ptr = to_user_pointer(&h->reloc); h->obj.relocation_count = 1; memset(&h->reloc, 0, sizeof(h->reloc)); @@ -242,7 +242,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) memset(&store, 0, sizeof(store)); store.handle = gem_create(fd, 4096); - store.relocs_ptr = (uintptr_t)&reloc; + store.relocs_ptr = to_user_pointer(&reloc); store.relocation_count = 1; memset(&reloc, 0, sizeof(reloc)); @@ -261,7 +261,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) gem_write(fd, store.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)tmp; + execbuf.buffers_ptr = to_user_pointer(tmp); execbuf.buffer_count = 2; execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; @@ -304,11 +304,11 @@ static void whisper(int fd, unsigned engine, unsigned flags) batches[n].handle = gem_create(fd, 4096); gem_write(fd, batches[n].handle, 0, &bbe, sizeof(bbe)); } - execbuf.buffers_ptr = (uintptr_t)batches; + execbuf.buffers_ptr = to_user_pointer(batches); execbuf.buffer_count = 1024; gem_execbuf(fd, &execbuf); - execbuf.buffers_ptr = (uintptr_t)tmp; + execbuf.buffers_ptr = to_user_pointer(tmp); execbuf.buffer_count = 2; old_offset = store.offset; @@ -325,7 +325,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) inter[n] = reloc; inter[n].presumed_offset = old_offset; inter[n].delta = loc; - batches[n].relocs_ptr = (uintptr_t)&inter[n]; + batches[n].relocs_ptr = to_user_pointer(&inter[n]); batches[n].relocation_count = 1; gem_write(fd, batches[n].handle, 0, batch, sizeof(batch)); @@ -368,7 +368,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) igt_assert(tmp[0].flags & EXEC_OBJECT_WRITE); tmp[1] = store; verify_reloc(fd, store.handle, &reloc); - execbuf.buffers_ptr = (uintptr_t)tmp; + execbuf.buffers_ptr = to_user_pointer(tmp); gem_execbuf(fd, &execbuf); igt_assert_eq_u64(reloc.presumed_offset, tmp[0].offset); scratch = tmp[0]; @@ -378,7 +378,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) int this_fd = fd; uint32_t handle[2]; - execbuf.buffers_ptr = (uintptr_t)&batches[n-1]; + execbuf.buffers_ptr = to_user_pointer(&batches[n-1]); reloc_migrations += batches[n-1].offset != inter[n].presumed_offset; batches[n-1].offset = inter[n].presumed_offset; old_offset = inter[n].presumed_offset; @@ -425,7 +425,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) } execbuf.flags &= ~ENGINE_MASK; execbuf.rsvd1 = 0; - execbuf.buffers_ptr = (uintptr_t)&tmp; + execbuf.buffers_ptr = to_user_pointer(&tmp); tmp[0] = tmp[1]; tmp[0].relocation_count = 0; @@ -448,7 +448,7 @@ static void whisper(int fd, unsigned engine, unsigned flags) tmp[0] = scratch; igt_assert(tmp[0].flags & EXEC_OBJECT_WRITE); igt_assert_eq_u64(reloc.presumed_offset, tmp[0].offset); - igt_assert(tmp[1].relocs_ptr == (uintptr_t)&reloc); + igt_assert(tmp[1].relocs_ptr == to_user_pointer(&reloc)); tmp[1].relocation_count = 1; tmp[1].flags &= ~EXEC_OBJECT_WRITE; verify_reloc(fd, store.handle, &reloc); diff --git a/tests/gem_fenced_exec_thrash.c b/tests/gem_fenced_exec_thrash.c index 53ab7d05..2966bc92 100644 --- a/tests/gem_fenced_exec_thrash.c +++ b/tests/gem_fenced_exec_thrash.c @@ -180,10 +180,10 @@ static void run_test(int fd, int num_fences, int expected_errno, exec[i][n].flags = EXEC_OBJECT_NEEDS_FENCE; exec[i][2*num_fences].handle = batch_create(fd); - exec[i][2*num_fences].relocs_ptr = (uintptr_t)reloc; + exec[i][2*num_fences].relocs_ptr = to_user_pointer(reloc); exec[i][2*num_fences].relocation_count = 2*num_fences; - execbuf[i].buffers_ptr = (uintptr_t)exec[i]; + execbuf[i].buffers_ptr = to_user_pointer(exec[i]); execbuf[i].buffer_count = 2*num_fences+1; execbuf[i].batch_len = 2*sizeof(uint32_t); } diff --git a/tests/gem_gtt_hog.c b/tests/gem_gtt_hog.c index 365b43ee..2fb487d7 100644 --- a/tests/gem_gtt_hog.c +++ b/tests/gem_gtt_hog.c @@ -98,9 +98,9 @@ static void busy(data_t *data, uint32_t handle, int size, int loops) drmIoctl(data->fd, DRM_IOCTL_I915_GEM_CREATE, &create); gem_exec[1].handle = create.handle; gem_exec[1].relocation_count = 20; - gem_exec[1].relocs_ptr = (uintptr_t)reloc; + gem_exec[1].relocs_ptr = to_user_pointer(reloc); - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 2; execbuf.batch_len = (b - buf) * sizeof(buf[0]); execbuf.flags = 1 << 11; @@ -110,7 +110,7 @@ static void busy(data_t *data, uint32_t handle, int size, int loops) gem_pwrite.handle = gem_exec[1].handle; gem_pwrite.offset = 0; gem_pwrite.size = execbuf.batch_len; - gem_pwrite.data_ptr = (uintptr_t)buf; + gem_pwrite.data_ptr = to_user_pointer(buf); if (drmIoctl(data->fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite) == 0) { while (loops--) drmIoctl(data->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf); diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c index 55b01c8a..6cb6b064 100644 --- a/tests/gem_linear_blits.c +++ b/tests/gem_linear_blits.c @@ -110,10 +110,10 @@ copy(int fd, uint32_t dst, uint32_t src) obj[2].handle = gem_create(fd, 4096); gem_write(fd, obj[2].handle, 0, batch, i * sizeof(batch[0])); obj[2].relocation_count = 2; - obj[2].relocs_ptr = (uintptr_t)reloc; + obj[2].relocs_ptr = to_user_pointer(reloc); memset(&exec, 0, sizeof(exec)); - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.buffer_count = 3; exec.batch_len = i * sizeof(batch[0]); exec.flags = gem_has_blt(fd) ? I915_EXEC_BLT : 0; diff --git a/tests/gem_lut_handle.c b/tests/gem_lut_handle.c index 11dc1414..10516b4f 100644 --- a/tests/gem_lut_handle.c +++ b/tests/gem_lut_handle.c @@ -65,14 +65,14 @@ static int exec(int fd, uint32_t handle, unsigned int flags) gem_exec[0].handle = handle; gem_exec[0].relocation_count = 1; - gem_exec[0].relocs_ptr = (uintptr_t) gem_reloc; + gem_exec[0].relocs_ptr = to_user_pointer(gem_reloc); gem_exec[0].alignment = 0; gem_exec[0].offset = 0; gem_exec[0].flags = 0; gem_exec[0].rsvd1 = 0; gem_exec[0].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; @@ -119,7 +119,7 @@ static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsign gem_exec[n].handle = batch; gem_exec[n].relocation_count = num_reloc; - gem_exec[n].relocs_ptr = (uintptr_t) gem_reloc; + gem_exec[n].relocs_ptr = to_user_pointer(gem_reloc); if (flags & USE_LUT) max_handle = num_exec + 1; @@ -144,7 +144,7 @@ static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsign gem_reloc[n].presumed_offset = 0; } - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = num_exec + 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; diff --git a/tests/gem_madvise.c b/tests/gem_madvise.c index 24d58dd5..d44a60af 100644 --- a/tests/gem_madvise.c +++ b/tests/gem_madvise.c @@ -119,7 +119,7 @@ dontneed_before_pwrite(void) gem_pwrite.handle = gem_create(fd, OBJECT_SIZE); gem_pwrite.offset = 0; gem_pwrite.size = sizeof(buf); - gem_pwrite.data_ptr = (uintptr_t)buf; + gem_pwrite.data_ptr = to_user_pointer(buf); gem_madvise(fd, gem_pwrite.handle, I915_MADV_DONTNEED); igt_assert(drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite)); @@ -144,7 +144,7 @@ dontneed_before_exec(void) gem_write(fd, exec.handle, 0, buf, sizeof(buf)); gem_madvise(fd, exec.handle, I915_MADV_DONTNEED); - execbuf.buffers_ptr = (uintptr_t)&exec; + execbuf.buffers_ptr = to_user_pointer(&exec); execbuf.buffer_count = 1; execbuf.batch_len = sizeof(buf); gem_execbuf(fd, &execbuf); diff --git a/tests/gem_mmap_wc.c b/tests/gem_mmap_wc.c index 8ecb9cca..c11c794a 100644 --- a/tests/gem_mmap_wc.c +++ b/tests/gem_mmap_wc.c @@ -372,7 +372,7 @@ test_set_cache_level(int fd) /* Bind the object to the cursor to force set-cache-level(DISPLAY) */ memset(&res, 0, sizeof(res)); res.count_crtcs = 32; - res.crtc_id_ptr = (uintptr_t)crtc; + res.crtc_id_ptr = to_user_pointer(crtc); do_ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res); for (n = 0; n < res.count_crtcs; n++) { struct drm_mode_crtc mode; diff --git a/tests/gem_mocs_settings.c b/tests/gem_mocs_settings.c index 7c7a9af4..9faf6c54 100644 --- a/tests/gem_mocs_settings.c +++ b/tests/gem_mocs_settings.c @@ -183,9 +183,9 @@ static void do_read_registers(int fd, obj[1].handle = handle; obj[1].relocation_count = size; - obj[1].relocs_ptr = (uintptr_t) reloc; + obj[1].relocs_ptr = to_user_pointer(reloc); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.batch_len = create_read_batch(reloc, batch, dst_handle, size, reg_base); @@ -236,7 +236,7 @@ static void write_registers(int fd, obj.handle = handle; - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; execbuf.batch_len = create_write_batch(batch, values, size, reg_base); i915_execbuffer2_set_context_id(execbuf, ctx_id); diff --git a/tests/gem_persistent_relocs.c b/tests/gem_persistent_relocs.c index 509c812c..9c885307 100644 --- a/tests/gem_persistent_relocs.c +++ b/tests/gem_persistent_relocs.c @@ -171,14 +171,14 @@ static void faulting_reloc_and_emit(int fd, drm_intel_bo *target_bo, exec[1].handle = special_bo->handle; exec[1].relocation_count = 1; /* A newly mmap gtt bo will fault on first access. */ - exec[1].relocs_ptr = (uintptr_t)gtt_relocs; + exec[1].relocs_ptr = to_user_pointer(gtt_relocs); exec[1].alignment = 0; exec[1].offset = 0; exec[1].flags = 0; exec[1].rsvd1 = 0; exec[1].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 2; execbuf.batch_start_offset = 0; execbuf.batch_len = special_batch_len; diff --git a/tests/gem_pin.c b/tests/gem_pin.c index 8da75c5b..9ea3b1e7 100644 --- a/tests/gem_pin.c +++ b/tests/gem_pin.c @@ -61,14 +61,14 @@ static void exec(int fd, uint32_t handle, uint32_t offset) gem_exec[0].handle = handle; gem_exec[0].relocation_count = 1; - gem_exec[0].relocs_ptr = (uintptr_t) gem_reloc; + gem_exec[0].relocs_ptr = to_user_pointer(gem_reloc); gem_exec[0].alignment = 0; gem_exec[0].offset = 0; gem_exec[0].flags = 0; gem_exec[0].rsvd1 = 0; gem_exec[0].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)gem_exec; + execbuf.buffers_ptr = to_user_pointer(gem_exec); execbuf.buffer_count = 1; execbuf.batch_start_offset = 0; execbuf.batch_len = 8; @@ -149,14 +149,14 @@ static void make_busy(int fd, uint32_t handle) obj[1].handle = handle; obj[1].relocation_count = 2; - obj[1].relocs_ptr = (uintptr_t) reloc; + obj[1].relocs_ptr = to_user_pointer(reloc); obj[1].alignment = 0; obj[1].offset = 0; obj[1].flags = 0; obj[1].rsvd1 = 0; obj[1].rsvd2 = 0; - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.batch_start_offset = 0; execbuf.batch_len = gem_linear_blt(fd, batch, tmp, tmp, 1024*1024,reloc); diff --git a/tests/gem_ppgtt.c b/tests/gem_ppgtt.c index 4bc6b116..a64d6d4f 100644 --- a/tests/gem_ppgtt.c +++ b/tests/gem_ppgtt.c @@ -208,7 +208,7 @@ static uint64_t exec_and_get_offset(int fd, uint32_t batch) exec[0].handle = batch; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); diff --git a/tests/gem_pwrite_pread.c b/tests/gem_pwrite_pread.c index fe136d31..e1543f22 100644 --- a/tests/gem_pwrite_pread.c +++ b/tests/gem_pwrite_pread.c @@ -82,10 +82,10 @@ static inline void build_batch(uint32_t *batch, int len, uint32_t *batch_len) struct drm_i915_gem_exec_object2 exec[] = { \ { src }, \ { dst }, \ - { gem_create(fd, 4096), 2, (uintptr_t)reloc } \ + { gem_create(fd, 4096), 2, to_user_pointer(reloc) } \ }; \ struct drm_i915_gem_execbuffer2 execbuf = { \ - (uintptr_t)exec, 3, \ + to_user_pointer(exec), 3, \ 0, 0, \ 0, 0, 0, 0, \ exec_flags, \ diff --git a/tests/gem_readwrite.c b/tests/gem_readwrite.c index f5dd9ab0..fdf279f1 100644 --- a/tests/gem_readwrite.c +++ b/tests/gem_readwrite.c @@ -51,7 +51,7 @@ do_read(int fd, int handle, void *buf, int offset, int size) memset(&gem_pread, 0, sizeof(gem_pread)); gem_pread.handle = handle; - gem_pread.data_ptr = (uintptr_t)buf; + gem_pread.data_ptr = to_user_pointer(buf); gem_pread.size = size; gem_pread.offset = offset; @@ -65,7 +65,7 @@ do_write(int fd, int handle, void *buf, int offset, int size) memset(&gem_pwrite, 0, sizeof(gem_pwrite)); gem_pwrite.handle = handle; - gem_pwrite.data_ptr = (uintptr_t)buf; + gem_pwrite.data_ptr = to_user_pointer(buf); gem_pwrite.size = size; gem_pwrite.offset = offset; diff --git a/tests/gem_reloc_overflow.c b/tests/gem_reloc_overflow.c index d60bec96..aa72db17 100644 --- a/tests/gem_reloc_overflow.c +++ b/tests/gem_reloc_overflow.c @@ -76,7 +76,7 @@ static void source_offset_tests(int devid, bool reloc_gtt) obj[1].relocs_ptr = 0; obj[0].relocation_count = 1; - obj[0].relocs_ptr = (uintptr_t) &single_reloc; + obj[0].relocs_ptr = to_user_pointer(&single_reloc); execbuf.buffer_count = 2; if (reloc_gtt) { @@ -192,11 +192,11 @@ static void reloc_tests(const char *suffix) execbuf.buffer_count = 1; /* out-of-bounds after */ - obj[0].relocs_ptr = (uintptr_t)reloc; + obj[0].relocs_ptr = to_user_pointer(reloc); igt_assert_eq(__gem_execbuf(fd, &execbuf), -EFAULT); /* out-of-bounds before */ - obj[0].relocs_ptr = (uintptr_t)(reloc - 1); + obj[0].relocs_ptr = to_user_pointer((reloc - 1)); igt_assert_eq(__gem_execbuf(fd, &execbuf), -EFAULT); } @@ -245,7 +245,7 @@ static void reloc_tests(const char *suffix) (long long)intel_get_avail_ram_mb()); } - obj[0].relocs_ptr = (uintptr_t)reloc; + obj[0].relocs_ptr = to_user_pointer(reloc); obj[0].relocation_count = entries; execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); @@ -284,7 +284,7 @@ static void reloc_tests(const char *suffix) for (i = 0; i < num; i++) { struct drm_i915_gem_exec_object2 *o = &obj[i]; - o->relocs_ptr = (uintptr_t)reloc; + o->relocs_ptr = to_user_pointer(reloc); o->relocation_count = entries; } execbuf.buffer_count = i; @@ -405,7 +405,7 @@ igt_main /* Create relocation objects. */ memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 1; execbuf.flags = I915_EXEC_HANDLE_LUT; if (__gem_execbuf(fd, &execbuf)) diff --git a/tests/gem_reloc_vs_gpu.c b/tests/gem_reloc_vs_gpu.c index e327a08b..ef898231 100644 --- a/tests/gem_reloc_vs_gpu.c +++ b/tests/gem_reloc_vs_gpu.c @@ -169,11 +169,11 @@ static void reloc_and_emit(int fd, drm_intel_bo *target_bo, bool faulting_reloc) exec[1].relocation_count = 1; /* A newly mmap gtt bo will fault on first access. */ if (faulting_reloc) - exec[1].relocs_ptr = (uintptr_t)gtt_relocs; + exec[1].relocs_ptr = to_user_pointer(gtt_relocs); else - exec[1].relocs_ptr = (uintptr_t)reloc; + exec[1].relocs_ptr = to_user_pointer(reloc); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 2; execbuf.batch_len = special_batch_len; if (intel_gen(devid) >= 6) diff --git a/tests/gem_request_retire.c b/tests/gem_request_retire.c index 545a245a..88b41d41 100644 --- a/tests/gem_request_retire.c +++ b/tests/gem_request_retire.c @@ -127,9 +127,9 @@ blit(int fd, uint32_t dst, uint32_t src, uint32_t ctx_id) obj[exec.buffer_count++].handle = src; obj[exec.buffer_count].handle = handle; obj[exec.buffer_count].relocation_count = 2 * copies; - obj[exec.buffer_count].relocs_ptr = (uintptr_t)reloc; + obj[exec.buffer_count].relocs_ptr = to_user_pointer(reloc); exec.buffer_count++; - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.batch_len = i * sizeof(uint32_t); exec.flags = I915_EXEC_BLT; @@ -163,9 +163,9 @@ noop(int fd, uint32_t src, uint32_t ctx_id) obj[exec.buffer_count++].handle = src; obj[exec.buffer_count].handle = handle; obj[exec.buffer_count].relocation_count = 0; - obj[exec.buffer_count].relocs_ptr = (uintptr_t)0; + obj[exec.buffer_count].relocs_ptr = to_user_pointer(0); exec.buffer_count++; - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.batch_len = i * sizeof(uint32_t); exec.flags = I915_EXEC_RENDER; diff --git a/tests/gem_reset_stats.c b/tests/gem_reset_stats.c index 3de74af1..c4ce4ac2 100644 --- a/tests/gem_reset_stats.c +++ b/tests/gem_reset_stats.c @@ -85,7 +85,7 @@ static int noop(int fd, uint32_t ctx, const struct intel_execution_engine *e) gem_write(fd, exec.handle, 0, &bbe, sizeof(bbe)); memset(&eb, 0, sizeof(eb)); - eb.buffers_ptr = (uintptr_t)&exec; + eb.buffers_ptr = to_user_pointer(&exec); eb.buffer_count = 1; eb.flags = e->exec_id | e->flags; i915_execbuffer2_set_context_id(eb, ctx); @@ -522,7 +522,7 @@ static void noop_on_each_ring(int fd, const bool reverse) gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe)); memset(&eb, 0, sizeof(eb)); - eb.buffers_ptr = (uintptr_t)&obj; + eb.buffers_ptr = to_user_pointer(&obj); eb.buffer_count = 1; if (reverse) { diff --git a/tests/gem_ring_sync_loop.c b/tests/gem_ring_sync_loop.c index 505ba344..9c547ee5 100644 --- a/tests/gem_ring_sync_loop.c +++ b/tests/gem_ring_sync_loop.c @@ -59,13 +59,13 @@ sync_loop(int fd) gem_write(fd, object[1].handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 2; /* Check if we have no-reloc support first */ if (__gem_execbuf(fd, &execbuf)) { object[0].flags = 0; - object[1].relocs_ptr = (uintptr_t)reloc; + object[1].relocs_ptr = to_user_pointer(reloc); object[1].relocation_count = 1; /* Add a dummy relocation to mark the object as writing */ diff --git a/tests/gem_ringfill.c b/tests/gem_ringfill.c index eff0775a..b50f2bd7 100644 --- a/tests/gem_ringfill.c +++ b/tests/gem_ringfill.c @@ -102,7 +102,7 @@ static void run_test(int fd, unsigned ring, unsigned flags) gem_quiescent_gpu(fd); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.flags = ring | (1 << 11) | (1 << 12); if (gen < 6) execbuf.flags |= I915_EXEC_SECURE; @@ -116,7 +116,7 @@ static void run_test(int fd, unsigned ring, unsigned flags) obj[0].flags |= EXEC_OBJECT_WRITE; obj[1].handle = gem_create(fd, 1024*16 + 4096); - obj[1].relocs_ptr = (uintptr_t)reloc; + obj[1].relocs_ptr = to_user_pointer(reloc); obj[1].relocation_count = 1024; batch = gem_mmap__cpu(fd, obj[1].handle, 0, 16*1024 + 4096, diff --git a/tests/gem_shrink.c b/tests/gem_shrink.c index 2cc99459..bd0f17da 100644 --- a/tests/gem_shrink.c +++ b/tests/gem_shrink.c @@ -87,7 +87,7 @@ static void execbuf1(int fd, uint64_t alloc) memset(&obj, 0, sizeof(obj)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&obj; + execbuf.buffers_ptr = to_user_pointer(&obj); execbuf.buffer_count = 1; obj.handle = gem_create(fd, alloc); @@ -138,7 +138,7 @@ static void execbufN(int fd, uint64_t alloc) int j = count - i; obj[j].handle = gem_create(fd, 1 << 20); - execbuf.buffers_ptr = (uintptr_t)&obj[j]; + execbuf.buffers_ptr = to_user_pointer(&obj[j]); execbuf.buffer_count = i + 1; gem_execbuf(fd, &execbuf); } @@ -166,7 +166,7 @@ static void hang(int fd, uint64_t alloc) int j = count - i; obj[j].handle = gem_create(fd, 1 << 20); - execbuf.buffers_ptr = (uintptr_t)&obj[j]; + execbuf.buffers_ptr = to_user_pointer(&obj[j]); execbuf.buffer_count = i + 1; gem_execbuf(fd, &execbuf); } @@ -191,7 +191,7 @@ static void userptr(int fd, uint64_t alloc) memset(&userptr, 0, sizeof(userptr)); userptr.user_size = alloc; - userptr.user_ptr = (uintptr_t)ptr; + userptr.user_ptr = to_user_pointer(ptr); do_ioctl(fd, LOCAL_IOCTL_I915_GEM_USERPTR, &userptr); gem_set_domain(fd, userptr.handle, I915_GEM_DOMAIN_GTT, 0); diff --git a/tests/gem_softpin.c b/tests/gem_softpin.c index ea162c86..7678acfe 100644 --- a/tests/gem_softpin.c +++ b/tests/gem_softpin.c @@ -50,7 +50,7 @@ static void test_invalid(int fd) struct drm_i915_gem_exec_object2 object; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; memset(&object, 0, sizeof(object)); @@ -107,7 +107,7 @@ static void test_softpin(int fd) last_handle = gem_create(fd, size); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; for (loop = 0; loop < 1024; loop++) { memset(&object, 0, sizeof(object)); @@ -154,7 +154,7 @@ static void test_overlap(int fd) /* Find a hole */ memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); @@ -217,7 +217,7 @@ static uint64_t busy_batch(int fd) *map = MI_BATCH_BUFFER_END; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 2; if (gen >= 6) execbuf.flags = I915_EXEC_BLT; @@ -272,7 +272,7 @@ static void test_evict_active(int fd) gem_write(fd, object.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; expected = busy_batch(fd); @@ -297,7 +297,7 @@ static void test_evict_snoop(int fd) igt_require(!gem_uses_ppgtt(fd)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 1; /* Find a hole */ @@ -356,7 +356,7 @@ static void test_evict_hang(int fd) gem_write(fd, object.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; hang = igt_hang_ctx(fd, 0, 0, 0, (uint64_t *)&expected); @@ -400,7 +400,7 @@ static void test_noreloc(int fd, enum sleep sleep) /* Find a hole */ memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.buffer_count = 1; if (gen < 6) execbuf.flags |= I915_EXEC_SECURE; diff --git a/tests/gem_storedw_loop.c b/tests/gem_storedw_loop.c index 4f05b21a..f3922de8 100644 --- a/tests/gem_storedw_loop.c +++ b/tests/gem_storedw_loop.c @@ -105,7 +105,7 @@ store_dword_loop(int fd, int ring, int count, int divider) } memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)obj; + execbuf.buffers_ptr = to_user_pointer(obj); execbuf.buffer_count = 2; execbuf.flags = ring; @@ -117,7 +117,7 @@ store_dword_loop(int fd, int ring, int count, int divider) gem_set_domain(fd, handle[j], coherent_domain, coherent_domain); batch[j][3] = val; obj[1].handle = handle[j]; - obj[1].relocs_ptr = (uintptr_t)&reloc[j]; + obj[1].relocs_ptr = to_user_pointer(&reloc[j]); gem_execbuf(fd, &execbuf); if (j == 0) { diff --git a/tests/gem_streaming_writes.c b/tests/gem_streaming_writes.c index 5d0014a1..2b35410c 100644 --- a/tests/gem_streaming_writes.c +++ b/tests/gem_streaming_writes.c @@ -101,7 +101,7 @@ static void test_streaming(int fd, int mode, int sync) gem_write(fd, dst, 0, tmp, sizeof(tmp)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 2; execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT; if (__gem_execbuf(fd, &execbuf)) { @@ -205,7 +205,7 @@ static void test_streaming(int fd, int mode, int sync) b = offset / CHUNK_SIZE / 64; n = offset / CHUNK_SIZE % 64; - exec[BATCH].relocs_ptr = (uintptr_t)(reloc + 2*n); + exec[BATCH].relocs_ptr = to_user_pointer((reloc + 2*n)); exec[BATCH].handle = batch[b].handle; exec[BATCH].offset = batch[b].offset; execbuf.batch_start_offset = 64*n; @@ -272,7 +272,7 @@ static void test_batch(int fd, int mode, int reverse) reloc[1].write_domain = 0; batch_size = ALIGN(OBJECT_SIZE / CHUNK_SIZE * 128, 4096); - exec[BATCH].relocs_ptr = (uintptr_t)reloc; + exec[BATCH].relocs_ptr = to_user_pointer(reloc); exec[BATCH].relocation_count = 2; exec[BATCH].handle = gem_create(fd, batch_size); @@ -295,7 +295,7 @@ static void test_batch(int fd, int mode, int reverse) gem_write(fd, exec[BATCH].handle, 0, tmp, sizeof(tmp)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)exec; + execbuf.buffers_ptr = to_user_pointer(exec); execbuf.buffer_count = 3; execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT; if (gem_has_blt(fd)) diff --git a/tests/gem_sync.c b/tests/gem_sync.c index 57739773..60ba38cc 100644 --- a/tests/gem_sync.c +++ b/tests/gem_sync.c @@ -129,7 +129,7 @@ sync_ring(int fd, unsigned ring, int num_children, int timeout) gem_write(fd, object.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; execbuf.flags = engines[child % num_engines]; gem_execbuf(fd, &execbuf); @@ -205,7 +205,7 @@ store_ring(int fd, unsigned ring, int num_children, int timeout) uint32_t *batch, *b; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.flags = engines[child % num_engines]; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; @@ -221,7 +221,7 @@ store_ring(int fd, unsigned ring, int num_children, int timeout) object[0].flags |= EXEC_OBJECT_WRITE; object[1].handle = gem_create(fd, 20*1024); - object[1].relocs_ptr = (uintptr_t)reloc; + object[1].relocs_ptr = to_user_pointer(reloc); object[1].relocation_count = 1024; batch = gem_mmap__cpu(fd, object[1].handle, 0, 20*1024, @@ -337,7 +337,7 @@ __store_many(int fd, unsigned ring, int timeout, unsigned long *cycles) int done; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.flags = ring; execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; @@ -351,7 +351,7 @@ __store_many(int fd, unsigned ring, int timeout, unsigned long *cycles) gem_execbuf(fd, &execbuf); object[0].flags |= EXEC_OBJECT_WRITE; - object[1].relocs_ptr = (uintptr_t)reloc; + object[1].relocs_ptr = to_user_pointer(reloc); object[1].relocation_count = 1024; execbuf.buffer_count = 2; @@ -546,7 +546,7 @@ sync_all(int fd, int num_children, int timeout) gem_write(fd, object.handle, 0, &bbe, sizeof(bbe)); memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)&object; + execbuf.buffers_ptr = to_user_pointer(&object); execbuf.buffer_count = 1; gem_execbuf(fd, &execbuf); @@ -611,7 +611,7 @@ store_all(int fd, int num_children, int timeout) uint32_t *batch, *b; memset(&execbuf, 0, sizeof(execbuf)); - execbuf.buffers_ptr = (uintptr_t)object; + execbuf.buffers_ptr = to_user_pointer(object); execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC; execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT; if (gen < 6) @@ -626,7 +626,7 @@ store_all(int fd, int num_children, int timeout) object[0].flags |= EXEC_OBJECT_WRITE; object[1].handle = gem_create(fd, 1024*16 + 4096); - object[1].relocs_ptr = (uintptr_t)reloc; + object[1].relocs_ptr = to_user_pointer(reloc); object[1].relocation_count = 1024; batch = gem_mmap__cpu(fd, object[1].handle, 0, 16*1024 + 4096, diff --git a/tests/gem_userptr_blits.c b/tests/gem_userptr_blits.c index f30e1436..0912be03 100644 --- a/tests/gem_userptr_blits.c +++ b/tests/gem_userptr_blits.c @@ -143,9 +143,9 @@ copy(int fd, uint32_t dst, uint32_t src, unsigned int error) obj[exec.buffer_count++].handle = src; obj[exec.buffer_count].handle = handle; obj[exec.buffer_count].relocation_count = 2; - obj[exec.buffer_count].relocs_ptr = (uintptr_t)reloc; + obj[exec.buffer_count].relocs_ptr = to_user_pointer(reloc); exec.buffer_count++; - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.flags = HAS_BLT_RING(intel_get_drm_devid(fd)) ? I915_EXEC_BLT : 0; ret = __gem_execbuf(fd, &exec); @@ -215,9 +215,9 @@ blit(int fd, uint32_t dst, uint32_t src, uint32_t *all_bo, int n_bo) obj[n].handle = all_bo[n]; obj[n].handle = handle; obj[n].relocation_count = 2; - obj[n].relocs_ptr = (uintptr_t)reloc; + obj[n].relocs_ptr = to_user_pointer(reloc); - exec.buffers_ptr = (uintptr_t)obj; + exec.buffers_ptr = to_user_pointer(obj); exec.buffer_count = n_bo + 1; exec.flags = HAS_BLT_RING(intel_get_drm_devid(fd)) ? I915_EXEC_BLT : 0; @@ -590,7 +590,7 @@ static int test_forbidden_ops(int fd) gem_pread.handle = handle; gem_pread.offset = 0; gem_pread.size = PAGE_SIZE; - gem_pread.data_ptr = (uintptr_t)ptr; + gem_pread.data_ptr = to_user_pointer(ptr); if (drmIoctl(fd, DRM_IOCTL_I915_GEM_PREAD, &gem_pread)) igt_assert_eq(errno, EINVAL); @@ -598,7 +598,7 @@ static int test_forbidden_ops(int fd) gem_pwrite.handle = handle; gem_pwrite.offset = 0; gem_pwrite.size = PAGE_SIZE; - gem_pwrite.data_ptr = (uintptr_t)ptr; + gem_pwrite.data_ptr = to_user_pointer(ptr); if (drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite)) igt_assert_eq(errno, EINVAL); @@ -627,7 +627,7 @@ static void test_relocations(int fd) *(uint32_t *)ptr = MI_BATCH_BUFFER_END; reloc = (typeof(reloc))((char *)ptr + PAGE_SIZE); - obj.relocs_ptr = (uintptr_t)reloc; + obj.relocs_ptr = to_user_pointer(reloc); obj.relocation_count = 256; memset(reloc, 0, 256*sizeof(*reloc)); @@ -638,7 +638,7 @@ static void test_relocations(int fd) } memset(&exec, 0, sizeof(exec)); - exec.buffers_ptr = (uintptr_t)&obj; + exec.buffers_ptr = to_user_pointer(&obj); exec.buffer_count = 1; gem_execbuf(fd, &exec); |