INTEL_CNL_IDS(&gen9_early_ops),
 };
 
+struct resource intel_graphics_stolen_res __ro_after_init = DEFINE_RES_MEM(0, 0);
+EXPORT_SYMBOL(intel_graphics_stolen_res);
+
 static void __init
 intel_graphics_stolen(int num, int slot, int func,
                      const struct intel_early_ops *early_ops)
                return;
 
        end = base + size - 1;
-       printk(KERN_INFO "Reserving Intel graphics memory at %pa-%pa\n",
-              &base, &end);
+
+       intel_graphics_stolen_res.start = base;
+       intel_graphics_stolen_res.end = end;
+
+       printk(KERN_INFO "Reserving Intel graphics memory at %pR\n",
+              &intel_graphics_stolen_res);
 
        /* Mark this space as reserved */
        e820__range_add(base, size, E820_TYPE_RESERVED);
 
 extern bool i915_gpu_busy(void);
 extern bool i915_gpu_turbo_disable(void);
 
+/* Exported from arch/x86/kernel/early-quirks.c */
+extern struct resource intel_graphics_stolen_res;
+
 /*
  * The Bridge device's PCI config space has information about the
  * fb aperture size and the amount of pre-reserved memory.