• Zhi Wang's avatar
    drm/i915/gvt: vGPU interrupt virtualization. · c8fe6a68
    Zhi Wang authored
    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: default avatarZhi Wang <zhi.a.wang@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    c8fe6a68
gvt.c 4.78 KB