diff mbox series

[16/16] vfio/pci-quirks: Make vfio_add_*_cap() return bool

Message ID 20240515082041.556571-17-zhenzhong.duan@intel.com (mailing list archive)
State New, archived
Headers show
Series VFIO: misc cleanups part2 | expand

Commit Message

Duan, Zhenzhong May 15, 2024, 8:20 a.m. UTC
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(-)

Comments

Cédric Le Goater May 21, 2024, 12:54 p.m. UTC | #1
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 mbox series

Patch

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;
         }
     }