Reviewed-by: Clement Mathieu--Drif <[email protected]>

On Sat, 2026-05-09 at 00:08 -0400, Zhenzhong Duan wrote:
> In previous patch we introduced a global macro IOMMU_NO_PASID(0) for  
> the RID attachment, this makes the local macro PASID_0 redundant.  
> Delete it and use IOMMU_NO_PASID instead.
> 
> No functional changes intended.
> 
> Suggested-by: Yi Liu <[[email protected]](mailto:[email protected])>  
> Signed-off-by: Zhenzhong Duan 
> <[[email protected]](mailto:[email protected])>  
> Tested-by: Xudong Hao <[[email protected]](mailto:[email protected])>  
> ---  
>  hw/i386/intel_iommu_internal.h |  1 -  
>  hw/i386/intel_iommu.c          | 22 +++++++++++-----------  
>  hw/i386/intel_iommu_accel.c    |  2 +-  
>  3 files changed, 12 insertions(+), 13 deletions(-)
> 
> diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h  
> index c7e107fe87..0141316f83 100644  
> --- a/hw/i386/intel_iommu_internal.h  
> +++ b/hw/i386/intel_iommu_internal.h  
> @@ -615,7 +615,6 @@ typedef struct VTDRootEntry VTDRootEntry;  
>  #define VTD_CTX_ENTRY_LEGACY_SIZE     16  
>  #define VTD_CTX_ENTRY_SCALABLE_SIZE   32  
>    
> -#define PASID_0                             0  
>  #define VTD_SM_CONTEXT_ENTRY_RSVD_VAL0(aw)  (0x1e0ULL | ~VTD_HAW_MASK(aw))  
>  #define VTD_SM_CONTEXT_ENTRY_RSVD_VAL1      0xffffffffffe00000ULL  
>  #define VTD_SM_CONTEXT_ENTRY_PRE            0x10ULL  
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c  
> index 36af13cee3..5e5dcdc274 100644  
> --- a/hw/i386/intel_iommu.c  
> +++ b/hw/i386/intel_iommu.c  
> @@ -941,7 +941,7 @@ int vtd_ce_get_pasid_entry(IntelIOMMUState *s, 
> VTDContextEntry *ce,  
>      dma_addr_t pasid_dir_base;  
>    
>      if (pasid == PCI_NO_PASID) {  
> -        pasid = PASID_0;  
> +        pasid = IOMMU_NO_PASID;  
>      }  
>      pasid_dir_base = VTD_CE_GET_PASID_DIR_TABLE(ce);  
>      return vtd_get_pe_from_pasid_table(s, pasid_dir_base, pasid, pe);  
> @@ -958,7 +958,7 @@ static int vtd_ce_get_pasid_fpd(IntelIOMMUState *s,  
>      VTDPASIDEntry pe;  
>    
>      if (pasid == PCI_NO_PASID) {  
> -        pasid = PASID_0;  
> +        pasid = IOMMU_NO_PASID;  
>      }  
>      pasid_dir_base = VTD_CE_GET_PASID_DIR_TABLE(ce);  
>    
> @@ -1501,9 +1501,9 @@ static int vtd_ce_pasid_0_check(IntelIOMMUState *s, 
> VTDContextEntry *ce)  
>    
>      /*  
>       * Make sure in Scalable Mode, a present context entry  
> -     * has valid pasid entry setting at PASID_0.  
> +     * has valid pasid entry setting at IOMMU_NO_PASID.  
>       */  
> -    return vtd_ce_get_pasid_entry(s, ce, &pe, PASID_0);  
> +    return vtd_ce_get_pasid_entry(s, ce, &pe, IOMMU_NO_PASID);  
>  }  
>    
>  /* Map a device to its corresponding domain (context-entry) */  
> @@ -1564,7 +1564,7 @@ int vtd_dev_to_context_entry(IntelIOMMUState *s, 
> uint8_t bus_num,  
>          }  
>      } else {  
>          /*  
> -         * Check if the programming of pasid setting of PASID_0  
> +         * Check if the programming of pasid setting of IOMMU_NO_PASID  
>           * is valid, and thus avoids to check pasid entry fetching  
>           * result in future helper function calling.  
>           */  
> @@ -2122,7 +2122,7 @@ static bool vtd_do_iommu_translate(VTDAddressSpace 
> *vtd_as, PCIBus *bus,  
>      vtd_iommu_lock(s);  
>    
>      if (pasid == PCI_NO_PASID && s->root_scalable) {  
> -        pasid = PASID_0;  
> +        pasid = IOMMU_NO_PASID;  
>      }  
>    
>      /* Try to fetch pte from IOTLB */  
> @@ -2487,7 +2487,7 @@ static void vtd_iotlb_domain_invalidate(IntelIOMMUState 
> *s, uint16_t domain_id)  
>  }  
>    
>  /*  
> - * There is no pasid field in iotlb invalidation descriptor, so PCI_NO_PASID 
>  
> + * There is no pasid field in iotlb invalidation descriptor, so 
> IOMMU_NO_PASID  
>   * is passed as parameter. Piotlb invalidation supports pasid, pasid in its  
>   * descriptor is passed which should not be PCI_NO_PASID.  
>   */  
> @@ -2508,10 +2508,10 @@ static void 
> vtd_iotlb_page_invalidate_notify(IntelIOMMUState *s,  
>               * In legacy mode, vtd_as->pasid == pasid is always true.  
>               * In scalable mode, for vtd address space backing a PCI  
>               * device without pasid, needs to compare pasid with  
> -             * PASID_0 of this device.  
> +             * IOMMU_NO_PASID of this device.  
>               */  
>              if (!(vtd_as->pasid == pasid ||  
> -                  (vtd_as->pasid == PCI_NO_PASID && pasid == PASID_0))) {  
> +                  (vtd_as->pasid == PCI_NO_PASID && pasid == 
> IOMMU_NO_PASID))) {  
>                  continue;  
>              }  
>    
> @@ -2563,7 +2563,7 @@ static void vtd_iotlb_page_invalidate(IntelIOMMUState 
> *s, uint16_t domain_id,  
>      vtd_iommu_lock(s);  
>      g_hash_table_foreach_remove(s->iotlb, vtd_hash_remove_by_page, &info);  
>      vtd_iommu_unlock(s);  
> -    vtd_iotlb_page_invalidate_notify(s, domain_id, addr, am, PCI_NO_PASID);  
> +    vtd_iotlb_page_invalidate_notify(s, domain_id, addr, am, 
> IOMMU_NO_PASID);  
>  }  
>    
>  /* Flush IOTLB  
> @@ -3022,7 +3022,7 @@ static void vtd_piotlb_pasid_invalidate(IntelIOMMUState 
> *s,  
>          if (!vtd_dev_to_context_entry(s, pci_bus_num(vtd_as->bus),  
>                                        vtd_as->devfn, &ce) &&  
>              domain_id == vtd_get_domain_id(s, &ce, vtd_as->pasid)) {  
> -            if ((vtd_as->pasid != PCI_NO_PASID || pasid != PASID_0) &&  
> +            if ((vtd_as->pasid != PCI_NO_PASID || pasid != IOMMU_NO_PASID) 
> &&  
>                  vtd_as->pasid != pasid) {  
>                  continue;  
>              }  
> diff --git a/hw/i386/intel_iommu_accel.c b/hw/i386/intel_iommu_accel.c  
> index bd1236c070..8940d240a1 100644  
> --- a/hw/i386/intel_iommu_accel.c  
> +++ b/hw/i386/intel_iommu_accel.c  
> @@ -217,7 +217,7 @@ static void vtd_flush_host_piotlb_locked(gpointer key, 
> gpointer value,  
>    
>      did = VTD_SM_PASID_ENTRY_DID(&pc_entry->pasid_entry);  
>    
> -    if (piotlb_info->domain_id == did && piotlb_info->pasid == PASID_0) {  
> +    if (piotlb_info->domain_id == did && piotlb_info->pasid == 
> IOMMU_NO_PASID) {  
>          HostIOMMUDeviceIOMMUFD *hiodi =  
>              HOST_IOMMU_DEVICE_IOMMUFD(vtd_hiod->hiod);  
>          uint32_t entry_num = 1; /* Only implement one request for simplicity 
> */

Reply via email to