hv: implement msix.c for MSI-X remapping

Similar to MSI emulation, this patch emulates the Message Control word
within MSI-X Capability Structure.

Also it emulates MSI-X table. MSI-X remapping is triggered when the guest
is changing the Mask bit in Vector Control, or the Message Data/Addr when
MSI-X Enable bit 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-10-09 10:22:19 -07:00
committed by lijinxia
parent dcebdb8e98
commit 7c506ebc69
4 changed files with 383 additions and 0 deletions

View File

@@ -200,3 +200,8 @@ config IOMMU_INIT_BUS_LIMIT
hex "bus limitation when iommu init"
default 0xf if PLATFORM_SBL
default 0xff if PLATFORM_UEFI
config MAX_MSIX_TABLE_NUM
int "Maximum number of MSI-X Table per device"
range 1 2048
default 16