hypervisor: use "wbinvd" carefully in RT environment

Due to the side-effect to cache of "wbinvd" instruction, just apply it
in case of noncoherent DMA.

Tracked-On: #1824
Signed-off-by: Zheng, Gen <gen.zheng@intel.com>
Reviewed-by: Binbin Wu <binbin.wu@intel.com>
This commit is contained in:
Zheng, Gen
2018-11-14 22:03:04 +08:00
committed by lijinxia
parent 61e6c1f054
commit b32e689a64
4 changed files with 47 additions and 5 deletions

View File

@@ -502,7 +502,7 @@ struct iommu_domain;
* @pre domain != NULL
*
*/
int assign_iommu_device(const struct iommu_domain *domain,
int assign_iommu_device(struct iommu_domain *domain,
uint8_t bus, uint8_t devfun);
/**
@@ -612,6 +612,17 @@ int init_iommu(void);
*/
void init_iommu_vm0_domain(struct acrn_vm *vm0);
/**
* @brief check the iommu if support cache snoop.
*
* @param[in] vm pointer to VM to check
*
* @return true - support
* @return false - not support
*
*/
bool iommu_snoop_supported(struct acrn_vm *vm);
/**
* @}
*/