drm/i915/gvt: Disable access to stolen memory as a guest
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 9 Nov 2016 10:39:05 +0000 (10:39 +0000)
committerJani Nikula <jani.nikula@intel.com>
Thu, 16 Feb 2017 09:59:13 +0000 (11:59 +0200)
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
(cherry picked from commit 04a68a35ce6d7b54749989f943993020f48fed62)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem_stolen.c

index ec7c5d80fe4ff4882d466cf8b5163691262dc98f..9673bcc3b6ad6e76096403a892f0bf2852adc417 100644 (file)
@@ -405,6 +405,11 @@ int i915_gem_init_stolen(struct drm_i915_private *dev_priv)
 
        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
        if (intel_iommu_gfx_mapped && INTEL_GEN(dev_priv) < 8) {
                DRM_INFO("DMAR active, disabling use of stolen memory\n");