drm/i915/gvt: vGPU MMIO virtualization

This patch introduces the generic vGPU MMIO emulation intercept
framework.  The MPT modules will request GVT-g core logic to
emulate MMIO read/write through IO emulation operations
callback when hypervisor trapped a guest GTTMMIO read/write.

Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
diff --git a/drivers/gpu/drm/i915/gvt/hypercall.h b/drivers/gpu/drm/i915/gvt/hypercall.h
index b5ffd78..027ef55 100644
--- a/drivers/gpu/drm/i915/gvt/hypercall.h
+++ b/drivers/gpu/drm/i915/gvt/hypercall.h
@@ -34,13 +34,13 @@
 #define _GVT_HYPERCALL_H_
 
 struct intel_gvt_io_emulation_ops {
-	int (*emulate_cfg_read)(void *, unsigned int,
-				void *, unsigned int);
-	int (*emulate_cfg_write)(void *, unsigned int,
-				 void *, unsigned int);
+	int (*emulate_cfg_read)(void *, unsigned int, void *, unsigned int);
+	int (*emulate_cfg_write)(void *, unsigned int, void *, unsigned int);
+	int (*emulate_mmio_read)(void *, u64, void *, unsigned int);
+	int (*emulate_mmio_write)(void *, u64, void *, unsigned int);
 };
 
-extern struct intel_gvt_io_emulation_ops *gvt_io_emulation_ops;
+extern struct intel_gvt_io_emulation_ops intel_gvt_io_emulation_ops;
 
 /*
  * Specific GVT-g MPT modules function collections. Currently GVT-g supports