On 2021.07.21 17:53:34 +0200, Christoph Hellwig wrote: > Hi all, > > the GVT code in the i915 is a bit of a mess right now due to strange > abstractions and lots of indirect calls. This series refactors various > bits to clean that up. The main user visible change is that almost all > of the GVT code moves out of the main i915 driver and into the kvmgt > module. > The reason we isolated hypervisor specific code from core vgpu emulation is to make multiple hypervisor support possible. Yes, we do have Xen support but never got way into upstream...And we also have third party hypervisors which leverage gvt function through current hypervisor interface. Sorry I may not have more time to check in details for now, but some of them look fine to me. I'll review more after vacation or let Zhi check details. Thanks! > Tested on my Thinkpad with a Kaby Lake CPU and integrated graphics. > > Git tree: > > git://git.infradead.org/users/hch/misc.git i915-gvt > > Gitweb: > > http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/i915-gvt > > Diffstat: > b/drivers/gpu/drm/i915/Kconfig | 31 > b/drivers/gpu/drm/i915/Makefile | 30 > b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 4 > b/drivers/gpu/drm/i915/gvt/cfg_space.c | 89 -- > b/drivers/gpu/drm/i915/gvt/cmd_parser.c | 4 > b/drivers/gpu/drm/i915/gvt/dmabuf.c | 36 > b/drivers/gpu/drm/i915/gvt/execlist.c | 12 > b/drivers/gpu/drm/i915/gvt/gtt.c | 55 - > b/drivers/gpu/drm/i915/gvt/gvt.c | 100 -- > b/drivers/gpu/drm/i915/gvt/gvt.h | 132 ++- > b/drivers/gpu/drm/i915/gvt/interrupt.c | 38 - > b/drivers/gpu/drm/i915/gvt/kvmgt.c | 634 ++++------------- > b/drivers/gpu/drm/i915/gvt/mmio.c | 4 > b/drivers/gpu/drm/i915/gvt/opregion.c | 148 --- > b/drivers/gpu/drm/i915/gvt/page_track.c | 8 > b/drivers/gpu/drm/i915/gvt/scheduler.c | 37 > b/drivers/gpu/drm/i915/gvt/trace.h | 2 > b/drivers/gpu/drm/i915/gvt/vgpu.c | 22 > b/drivers/gpu/drm/i915/i915_drv.h | 7 > b/drivers/gpu/drm/i915/i915_params.c | 2 > b/drivers/gpu/drm/i915/intel_gvt.c | 64 + > b/drivers/gpu/drm/i915/intel_gvt.h | 4 > drivers/gpu/drm/i915/gvt/Makefile | 9 > drivers/gpu/drm/i915/gvt/hypercall.h | 82 -- > drivers/gpu/drm/i915/gvt/mpt.h | 400 ---------- > 25 files changed, 541 insertions(+), 1413 deletions(-)