Reviewed-by: Clément Mathieu--Drif<clement.mathieu--d...@eviden.com>
On 18/07/2024 10:16, Zhenzhong Duan wrote: > Caution: External email. Do not open attachments or click links, unless this > email comes from a known sender and you know the content is safe. > > > When guest configures Nested Translation(011b) or First-stage Translation only > (001b), type check passed unaccurately. > > Fails the type check in those cases as their simulation isn't supported yet. > > Fixes: fb43cf739e1 ("intel_iommu: scalable mode emulation") > Suggested-by: Yi Liu <yi.l....@intel.com> > Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com> > --- > hw/i386/intel_iommu.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c > index e65f5b29a5..1cff8b00ae 100644 > --- a/hw/i386/intel_iommu.c > +++ b/hw/i386/intel_iommu.c > @@ -759,20 +759,16 @@ static inline bool vtd_pe_type_check(X86IOMMUState > *x86_iommu, > VTDPASIDEntry *pe) > { > switch (VTD_PE_GET_TYPE(pe)) { > - case VTD_SM_PASID_ENTRY_FLT: > case VTD_SM_PASID_ENTRY_SLT: > - case VTD_SM_PASID_ENTRY_NESTED: > - break; > + return true; > case VTD_SM_PASID_ENTRY_PT: > - if (!x86_iommu->pt_supported) { > - return false; > - } > - break; > + return x86_iommu->pt_supported; > + case VTD_SM_PASID_ENTRY_FLT: > + case VTD_SM_PASID_ENTRY_NESTED: > default: > /* Unknown type */ > return false; > } > - return true; > } > > static inline bool vtd_pdire_present(VTDPASIDDirEntry *pdire) > -- > 2.34.1 >