1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-04 06:26:54 +00:00

hv: vpci: a minor fix about is_zombie_vf

Now we check whether a device is zombie by the ->user != NULL.

Tracked-On: 
Signed-off-by: Li Fei1 <fei1.li@intel.com>
This commit is contained in:
Li Fei1 2020-06-19 16:36:04 +08:00 committed by wenlingz
parent 2100ef0b50
commit e0a101d9f0
3 changed files with 15 additions and 13 deletions
hypervisor
dm/vpci
include
arch/x86/guest
dm

View File

@ -112,6 +112,20 @@ static inline bool msicap_access(const struct pci_vdev *vdev, uint32_t offset)
return (has_msi_cap(vdev) && in_range(offset, vdev->msi.capoff, vdev->msi.caplen));
}
/**
* @brief Check if the specified vdev is a zombie VF instance
*
* @pre: The vdev is a VF instance
*
* @param vdev Pointer to vdev instance
*
* @return If the vdev is a zombie VF instance return true, otherwise return false
*/
static inline bool is_zombie_vf(const struct pci_vdev *vdev)
{
return (vdev->user == NULL);
}
void init_vdev_pt(struct pci_vdev *vdev, bool is_pf_vdev);
void deinit_vdev_pt(struct pci_vdev *vdev);
void vdev_pt_write_vbar(struct pci_vdev *vdev, uint32_t idx, uint32_t val);

View File

@ -208,18 +208,6 @@ static inline uint16_t vmid_2_rel_vmid(uint16_t sos_vmid, uint16_t vmid) {
return (vmid - sos_vmid);
}
/**
* @brief Check if the specified vdev is a zombie VF instance
*
* @param vdev Pointer to vdev instance
*
* @return If the vdev is a zombie VF instance return true, otherwise return false
*/
static inline bool is_zombie_vf(const struct pci_vdev *vdev)
{
return (vdev->vpci == NULL);
}
void make_shutdown_vm_request(uint16_t pcpu_id);
bool need_shutdown_vm(uint16_t pcpu_id);
int32_t shutdown_vm(struct acrn_vm *vm);

View File

@ -132,7 +132,7 @@ struct pci_vdev {
* user | vdev in HV | vdev in pre-VM | vdev in SOS | vdev in post-VM | vdev in post-VM
*/
struct pci_vdev *parent_user;
struct pci_vdev *user;
struct pci_vdev *user; /* NULL means this device is not used or is a zombie VF */
};
union pci_cfg_addr_reg {