summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-01-02 11:05:21 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2017-01-02 11:17:13 +0000
commit4de67b26788c60c19254c3e69e151ee200453895 (patch)
tree566eda27dcfe0f8266ba1931681003b9b76d8642
parent0517d877b65bade23332cba0828acae7ae5fccb9 (diff)
igt: Mass conversion to to_user_pointer()
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--tests/gem_busy.c18
-rw-r--r--tests/gem_close_race.c6
-rw-r--r--tests/gem_concurrent_all.c8
-rw-r--r--tests/gem_cpu_reloc.c6
-rw-r--r--tests/gem_create.c2
-rw-r--r--tests/gem_cs_prefetch.c4
-rw-r--r--tests/gem_cs_tlb.c2
-rw-r--r--tests/gem_ctx_bad_exec.c2
-rw-r--r--tests/gem_ctx_create.c6
-rw-r--r--tests/gem_ctx_exec.c4
-rw-r--r--tests/gem_ctx_switch.c4
-rw-r--r--tests/gem_ctx_thrash.c10
-rw-r--r--tests/gem_eio.c4
-rw-r--r--tests/gem_evict_alignment.c4
-rw-r--r--tests/gem_evict_everything.c4
-rw-r--r--tests/gem_exec_alignment.c6
-rw-r--r--tests/gem_exec_async.c8
-rw-r--r--tests/gem_exec_bad_domains.c4
-rw-r--r--tests/gem_exec_basic.c6
-rw-r--r--tests/gem_exec_big.c8
-rw-r--r--tests/gem_exec_blt.c4
-rw-r--r--tests/gem_exec_create.c2
-rw-r--r--tests/gem_exec_faulting_reloc.c4
-rw-r--r--tests/gem_exec_fence.c12
-rw-r--r--tests/gem_exec_flush.c10
-rw-r--r--tests/gem_exec_gttfill.c4
-rw-r--r--tests/gem_exec_latency.c8
-rw-r--r--tests/gem_exec_lut_handle.c10
-rw-r--r--tests/gem_exec_nop.c6
-rw-r--r--tests/gem_exec_parallel.c4
-rw-r--r--tests/gem_exec_params.c2
-rw-r--r--tests/gem_exec_parse.c16
-rw-r--r--tests/gem_exec_reloc.c32
-rw-r--r--tests/gem_exec_schedule.c8
-rw-r--r--tests/gem_exec_store.c14
-rw-r--r--tests/gem_exec_suspend.c4
-rw-r--r--tests/gem_exec_whisper.c22
-rw-r--r--tests/gem_fenced_exec_thrash.c4
-rw-r--r--tests/gem_gtt_hog.c6
-rw-r--r--tests/gem_linear_blits.c4
-rw-r--r--tests/gem_lut_handle.c8
-rw-r--r--tests/gem_madvise.c4
-rw-r--r--tests/gem_mmap_wc.c2
-rw-r--r--tests/gem_mocs_settings.c6
-rw-r--r--tests/gem_persistent_relocs.c4
-rw-r--r--tests/gem_pin.c8
-rw-r--r--tests/gem_ppgtt.c2
-rw-r--r--tests/gem_pwrite_pread.c4
-rw-r--r--tests/gem_readwrite.c4
-rw-r--r--tests/gem_reloc_overflow.c12
-rw-r--r--tests/gem_reloc_vs_gpu.c6
-rw-r--r--tests/gem_request_retire.c8
-rw-r--r--tests/gem_reset_stats.c4
-rw-r--r--tests/gem_ring_sync_loop.c4
-rw-r--r--tests/gem_ringfill.c4
-rw-r--r--tests/gem_shrink.c8
-rw-r--r--tests/gem_softpin.c16
-rw-r--r--tests/gem_storedw_loop.c4
-rw-r--r--tests/gem_streaming_writes.c8
-rw-r--r--tests/gem_sync.c16
-rw-r--r--tests/gem_userptr_blits.c16
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);