hv: implement msi.c to handle MSI remapping for vm0

Emulate MSI Capability structure for vm0 in sharing mode:

- it intercepts the IO requests for MSI Capability structure, emulates
  the Message Control word, and bypasses all other I/O requests to the
  physical device.

- criteria to trigger MSI remapping: MSI Enable bit is being changed,
  Message Data/Addr is being changed when MSI Enable is set.

Tracked-On: #1568
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
Zide Chen
2018-09-24 12:29:01 -07:00
committed by lijinxia
parent 6af47f249c
commit dcebdb8e98
6 changed files with 271 additions and 1 deletions

View File

@@ -178,9 +178,13 @@ endif
C_SRCS += dm/vpic.c
C_SRCS += dm/vioapic.c
ifeq ($(CONFIG_PARTITION_MODE),y)
C_SRCS += $(wildcard dm/vpci/*.c)
C_SRCS += $(wildcard partition/*.c)
C_SRCS += dm/hw/pci.c
C_SRCS += dm/vpci/core.c
C_SRCS += dm/vpci/vpci.c
C_SRCS += dm/vpci/partition_mode.c
C_SRCS += dm/vpci/hostbridge.c
C_SRCS += dm/vpci/pci_pt.c
C_SRCS += dm/vrtc.c
endif