drm/i915/gvt: vGPU interrupt virtualization.
This patch introduces vGPU interrupt emulation framework. The vGPU intrerrupt emulation framework is an event-based interrupt emulation framework. It's responsible for emulating GEN hardware interrupts during emulating other HW behaviour. It consists several components: - Descriptions of interrupt register bit - Upper level <-> lower level interrupt mapping - GEN HW IER/IMR/IIR register emulation routines - Event-based interrupt propagation interface When a GVT-g component wants to inject an interrupt to a VM during a emulation, first it should specify the event needs to be emulated and the framework will deal with the rest of emulation: - Generating related virtual IIR bit according to virtual IER and IMRs, - Generate related virtual upper level virtual IIR bit accodring to the per-platform interrupt mapping - Injecting a MSI to VM Signed-off-by:Zhi Wang <zhi.a.wang@intel.com> Signed-off-by:
Zhenyu Wang <zhenyuw@linux.intel.com>
Showing
- drivers/gpu/drm/i915/gvt/Makefile 2 additions, 1 deletiondrivers/gpu/drm/i915/gvt/Makefile
- drivers/gpu/drm/i915/gvt/debug.h 2 additions, 3 deletionsdrivers/gpu/drm/i915/gvt/debug.h
- drivers/gpu/drm/i915/gvt/gvt.c 9 additions, 1 deletiondrivers/gpu/drm/i915/gvt/gvt.c
- drivers/gpu/drm/i915/gvt/gvt.h 9 additions, 1 deletiondrivers/gpu/drm/i915/gvt/gvt.h
- drivers/gpu/drm/i915/gvt/hypercall.h 1 addition, 0 deletionsdrivers/gpu/drm/i915/gvt/hypercall.h
- drivers/gpu/drm/i915/gvt/interrupt.c 714 additions, 0 deletionsdrivers/gpu/drm/i915/gvt/interrupt.c
- drivers/gpu/drm/i915/gvt/interrupt.h 223 additions, 0 deletionsdrivers/gpu/drm/i915/gvt/interrupt.h
- drivers/gpu/drm/i915/gvt/mpt.h 38 additions, 0 deletionsdrivers/gpu/drm/i915/gvt/mpt.h
Loading
Please register or sign in to comment