Message ID | 20240515082041.556571-17-zhenzhong.duan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | VFIO: misc cleanups part2 | expand |
On 5/15/24 10:20, Zhenzhong Duan wrote: > This is to follow the coding standand in qapi/error.h to return bool > for bool-valued functions. > > Include below functions: > vfio_add_virt_caps() > vfio_add_nv_gpudirect_cap() > vfio_add_vmd_shadow_cap() > > Suggested-by: Cédric Le Goater <clg@redhat.com> > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/vfio/pci.h | 2 +- > hw/vfio/pci-quirks.c | 42 +++++++++++++++++++----------------------- > hw/vfio/pci.c | 3 +-- > 3 files changed, 21 insertions(+), 26 deletions(-) > > diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h > index f158681072..bf67df2fbc 100644 > --- a/hw/vfio/pci.h > +++ b/hw/vfio/pci.h > @@ -212,7 +212,7 @@ void vfio_bar_quirk_setup(VFIOPCIDevice *vdev, int nr); > void vfio_bar_quirk_exit(VFIOPCIDevice *vdev, int nr); > void vfio_bar_quirk_finalize(VFIOPCIDevice *vdev, int nr); > void vfio_setup_resetfn_quirk(VFIOPCIDevice *vdev); > -int vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp); > +bool vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp); > void vfio_quirk_reset(VFIOPCIDevice *vdev); > VFIOQuirk *vfio_quirk_alloc(int nr_mem); > void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *vdev, int nr); > diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c > index ca27917159..39dae72497 100644 > --- a/hw/vfio/pci-quirks.c > +++ b/hw/vfio/pci-quirks.c > @@ -1536,7 +1536,7 @@ static bool is_valid_std_cap_offset(uint8_t pos) > pos <= (PCI_CFG_SPACE_SIZE - PCI_CAP_SIZEOF)); > } > > -static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > +static bool vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > { > ERRP_GUARD(); > PCIDevice *pdev = &vdev->pdev; > @@ -1545,18 +1545,18 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > uint8_t tmp; > > if (vdev->nv_gpudirect_clique == 0xFF) { > - return 0; > + return true; > } > > if (!vfio_pci_is(vdev, PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID)) { > error_setg(errp, "NVIDIA GPUDirect Clique ID: invalid device vendor"); > - return -EINVAL; > + return false; > } > > if (pci_get_byte(pdev->config + PCI_CLASS_DEVICE + 1) != > PCI_BASE_CLASS_DISPLAY) { > error_setg(errp, "NVIDIA GPUDirect Clique ID: unsupported PCI class"); > - return -EINVAL; > + return false; > } > > /* > @@ -1572,7 +1572,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > vdev->config_offset + PCI_CAPABILITY_LIST); > if (ret != 1 || !is_valid_std_cap_offset(tmp)) { > error_setg(errp, "NVIDIA GPUDirect Clique ID: error getting cap list"); > - return -EINVAL; > + return false; > } > > do { > @@ -1590,13 +1590,13 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > pos = 0xD4; > } else { > error_setg(errp, "NVIDIA GPUDirect Clique ID: invalid config space"); > - return -EINVAL; > + return false; > } > > ret = pci_add_capability(pdev, PCI_CAP_ID_VNDR, pos, 8, errp); > if (ret < 0) { > error_prepend(errp, "Failed to add NVIDIA GPUDirect cap: "); > - return ret; > + return false; > } > > memset(vdev->emulated_config_bits + pos, 0xFF, 8); > @@ -1608,7 +1608,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > pci_set_byte(pdev->config + pos++, vdev->nv_gpudirect_clique << 3); > pci_set_byte(pdev->config + pos, 0); > > - return 0; > + return true; > } > > /* > @@ -1629,7 +1629,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) > */ > #define VMD_SHADOW_CAP_VER 1 > #define VMD_SHADOW_CAP_LEN 24 > -static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) > +static bool vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) > { > ERRP_GUARD(); > uint8_t membar_phys[16]; > @@ -1639,7 +1639,7 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) > vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x467F) || > vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x4C3D) || > vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x9A0B))) { > - return 0; > + return true; > } > > ret = pread(vdev->vbasedev.fd, membar_phys, 16, > @@ -1647,14 +1647,14 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) > if (ret != 16) { > error_report("VMD %s cannot read MEMBARs (%d)", > vdev->vbasedev.name, ret); > - return -EFAULT; > + return false; > } > > ret = pci_add_capability(&vdev->pdev, PCI_CAP_ID_VNDR, pos, > VMD_SHADOW_CAP_LEN, errp); > if (ret < 0) { > error_prepend(errp, "Failed to add VMD MEMBAR Shadow cap: "); > - return ret; > + return false; > } > > memset(vdev->emulated_config_bits + pos, 0xFF, VMD_SHADOW_CAP_LEN); > @@ -1664,22 +1664,18 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) > pci_set_long(vdev->pdev.config + pos, 0x53484457); /* SHDW */ > memcpy(vdev->pdev.config + pos + 4, membar_phys, 16); > > - return 0; > + return true; > } > > -int vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp) > +bool vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp) > { > - int ret; > - > - ret = vfio_add_nv_gpudirect_cap(vdev, errp); > - if (ret) { > - return ret; > + if (!vfio_add_nv_gpudirect_cap(vdev, errp)) { > + return false; > } > > - ret = vfio_add_vmd_shadow_cap(vdev, errp); > - if (ret) { > - return ret; > + if (!vfio_add_vmd_shadow_cap(vdev, errp)) { > + return false; > } > > - return 0; > + return true; > } > diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c > index 15823c359a..1254650d4a 100644 > --- a/hw/vfio/pci.c > +++ b/hw/vfio/pci.c > @@ -2194,8 +2194,7 @@ static bool vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos, Error **errp) > vdev->emulated_config_bits[PCI_CAPABILITY_LIST] = 0xff; > vdev->emulated_config_bits[PCI_STATUS] |= PCI_STATUS_CAP_LIST; > > - ret = vfio_add_virt_caps(vdev, errp); > - if (ret) { > + if (!vfio_add_virt_caps(vdev, errp)) { > return false; > } > }
diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h index f158681072..bf67df2fbc 100644 --- a/hw/vfio/pci.h +++ b/hw/vfio/pci.h @@ -212,7 +212,7 @@ void vfio_bar_quirk_setup(VFIOPCIDevice *vdev, int nr); void vfio_bar_quirk_exit(VFIOPCIDevice *vdev, int nr); void vfio_bar_quirk_finalize(VFIOPCIDevice *vdev, int nr); void vfio_setup_resetfn_quirk(VFIOPCIDevice *vdev); -int vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp); +bool vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp); void vfio_quirk_reset(VFIOPCIDevice *vdev); VFIOQuirk *vfio_quirk_alloc(int nr_mem); void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *vdev, int nr); diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index ca27917159..39dae72497 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1536,7 +1536,7 @@ static bool is_valid_std_cap_offset(uint8_t pos) pos <= (PCI_CFG_SPACE_SIZE - PCI_CAP_SIZEOF)); } -static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) +static bool vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) { ERRP_GUARD(); PCIDevice *pdev = &vdev->pdev; @@ -1545,18 +1545,18 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) uint8_t tmp; if (vdev->nv_gpudirect_clique == 0xFF) { - return 0; + return true; } if (!vfio_pci_is(vdev, PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID)) { error_setg(errp, "NVIDIA GPUDirect Clique ID: invalid device vendor"); - return -EINVAL; + return false; } if (pci_get_byte(pdev->config + PCI_CLASS_DEVICE + 1) != PCI_BASE_CLASS_DISPLAY) { error_setg(errp, "NVIDIA GPUDirect Clique ID: unsupported PCI class"); - return -EINVAL; + return false; } /* @@ -1572,7 +1572,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) vdev->config_offset + PCI_CAPABILITY_LIST); if (ret != 1 || !is_valid_std_cap_offset(tmp)) { error_setg(errp, "NVIDIA GPUDirect Clique ID: error getting cap list"); - return -EINVAL; + return false; } do { @@ -1590,13 +1590,13 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) pos = 0xD4; } else { error_setg(errp, "NVIDIA GPUDirect Clique ID: invalid config space"); - return -EINVAL; + return false; } ret = pci_add_capability(pdev, PCI_CAP_ID_VNDR, pos, 8, errp); if (ret < 0) { error_prepend(errp, "Failed to add NVIDIA GPUDirect cap: "); - return ret; + return false; } memset(vdev->emulated_config_bits + pos, 0xFF, 8); @@ -1608,7 +1608,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) pci_set_byte(pdev->config + pos++, vdev->nv_gpudirect_clique << 3); pci_set_byte(pdev->config + pos, 0); - return 0; + return true; } /* @@ -1629,7 +1629,7 @@ static int vfio_add_nv_gpudirect_cap(VFIOPCIDevice *vdev, Error **errp) */ #define VMD_SHADOW_CAP_VER 1 #define VMD_SHADOW_CAP_LEN 24 -static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) +static bool vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) { ERRP_GUARD(); uint8_t membar_phys[16]; @@ -1639,7 +1639,7 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x467F) || vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x4C3D) || vfio_pci_is(vdev, PCI_VENDOR_ID_INTEL, 0x9A0B))) { - return 0; + return true; } ret = pread(vdev->vbasedev.fd, membar_phys, 16, @@ -1647,14 +1647,14 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) if (ret != 16) { error_report("VMD %s cannot read MEMBARs (%d)", vdev->vbasedev.name, ret); - return -EFAULT; + return false; } ret = pci_add_capability(&vdev->pdev, PCI_CAP_ID_VNDR, pos, VMD_SHADOW_CAP_LEN, errp); if (ret < 0) { error_prepend(errp, "Failed to add VMD MEMBAR Shadow cap: "); - return ret; + return false; } memset(vdev->emulated_config_bits + pos, 0xFF, VMD_SHADOW_CAP_LEN); @@ -1664,22 +1664,18 @@ static int vfio_add_vmd_shadow_cap(VFIOPCIDevice *vdev, Error **errp) pci_set_long(vdev->pdev.config + pos, 0x53484457); /* SHDW */ memcpy(vdev->pdev.config + pos + 4, membar_phys, 16); - return 0; + return true; } -int vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp) +bool vfio_add_virt_caps(VFIOPCIDevice *vdev, Error **errp) { - int ret; - - ret = vfio_add_nv_gpudirect_cap(vdev, errp); - if (ret) { - return ret; + if (!vfio_add_nv_gpudirect_cap(vdev, errp)) { + return false; } - ret = vfio_add_vmd_shadow_cap(vdev, errp); - if (ret) { - return ret; + if (!vfio_add_vmd_shadow_cap(vdev, errp)) { + return false; } - return 0; + return true; } diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 15823c359a..1254650d4a 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -2194,8 +2194,7 @@ static bool vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos, Error **errp) vdev->emulated_config_bits[PCI_CAPABILITY_LIST] = 0xff; vdev->emulated_config_bits[PCI_STATUS] |= PCI_STATUS_CAP_LIST; - ret = vfio_add_virt_caps(vdev, errp); - if (ret) { + if (!vfio_add_virt_caps(vdev, errp)) { return false; } }
This is to follow the coding standand in qapi/error.h to return bool for bool-valued functions. Include below functions: vfio_add_virt_caps() vfio_add_nv_gpudirect_cap() vfio_add_vmd_shadow_cap() Suggested-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- hw/vfio/pci.h | 2 +- hw/vfio/pci-quirks.c | 42 +++++++++++++++++++----------------------- hw/vfio/pci.c | 3 +-- 3 files changed, 21 insertions(+), 26 deletions(-)