drm/i915/gvt: Introduce basic vGPU life cycle management
authorZhi Wang <zhi.a.wang@intel.com>
Tue, 5 Jul 2016 16:40:49 +0000 (12:40 -0400)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 14 Oct 2016 10:11:59 +0000 (18:11 +0800)
commit82d375d1b56820fd094da15c82562661b6a8f344
tree922d21eab044d889b83c166b1310ab91c65bc9a4
parent579cea5f30f2c70215492e987bb439a3e50c6371
drm/i915/gvt: Introduce basic vGPU life cycle management

A vGPU represents a virtual Intel GEN hardware, which consists following
virtual resources:

- Configuration space (virtualized)
- HW registers (virtualized)
- GGTT memory space (partitioned)
- GPU page table (shadowed)
- Fence registers (partitioned)

* virtualized: fully emulated by GVT-g.
* partitioned: Only a part of the HW resource is allowed to be accessed
by VM.
* shadowed: Resource needs to be translated and shadowed before getting
applied into HW.

This patch introduces vGPU life cycle management framework, which is
responsible for creating/destroying a vGPU and preparing/free resources
related to a vGPU.

Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/Makefile
drivers/gpu/drm/i915/gvt/gvt.h
drivers/gpu/drm/i915/gvt/hypercall.h
drivers/gpu/drm/i915/gvt/mpt.h
drivers/gpu/drm/i915/gvt/reg.h [new file with mode: 0644]
drivers/gpu/drm/i915/gvt/vgpu.c [new file with mode: 0644]