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)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 14 Feb 2017 09:28:34 +0000 (09:28 +0000)
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
drivers/gpu/drm/i915/i915_gem_stolen.c

index 82ca8f49fec11eaab5324c37773a337c71bb4ad5..f3abdc27c5dd16171dd0d5b00560148d30ab3aca 100644 (file)
@@ -409,6 +409,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");