mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 03:45:29 +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: #4550 Signed-off-by: Li Fei1 <fei1.li@intel.com>
This commit is contained in:
parent
2100ef0b50
commit
e0a101d9f0
@ -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));
|
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 init_vdev_pt(struct pci_vdev *vdev, bool is_pf_vdev);
|
||||||
void deinit_vdev_pt(struct pci_vdev *vdev);
|
void deinit_vdev_pt(struct pci_vdev *vdev);
|
||||||
void vdev_pt_write_vbar(struct pci_vdev *vdev, uint32_t idx, uint32_t val);
|
void vdev_pt_write_vbar(struct pci_vdev *vdev, uint32_t idx, uint32_t val);
|
||||||
|
@ -208,18 +208,6 @@ static inline uint16_t vmid_2_rel_vmid(uint16_t sos_vmid, uint16_t vmid) {
|
|||||||
return (vmid - sos_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);
|
void make_shutdown_vm_request(uint16_t pcpu_id);
|
||||||
bool need_shutdown_vm(uint16_t pcpu_id);
|
bool need_shutdown_vm(uint16_t pcpu_id);
|
||||||
int32_t shutdown_vm(struct acrn_vm *vm);
|
int32_t shutdown_vm(struct acrn_vm *vm);
|
||||||
|
@ -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
|
* 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 *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 {
|
union pci_cfg_addr_reg {
|
||||||
|
Loading…
Reference in New Issue
Block a user