From: Jason Gunthorpe <jgg@nvidia.com>
To: "Zhang, Tina" <tina.zhang@intel.com>
Cc: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>,
Lu Baolu <baolu.lu@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
Christoph Hellwig <hch@lst.de>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
Joao Martins <joao.m.martins@oracle.com>,
"Tian, Kevin" <kevin.tian@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Peter Xu <peterx@redhat.com>, Ryan Roberts <ryan.roberts@arm.com>,
Sean Christopherson <seanjc@google.com>
Subject: Re: [PATCH 16/16] iommupt: Add the Intel VT-D second stage page table format
Date: Mon, 19 Aug 2024 12:53:10 -0300 [thread overview]
Message-ID: <20240819155310.GB3094258@nvidia.com> (raw)
In-Reply-To: <MW5PR11MB588168AE58B215896793E83C898C2@MW5PR11MB5881.namprd11.prod.outlook.com>
On Mon, Aug 19, 2024 at 02:51:11AM +0000, Zhang, Tina wrote:
> > +/* Shared descriptor bits */
> > +enum {
> > + VTDSS_FMT_R = BIT(0),
> > + VTDSS_FMT_W = BIT(1),
> > + VTDSS_FMT_X = BIT(2),
>
> VT-d Spec doesn't have this BIT(2) defined.
It does:
Figure 9-8. Format for Second-Stage Paging Entries
Bit 2 = X^1
1. X field is ignored by hardware if Execute Request Support (ERS) is
reported as Clear in the Extended Capability Register or if SSEE=0 in
the scalable-mode PASID-table entry referencing the second-stage
paging entries.
> > +static struct io_pgtable_ops *
> > +vtdss_pt_iommu_alloc_io_pgtable(struct pt_iommu_vtdss_cfg *cfg,
> > + struct device *iommu_dev,
> > + struct io_pgtable_cfg **unused_pgtbl_cfg) {
> > + struct io_pgtable_cfg pgtbl_cfg = {};
> > +
> > + pgtbl_cfg.ias = 48;
> > + pgtbl_cfg.oas = 52;
>
> Since the alloca_io_pgtable_ops() is used for PT allocation, the
> pgtbl_cfg.ias and pgtbl_cfg.oas can be provided with the theoretical
> max address sizes or simply leave them unassigned here.
It doesn't work if they are unassigned. The map op returns EFAULT.
Thanks,
Jason
next prev parent reply other threads:[~2024-08-19 15:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-15 15:11 [PATCH 00/16] Consolidate iommu page table implementations Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 01/16] genpt: Generic Page Table base API Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 02/16] genpt: Add a specialized allocator for page table levels Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 03/16] iommupt: Add the basic structure of the iommu implementation Jason Gunthorpe
2024-08-16 17:58 ` Jeff Johnson
2024-08-15 15:11 ` [PATCH 04/16] iommupt: Add iova_to_phys op Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 05/16] iommupt: Add unmap_pages op Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 06/16] iommupt: Add map_pages op Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 07/16] iommupt: Add cut_mapping op Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 08/16] iommupt: Add read_and_clear_dirty op Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 09/16] iommupt: Add a kunit test for Generic Page Table and the IOMMU implementation Jason Gunthorpe
2024-08-16 17:55 ` Jeff Johnson
2024-08-19 14:16 ` Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 10/16] iommupt: Add a kunit test to compare against iopt Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 11/16] iommupt: Add the 64 bit ARMv8 page table format Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 12/16] iommupt: Add the AMD IOMMU v1 " Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 13/16] iommupt: Add the x86 PAE " Jason Gunthorpe
2024-08-16 19:21 ` Sean Christopherson
2024-08-17 0:36 ` Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 14/16] iommupt: Add the DART v1/v2 " Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 15/16] iommupt: Add the 32 bit ARMv7s " Jason Gunthorpe
2024-08-15 15:11 ` [PATCH 16/16] iommupt: Add the Intel VT-D second stage " Jason Gunthorpe
2024-08-19 2:51 ` Zhang, Tina
2024-08-19 15:53 ` Jason Gunthorpe [this message]
2024-08-20 8:22 ` Yi Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240819155310.GB3094258@nvidia.com \
--to=jgg@nvidia.com \
--cc=alejandro.j.jimenez@oracle.com \
--cc=baolu.lu@linux.intel.com \
--cc=david@redhat.com \
--cc=hch@lst.de \
--cc=iommu@lists.linux.dev \
--cc=joao.m.martins@oracle.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pasha.tatashin@soleen.com \
--cc=peterx@redhat.com \
--cc=ryan.roberts@arm.com \
--cc=seanjc@google.com \
--cc=tina.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.