Re: [PATCH V2 3/4] intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function

2022-04-22 Thread Peter Xu
On Mon, Mar 21, 2022 at 01:54:28PM +0800, Jason Wang wrote:
> We used to have a macro for VTD_PE_GET_FPD_ERR() but it has an
> internal goto which prevents it from being reused. This patch convert
> that macro to a dedicated function and let the caller to decide what
> to do (e.g using goto or not). This makes sure it can be re-used for
> other function that requires fault reporting.
> 
> Signed-off-by: Jason Wang 

Reviewed-by: Peter Xu 

-- 
Peter Xu




Re: [PATCH V2 3/4] intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function

2022-03-27 Thread Jason Wang
On Thu, Mar 24, 2022 at 4:27 PM Tian, Kevin  wrote:
>
> > From: Jason Wang
> > Sent: Monday, March 21, 2022 1:54 PM
> > @@ -1724,6 +1713,19 @@ out:
> >  trace_vtd_pt_enable_fast_path(source_id, success);
> >  }
> >
> > +static void vtd_qualify_report_fault(IntelIOMMUState *s,
> > + int err, bool is_fpd_set,
> > + uint16_t source_id,
> > + hwaddr addr,
> > + bool is_write)
>
> vtd_report_qualified_fault() is clearer.

Fine.

Thanks

>
> > +{
> > +if (is_fpd_set && vtd_is_qualified_fault(err)) {
> > +trace_vtd_fault_disabled();
> > +} else {
> > +vtd_report_dmar_fault(s, source_id, addr, err, is_write);
> > +}
> > +}
> > +
> >  /* Map dev to context-entry then do a paging-structures walk to do a iommu
> >   * translation.
> >   *
>




RE: [PATCH V2 3/4] intel-iommu: convert VTD_PE_GET_FPD_ERR() to be a function

2022-03-24 Thread Tian, Kevin
> From: Jason Wang
> Sent: Monday, March 21, 2022 1:54 PM
> @@ -1724,6 +1713,19 @@ out:
>  trace_vtd_pt_enable_fast_path(source_id, success);
>  }
> 
> +static void vtd_qualify_report_fault(IntelIOMMUState *s,
> + int err, bool is_fpd_set,
> + uint16_t source_id,
> + hwaddr addr,
> + bool is_write)

vtd_report_qualified_fault() is clearer.

> +{
> +if (is_fpd_set && vtd_is_qualified_fault(err)) {
> +trace_vtd_fault_disabled();
> +} else {
> +vtd_report_dmar_fault(s, source_id, addr, err, is_write);
> +}
> +}
> +
>  /* Map dev to context-entry then do a paging-structures walk to do a iommu
>   * translation.
>   *