[Intel-gfx] [PULL] GVT-g device model core

Zhenyu Wang zhenyuw at linux.intel.com
Fri Oct 14 10:30:30 UTC 2016


Hi,

This is first pull request to merge GVT-g device model in i915
which contains core GVT-g device model work to virtualize GPU
resources. This tries to add feature of Intel GVT-g technology
for full GPU virtualization. This version will support KVM based
virtualization solution named as KVMGT.

More background is on official project home: https://01.org/igvt-g

To manage mediated device between virtual GPU and physical device it
will rely on VFIO/mdev framework, this version has not included GVT-g
device model integration work for VFIO/mdev yet as VFIO community is
still under work to refine code base. Currently we're basing on
VFIO/mdev v8 patch series (http://www.spinics.net/lists/kvm/msg138515.html)
and doing more testings on that.

There're also several KVM change dependences. KVM maintainer has
merged two and we will ensure left hits KVM tree before sending new
pull request to enable that.

p.s, There would require some coordinate work for VFIO/mdev. We will
send device model work for that after Alex merged mdev framework in
VFIO tree. Alex has promised to merge that in early of Nov.

Let me know if there's any issue with this our first pull request.

Thanks!

--
The following changes since commit 86e83e35d190a9b553384e0e711091a4e9643998:

  drm/i915: Merge duplicate gen4 and vlv/chv enable vblank callbacks (2016-10-13 21:58:52 +0100)

are available in the git repository at:

  https://github.com/01org/gvt-linux.git tags/gvt-next-2016-10-14

for you to fetch changes up to 21196a81c2d8bc9d79e1cbd896f668106da4f75d:

  drm/i915/gvt: Support GVT-g on Skylake (2016-10-14 18:15:36 +0800)

----------------------------------------------------------------
Zhi Wang (17):
      drm/i915/gvt: vGPU HW resource management
      drm/i915/gvt: Introduce a framework for tracking HW registers.
      drm/i915/gvt: golden virtual HW state management
      drm/i915/gvt: Introduce basic vGPU life cycle management
      drm/i915/gvt: trace stub
      drm/i915/gvt: vGPU interrupt virtualization.
      drm/i915/gvt: vGPU graphics memory virtualization
      drm/i915/gvt: vGPU PCI configuration space virtualization
      drm/i915/gvt: vGPU MMIO virtualization
      drm/i915/gvt: vGPU display virtualization
      drm/i915/gvt: vGPU execlist virtualization
      drm/i915/gvt: vGPU workload submission
      drm/i915/gvt: vGPU workload scheduler
      drm/i915/gvt: vGPU schedule policy framework
      drm/i915/gvt: vGPU context switch
      drm/i915/gvt: vGPU command scanner
      drm/i915/gvt: Support GVT-g on Skylake

 drivers/gpu/drm/i915/gvt/Makefile       |    4 +-
 drivers/gpu/drm/i915/gvt/aperture_gm.c  |  341 ++++
 drivers/gpu/drm/i915/gvt/cfg_space.c    |  287 +++
 drivers/gpu/drm/i915/gvt/cmd_parser.c   | 2878 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/cmd_parser.h   |   49 +
 drivers/gpu/drm/i915/gvt/debug.h        |   29 +-
 drivers/gpu/drm/i915/gvt/display.c      |  329 ++++
 drivers/gpu/drm/i915/gvt/display.h      |  163 ++
 drivers/gpu/drm/i915/gvt/edid.c         |  531 ++++++
 drivers/gpu/drm/i915/gvt/edid.h         |  150 ++
 drivers/gpu/drm/i915/gvt/execlist.c     |  852 +++++++++
 drivers/gpu/drm/i915/gvt/execlist.h     |  188 ++
 drivers/gpu/drm/i915/gvt/firmware.c     |  308 ++++
 drivers/gpu/drm/i915/gvt/gtt.c          | 2231 ++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/gtt.h          |  270 +++
 drivers/gpu/drm/i915/gvt/gvt.c          |  153 +-
 drivers/gpu/drm/i915/gvt/gvt.h          |  318 +++-
 drivers/gpu/drm/i915/gvt/handlers.c     | 2794 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/gvt/hypercall.h    |   34 +
 drivers/gpu/drm/i915/gvt/interrupt.c    |  740 ++++++++
 drivers/gpu/drm/i915/gvt/interrupt.h    |  233 +++
 drivers/gpu/drm/i915/gvt/mmio.c         |  305 ++++
 drivers/gpu/drm/i915/gvt/mmio.h         |  105 ++
 drivers/gpu/drm/i915/gvt/mpt.h          |  220 +++
 drivers/gpu/drm/i915/gvt/opregion.c     |  343 ++++
 drivers/gpu/drm/i915/gvt/reg.h          |   80 +
 drivers/gpu/drm/i915/gvt/render.c       |  290 ++++
 drivers/gpu/drm/i915/gvt/render.h       |   43 +
 drivers/gpu/drm/i915/gvt/sched_policy.c |  291 ++++
 drivers/gpu/drm/i915/gvt/sched_policy.h |   58 +
 drivers/gpu/drm/i915/gvt/scheduler.c    |  572 ++++++
 drivers/gpu/drm/i915/gvt/scheduler.h    |  139 ++
 drivers/gpu/drm/i915/gvt/trace.h        |  286 +++
 drivers/gpu/drm/i915/gvt/trace_points.c |   36 +
 drivers/gpu/drm/i915/gvt/vgpu.c         |  272 +++
 drivers/gpu/drm/i915/intel_gvt.c        |    2 +
 drivers/gpu/drm/i915/intel_gvt.h        |    1 +
 37 files changed, 15913 insertions(+), 12 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gvt/aperture_gm.c
 create mode 100644 drivers/gpu/drm/i915/gvt/cfg_space.c
 create mode 100644 drivers/gpu/drm/i915/gvt/cmd_parser.c
 create mode 100644 drivers/gpu/drm/i915/gvt/cmd_parser.h
 create mode 100644 drivers/gpu/drm/i915/gvt/display.c
 create mode 100644 drivers/gpu/drm/i915/gvt/display.h
 create mode 100644 drivers/gpu/drm/i915/gvt/edid.c
 create mode 100644 drivers/gpu/drm/i915/gvt/edid.h
 create mode 100644 drivers/gpu/drm/i915/gvt/execlist.c
 create mode 100644 drivers/gpu/drm/i915/gvt/execlist.h
 create mode 100644 drivers/gpu/drm/i915/gvt/firmware.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gtt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gtt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/handlers.c
 create mode 100644 drivers/gpu/drm/i915/gvt/interrupt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/interrupt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/mmio.c
 create mode 100644 drivers/gpu/drm/i915/gvt/mmio.h
 create mode 100644 drivers/gpu/drm/i915/gvt/opregion.c
 create mode 100644 drivers/gpu/drm/i915/gvt/reg.h
 create mode 100644 drivers/gpu/drm/i915/gvt/render.c
 create mode 100644 drivers/gpu/drm/i915/gvt/render.h
 create mode 100644 drivers/gpu/drm/i915/gvt/sched_policy.c
 create mode 100644 drivers/gpu/drm/i915/gvt/sched_policy.h
 create mode 100644 drivers/gpu/drm/i915/gvt/scheduler.c
 create mode 100644 drivers/gpu/drm/i915/gvt/scheduler.h
 create mode 100644 drivers/gpu/drm/i915/gvt/trace.h
 create mode 100644 drivers/gpu/drm/i915/gvt/trace_points.c
 create mode 100644 drivers/gpu/drm/i915/gvt/vgpu.c

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20161014/ec24f62a/attachment-0001.sig>


More information about the Intel-gfx mailing list