Browse Source

drm/i915/gvt: Disable access to stolen memory as a guest

Explicitly disable stolen memory when running as a guest in a virtual
machine, since the memory is not mediated between clients and reserved
entirely for the host. The actual size should be reported as zero, but
like every other quirk we want to tell the user what is happening.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99028
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161109103905.17860-1-chris@chris-wilson.co.uk
Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: stable@vger.kernel.org
Chris Wilson 8 years ago
parent
commit
04a68a35ce
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/gpu/drm/i915/i915_gem_stolen.c

+ 5 - 0
drivers/gpu/drm/i915/i915_gem_stolen.c

@@ -409,6 +409,11 @@ int i915_gem_init_stolen(struct drm_i915_private *dev_priv)
 
 
 	mutex_init(&dev_priv->mm.stolen_lock);
 	mutex_init(&dev_priv->mm.stolen_lock);
 
 
+	if (intel_vgpu_active(dev_priv)) {
+		DRM_INFO("iGVT-g active, disabling use of stolen memory\n");
+		return 0;
+	}
+
 #ifdef CONFIG_INTEL_IOMMU
 #ifdef CONFIG_INTEL_IOMMU
 	if (intel_iommu_gfx_mapped && INTEL_GEN(dev_priv) < 8) {
 	if (intel_iommu_gfx_mapped && INTEL_GEN(dev_priv) < 8) {
 		DRM_INFO("DMAR active, disabling use of stolen memory\n");
 		DRM_INFO("DMAR active, disabling use of stolen memory\n");