intel: allow INTEL_DEBUG to override device ID
INTEL_DEBUG=0x<DEVID> overrides the device id to <DEVID>. It implies
INTEL_DEBUG=nohw for security reasons.
diff --git a/icd/intel/intel.c b/icd/intel/intel.c
index 21f8720..19978da 100644
--- a/icd/intel/intel.c
+++ b/icd/intel/intel.c
@@ -42,6 +42,7 @@
#include "gpu.h"
#include "intel.h"
+static int intel_devid_override;
int intel_debug = -1;
static void intel_debug_init(void)
@@ -64,10 +65,14 @@
else
len = strlen(env);
- if (strncmp(env, "batch", len) == 0)
+ if (strncmp(env, "batch", len) == 0) {
intel_debug |= INTEL_DEBUG_BATCH;
- else if (strncmp(env, "nohw", len) == 0)
+ } else if (strncmp(env, "nohw", len) == 0) {
intel_debug |= INTEL_DEBUG_NOHW;
+ } else if (strncmp(env, "0x", 2) == 0) {
+ intel_debug |= INTEL_DEBUG_NOHW;
+ intel_devid_override = strtol(env, NULL, 16);
+ }
if (!p)
break;
@@ -175,6 +180,8 @@
}
close(fd);
+ if (intel_devid_override)
+ dev_id = intel_devid_override;
ret = intel_gpu_add(dev_id, dnode, &gpu);
udev_device_unref(device);