[PATCH 00/03] Preventing zero GPU virtual address allocation

David Weinehall
2015-05-20T13:55:51Z

This patch series (one patch each for libdrm, the kernel, and beignet)
aims to provide a means to add a context-specific means to prevent
a mapping to GPU virtual address zero. This is needed at least by
Beignet (possibly in other use-cases too, though I don't know of any
other) to allow use of address zero to represent NULL.

The kernel patch exports a new context parameter that can be set by
the context_{get,set}param ioctls, and uses this parameter to
decide whether or not a zero address mapping should be prevented.

The libdrm patch adds helper functions for the ioctls in question
and exports the context parameter.

The beignet patch uses the new libdrm function to disable zero
mappings if that functionality is available.

David Weinehall (3):
drm/i915: add a context parameter to {en,dis}able zero address mapping
libdrm: export context_{get,set}param and I915_CONTEXT_PARAM_NO_ZEROMAP
beignet: set I915_CONTEXT_PARAM_NO_ZEROMAP when initializing context

drm-intel-nightly:
drivers/gpu/drm/i915/i915_drv.h | 5 +++++
drivers/gpu/drm/i915/i915_gem_context.c | 11 +++++++++++
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 13 +++++++++----
include/uapi/drm/i915_drm.h | 1 +
4 files changed, 26 insertions(+), 4 deletions(-)

libdrm:
configure.ac | 2 -
include/drm/i915_drm.h | 1
intel/intel_bufmgr.h | 4 +++
intel/intel_bufmgr_gem.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 63 insertions(+), 1 deletion(-)

beignet:
CMakeLists.txt | 6 ++++++
src/CMakeLists.txt | 5 +++++
src/intel/intel_driver.c | 4 ++++
3 files changed, 15 insertions(+)