[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/2] intel_iommu: Make PASID-cache and PIOTLB type invalid
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v3 2/2] intel_iommu: Make PASID-cache and PIOTLB type invalid in legacy mode |
Date: |
Wed, 14 Aug 2024 03:02:18 -0400 |
On Wed, Aug 14, 2024 at 03:05:33AM +0000, Duan, Zhenzhong wrote:
>
>
> >-----Original Message-----
> >From: Liu, Yi L <yi.l.liu@intel.com>
> >Subject: Re: [PATCH v3 2/2] intel_iommu: Make PASID-cache and PIOTLB
> >type invalid in legacy mode
> >
> >On 2024/8/14 10:26, Zhenzhong Duan wrote:
> >> In vtd_process_inv_desc(), VTD_INV_DESC_PC and VTD_INV_DESC_PIOTLB
> >are
> >> bypassed without scalable mode check. These two types are not valid
> >> in legacy mode and we should report error.
> >>
> >> Fixes: 4a4f219e8a1 ("intel_iommu: add scalable-mode option to make
> >scalable mode work")
> >
> >4a4f219e8a10 would be better. :)
>
> Ah, OK, Michael, let me know if you want me send a new version.
>
> Thanks
> Zhenzhong
Yes pls, also pls Cc me on the cover letter.
> >
> >> Suggested-by: Yi Liu <yi.l.liu@intel.com>
> >> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
> >> Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
> >> Reviewed-by: Yi Liu <yi.l.liu@intel.com>
> >> ---
> >> hw/i386/intel_iommu.c | 22 +++++++++++-----------
> >> 1 file changed, 11 insertions(+), 11 deletions(-)
> >>
> >> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> >> index 68cb72a481..90cd4e5044 100644
> >> --- a/hw/i386/intel_iommu.c
> >> +++ b/hw/i386/intel_iommu.c
> >> @@ -2763,17 +2763,6 @@ static bool
> >vtd_process_inv_desc(IntelIOMMUState *s)
> >> }
> >> break;
> >>
> >> - /*
> >> - * TODO: the entity of below two cases will be implemented in future
> >series.
> >> - * To make guest (which integrates scalable mode support patch set in
> >> - * iommu driver) work, just return true is enough so far.
> >> - */
> >> - case VTD_INV_DESC_PC:
> >> - break;
> >> -
> >> - case VTD_INV_DESC_PIOTLB:
> >> - break;
> >> -
> >> case VTD_INV_DESC_WAIT:
> >> trace_vtd_inv_desc("wait", inv_desc.hi, inv_desc.lo);
> >> if (!vtd_process_wait_desc(s, &inv_desc)) {
> >> @@ -2795,6 +2784,17 @@ static bool
> >vtd_process_inv_desc(IntelIOMMUState *s)
> >> }
> >> break;
> >>
> >> + /*
> >> + * TODO: the entity of below two cases will be implemented in future
> >series.
> >> + * To make guest (which integrates scalable mode support patch set in
> >> + * iommu driver) work, just return true is enough so far.
> >> + */
> >> + case VTD_INV_DESC_PC:
> >> + case VTD_INV_DESC_PIOTLB:
> >> + if (s->scalable_mode) {
> >> + break;
> >> + }
> >> + /* fallthrough */
> >> default:
> >> error_report_once("%s: invalid inv desc: hi=%"PRIx64",
> >> lo=%"PRIx64
> >> " (unknown type)", __func__, inv_desc.hi,
> >
> >--
> >Regards,
> >Yi Liu