hv: allocate vpid based on vm_id and vcpu_id mapping

Currently vpid is not released in reset_vcpu() hence the vpid resource
could be exhausted easily if guests are re-launched.

This patch assigns vpid according to the fixed mapping of runtime vm_id
and vcpu_id to guarantee the uniqueness of vpid.

Tracked-On: #2700
Signed-off-by: Zide Chen <zide.chen@intel.com>
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
Zide Chen
2019-04-18 11:20:54 -07:00
committed by wenlingz
parent 9673f3dad4
commit a3207b2bc2
6 changed files with 13 additions and 41 deletions

View File

@@ -136,13 +136,6 @@ void mmu_modify_or_del(uint64_t *pml4_page, uint64_t vaddr_base, uint64_t size,
uint64_t prot_set, uint64_t prot_clr, const struct memory_ops *mem_ops, uint32_t type);
void hv_access_memory_region_update(uint64_t base, uint64_t size);
/**
* @brief VPID allocation
*
* @retval 0 VPID overflow
* @retval >0 the valid VPID
*/
uint16_t allocate_vpid(void);
/**
* @brief Specified signle VPID flush
*